1 /* Do not modify this file. */
2 /* It is created automatically by the ASN.1 to Ethereal dissector compiler */
4 /* ../../tools/asn2eth.py -X -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 * Ethereal - Network traffic analyzer
16 * By Gerald Combs <gerald@ethereal.com>
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>
45 #include "packet-ber.h"
46 #include "packet-acse.h"
47 #include "packet-ros.h"
48 #include "packet-rtse.h"
50 #include "packet-x509af.h"
51 #include "packet-x509ce.h"
52 #include "packet-x509if.h"
53 #include "packet-x509sat.h"
55 #include "packet-x411.h"
56 #include <epan/emem.h>
57 #include <epan/strutil.h>
59 #define PNAME "X.411 Message Transfer Service"
63 /* Initialize the protocol and registered fields */
66 static struct SESSION_DATA_STRUCTURE* session = NULL;
67 static int extension_id = -1; /* integer extension id */
68 static const char *object_identifier_id; /* extensions identifier */
69 static const char *content_type_id; /* content type identifier */
71 #define MAX_ORA_STR_LEN 256
72 static char *oraddress = NULL;
73 static gboolean doing_address=FALSE;
74 static proto_item *address_item;
76 static proto_tree *top_tree=NULL;
79 call_x411_oid_callback(char *base_oid, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
82 /*--- Included file: packet-x411-hf.c ---*/
83 #line 1 "packet-x411-hf.c"
84 static int hf_x411_MTABindArgument_PDU = -1; /* MTABindArgument */
85 static int hf_x411_MTABindResult_PDU = -1; /* MTABindResult */
86 static int hf_x411_MTABindError_PDU = -1; /* MTABindError */
87 static int hf_x411_MTS_APDU_PDU = -1; /* MTS_APDU */
88 static int hf_x411_InternalTraceInformation_PDU = -1; /* InternalTraceInformation */
89 static int hf_x411_TraceInformation_PDU = -1; /* TraceInformation */
90 static int hf_x411_ReportDeliveryArgument_PDU = -1; /* ReportDeliveryArgument */
91 static int hf_x411_ExtendedContentType_PDU = -1; /* ExtendedContentType */
92 static int hf_x411_ContentLength_PDU = -1; /* ContentLength */
93 static int hf_x411_RecipientReassignmentProhibited_PDU = -1; /* RecipientReassignmentProhibited */
94 static int hf_x411_MTSOriginatorRequestedAlternateRecipient_PDU = -1; /* MTSOriginatorRequestedAlternateRecipient */
95 static int hf_x411_DLExpansionProhibited_PDU = -1; /* DLExpansionProhibited */
96 static int hf_x411_ConversionWithLossProhibited_PDU = -1; /* ConversionWithLossProhibited */
97 static int hf_x411_LatestDeliveryTime_PDU = -1; /* LatestDeliveryTime */
98 static int hf_x411_RequestedDeliveryMethod_PDU = -1; /* RequestedDeliveryMethod */
99 static int hf_x411_PhysicalForwardingProhibited_PDU = -1; /* PhysicalForwardingProhibited */
100 static int hf_x411_PhysicalForwardingAddressRequest_PDU = -1; /* PhysicalForwardingAddressRequest */
101 static int hf_x411_PhysicalDeliveryModes_PDU = -1; /* PhysicalDeliveryModes */
102 static int hf_x411_RegisteredMailType_PDU = -1; /* RegisteredMailType */
103 static int hf_x411_RecipientNumberForAdvice_PDU = -1; /* RecipientNumberForAdvice */
104 static int hf_x411_PhysicalRenditionAttributes_PDU = -1; /* PhysicalRenditionAttributes */
105 static int hf_x411_OriginatorReturnAddress_PDU = -1; /* OriginatorReturnAddress */
106 static int hf_x411_PhysicalDeliveryReportRequest_PDU = -1; /* PhysicalDeliveryReportRequest */
107 static int hf_x411_OriginatorCertificate_PDU = -1; /* OriginatorCertificate */
108 static int hf_x411_ContentConfidentialityAlgorithmIdentifier_PDU = -1; /* ContentConfidentialityAlgorithmIdentifier */
109 static int hf_x411_ContentIntegrityCheck_PDU = -1; /* ContentIntegrityCheck */
110 static int hf_x411_MessageOriginAuthenticationCheck_PDU = -1; /* MessageOriginAuthenticationCheck */
111 static int hf_x411_MessageSecurityLabel_PDU = -1; /* MessageSecurityLabel */
112 static int hf_x411_ProofOfSubmissionRequest_PDU = -1; /* ProofOfSubmissionRequest */
113 static int hf_x411_ProofOfDeliveryRequest_PDU = -1; /* ProofOfDeliveryRequest */
114 static int hf_x411_ContentCorrelator_PDU = -1; /* ContentCorrelator */
115 static int hf_x411_ProbeOriginAuthenticationCheck_PDU = -1; /* ProbeOriginAuthenticationCheck */
116 static int hf_x411_RedirectionHistory_PDU = -1; /* RedirectionHistory */
117 static int hf_x411_DLExpansionHistory_PDU = -1; /* DLExpansionHistory */
118 static int hf_x411_PhysicalForwardingAddress_PDU = -1; /* PhysicalForwardingAddress */
119 static int hf_x411_OriginatorAndDLExpansionHistory_PDU = -1; /* OriginatorAndDLExpansionHistory */
120 static int hf_x411_ReportingDLName_PDU = -1; /* ReportingDLName */
121 static int hf_x411_ReportingMTACertificate_PDU = -1; /* ReportingMTACertificate */
122 static int hf_x411_ReportOriginAuthenticationCheck_PDU = -1; /* ReportOriginAuthenticationCheck */
123 static int hf_x411_ProofOfSubmission_PDU = -1; /* ProofOfSubmission */
124 static int hf_x411_ReportingMTAName_PDU = -1; /* ReportingMTAName */
125 static int hf_x411_ExtendedCertificates_PDU = -1; /* ExtendedCertificates */
126 static int hf_x411_DLExemptedRecipients_PDU = -1; /* DLExemptedRecipients */
127 static int hf_x411_CertificateSelectors_PDU = -1; /* CertificateSelectors */
128 static int hf_x411_ORName_PDU = -1; /* ORName */
129 static int hf_x411_ORAddress_PDU = -1; /* ORAddress */
130 static int hf_x411_CommonName_PDU = -1; /* CommonName */
131 static int hf_x411_TeletexCommonName_PDU = -1; /* TeletexCommonName */
132 static int hf_x411_UniversalCommonName_PDU = -1; /* UniversalCommonName */
133 static int hf_x411_TeletexOrganizationName_PDU = -1; /* TeletexOrganizationName */
134 static int hf_x411_UniversalOrganizationName_PDU = -1; /* UniversalOrganizationName */
135 static int hf_x411_TeletexPersonalName_PDU = -1; /* TeletexPersonalName */
136 static int hf_x411_UniversalPersonalName_PDU = -1; /* UniversalPersonalName */
137 static int hf_x411_TeletexOrganizationalUnitNames_PDU = -1; /* TeletexOrganizationalUnitNames */
138 static int hf_x411_UniversalOrganizationalUnitNames_PDU = -1; /* UniversalOrganizationalUnitNames */
139 static int hf_x411_PDSName_PDU = -1; /* PDSName */
140 static int hf_x411_PhysicalDeliveryCountryName_PDU = -1; /* PhysicalDeliveryCountryName */
141 static int hf_x411_PostalCode_PDU = -1; /* PostalCode */
142 static int hf_x411_PhysicalDeliveryOfficeName_PDU = -1; /* PhysicalDeliveryOfficeName */
143 static int hf_x411_ExtendedEncodedInformationType_PDU = -1; /* ExtendedEncodedInformationType */
144 static int hf_x411_unauthenticated = -1; /* NULL */
145 static int hf_x411_authenticated_argument = -1; /* AuthenticatedArgument */
146 static int hf_x411_authenticated_initiator_name = -1; /* MTAName */
147 static int hf_x411_initiator_credentials = -1; /* InitiatorCredentials */
148 static int hf_x411_security_context = -1; /* SecurityContext */
149 static int hf_x411_authenticated_result = -1; /* AuthenticatedResult */
150 static int hf_x411_authenticated_responder_name = -1; /* MTAName */
151 static int hf_x411_responder_credentials = -1; /* ResponderCredentials */
152 static int hf_x411_message = -1; /* Message */
153 static int hf_x411_probe = -1; /* Probe */
154 static int hf_x411_report = -1; /* Report */
155 static int hf_x411_message_envelope = -1; /* MessageTransferEnvelope */
156 static int hf_x411_content = -1; /* Content */
157 static int hf_x411_report_envelope = -1; /* ReportTransferEnvelope */
158 static int hf_x411_report_content = -1; /* ReportTransferContent */
159 static int hf_x411_message_identifier = -1; /* MessageIdentifier */
160 static int hf_x411_mta_originator_name = -1; /* MTAOriginatorName */
161 static int hf_x411_original_encoded_information_types = -1; /* OriginalEncodedInformationTypes */
162 static int hf_x411_content_type = -1; /* ContentType */
163 static int hf_x411_content_identifier = -1; /* ContentIdentifier */
164 static int hf_x411_priority = -1; /* Priority */
165 static int hf_x411_per_message_indicators = -1; /* PerMessageIndicators */
166 static int hf_x411_deferred_delivery_time = -1; /* DeferredDeliveryTime */
167 static int hf_x411_per_domain_bilateral_information = -1; /* SEQUENCE_OF_PerDomainBilateralInformation */
168 static int hf_x411_per_domain_bilateral_information_item = -1; /* PerDomainBilateralInformation */
169 static int hf_x411_trace_information = -1; /* TraceInformation */
170 static int hf_x411_extensions = -1; /* SET_OF_ExtensionField */
171 static int hf_x411_extensions_item = -1; /* ExtensionField */
172 static int hf_x411_per_recipient_message_fields = -1; /* SEQUENCE_OF_PerRecipientMessageTransferFields */
173 static int hf_x411_per_recipient_message_fields_item = -1; /* PerRecipientMessageTransferFields */
174 static int hf_x411_recipient_name = -1; /* MTARecipientName */
175 static int hf_x411_originally_specified_recipient_number = -1; /* OriginallySpecifiedRecipientNumber */
176 static int hf_x411_per_recipient_indicators = -1; /* PerRecipientIndicators */
177 static int hf_x411_explicit_conversion = -1; /* ExplicitConversion */
178 static int hf_x411_probe_identifier = -1; /* ProbeIdentifier */
179 static int hf_x411_content_length = -1; /* ContentLength */
180 static int hf_x411_per_recipient_probe_transfer_fields = -1; /* SEQUENCE_OF_PerRecipientProbeTransferFields */
181 static int hf_x411_per_recipient_probe_transfer_fields_item = -1; /* PerRecipientProbeTransferFields */
182 static int hf_x411_report_identifier = -1; /* ReportIdentifier */
183 static int hf_x411_report_destination_name = -1; /* ReportDestinationName */
184 static int hf_x411_subject_identifier = -1; /* SubjectIdentifier */
185 static int hf_x411_subject_intermediate_trace_information = -1; /* SubjectIntermediateTraceInformation */
186 static int hf_x411_returned_content = -1; /* Content */
187 static int hf_x411_additional_information = -1; /* AdditionalInformation */
188 static int hf_x411_per_recipient_report_fields = -1; /* SEQUENCE_OF_PerRecipientReportTransferFields */
189 static int hf_x411_per_recipient_fields_item = -1; /* PerRecipientReportTransferFields */
190 static int hf_x411_mta_actual_recipient_name = -1; /* MTAActualRecipientName */
191 static int hf_x411_last_trace_information = -1; /* LastTraceInformation */
192 static int hf_x411_report_originally_intended_recipient_name = -1; /* MTAOriginallyIntendedRecipientName */
193 static int hf_x411_supplementary_information = -1; /* SupplementaryInformation */
194 static int hf_x411_country_name = -1; /* CountryName */
195 static int hf_x411_bilateral_domain = -1; /* T_domain */
196 static int hf_x411_administration_domain_name = -1; /* AdministrationDomainName */
197 static int hf_x411_private_domain = -1; /* T_private_domain */
198 static int hf_x411_private_domain_identifier = -1; /* PrivateDomainIdentifier */
199 static int hf_x411_arrival_time = -1; /* ArrivalTime */
200 static int hf_x411_converted_encoded_information_types = -1; /* ConvertedEncodedInformationTypes */
201 static int hf_x411_trace_report_type = -1; /* ReportType */
202 static int hf_x411_InternalTraceInformation_item = -1; /* InternalTraceInformationElement */
203 static int hf_x411_global_domain_identifier = -1; /* GlobalDomainIdentifier */
204 static int hf_x411_mta_name = -1; /* MTAName */
205 static int hf_x411_mta_supplied_information = -1; /* MTASuppliedInformation */
206 static int hf_x411_routing_action = -1; /* RoutingAction */
207 static int hf_x411_attempted = -1; /* T_attempted */
208 static int hf_x411_mta = -1; /* MTAName */
209 static int hf_x411_domain = -1; /* GlobalDomainIdentifier */
210 static int hf_x411_deferred_time = -1; /* DeferredTime */
211 static int hf_x411_other_actions = -1; /* OtherActions */
212 static int hf_x411_TraceInformation_item = -1; /* TraceInformationElement */
213 static int hf_x411_domain_supplied_information = -1; /* DomainSuppliedInformation */
214 static int hf_x411_attempted_domain = -1; /* GlobalDomainIdentifier */
215 static int hf_x411_initiator_name = -1; /* ObjectName */
216 static int hf_x411_messages_waiting = -1; /* MessagesWaiting */
217 static int hf_x411_responder_name = -1; /* ObjectName */
218 static int hf_x411_user_agent = -1; /* ORAddressAndOptionalDirectoryName */
219 static int hf_x411_mTA = -1; /* MTAName */
220 static int hf_x411_message_store = -1; /* ORAddressAndOptionalDirectoryName */
221 static int hf_x411_urgent = -1; /* DeliveryQueue */
222 static int hf_x411_normal = -1; /* DeliveryQueue */
223 static int hf_x411_non_urgent = -1; /* DeliveryQueue */
224 static int hf_x411_messages = -1; /* INTEGER */
225 static int hf_x411_delivery_queue_octets = -1; /* INTEGER */
226 static int hf_x411_simple = -1; /* Password */
227 static int hf_x411_protected = -1; /* ProtectedPassword */
228 static int hf_x411_ia5_string = -1; /* IA5String */
229 static int hf_x411_octet_string = -1; /* OCTET_STRING */
230 static int hf_x411_signature = -1; /* Signature */
231 static int hf_x411_time1 = -1; /* UTCTime */
232 static int hf_x411_time2 = -1; /* UTCTime */
233 static int hf_x411_random1 = -1; /* BIT_STRING */
234 static int hf_x411_random2 = -1; /* BIT_STRING */
235 static int hf_x411_algorithmIdentifier = -1; /* AlgorithmIdentifier */
236 static int hf_x411_encrypted = -1; /* BIT_STRING */
237 static int hf_x411_SecurityContext_item = -1; /* SecurityLabel */
238 static int hf_x411_message_submission_envelope = -1; /* MessageSubmissionEnvelope */
239 static int hf_x411_message_submission_identifier = -1; /* MessageSubmissionIdentifier */
240 static int hf_x411_message_submission_time = -1; /* MessageSubmissionTime */
241 static int hf_x411_probe_submission_identifier = -1; /* ProbeSubmissionIdentifier */
242 static int hf_x411_probe_submission_time = -1; /* ProbeSubmissionTime */
243 static int hf_x411_ImproperlySpecifiedRecipients_item = -1; /* MTSRecipientName */
244 static int hf_x411_waiting_operations = -1; /* Operations */
245 static int hf_x411_waiting_messages = -1; /* WaitingMessages */
246 static int hf_x411_waiting_content_types = -1; /* SET_OF_ContentType */
247 static int hf_x411_waiting_content_types_item = -1; /* ContentType */
248 static int hf_x411_waiting_encoded_information_types = -1; /* EncodedInformationTypes */
249 static int hf_x411_message_delivery_identifier = -1; /* MessageDeliveryIdentifier */
250 static int hf_x411_message_delivery_time = -1; /* MessageDeliveryTime */
251 static int hf_x411_other_fields = -1; /* OtherMessageDeliveryFields */
252 static int hf_x411_recipient_certificate = -1; /* RecipientCertificate */
253 static int hf_x411_proof_of_delivery = -1; /* ProofOfDelivery */
254 static int hf_x411_subject_submission_identifier = -1; /* SubjectSubmissionIdentifier */
255 static int hf_x411_per_recipient_report_delivery_fields = -1; /* SEQUENCE_OF_PerRecipientReportDeliveryFields */
256 static int hf_x411_per_recipient_report_delivery_fields_item = -1; /* PerRecipientReportDeliveryFields */
257 static int hf_x411_empty_result = -1; /* NULL */
258 static int hf_x411_restrict = -1; /* BOOLEAN */
259 static int hf_x411_permissible_operations = -1; /* Operations */
260 static int hf_x411_permissible_maximum_content_length = -1; /* ContentLength */
261 static int hf_x411_permissible_lowest_priority = -1; /* Priority */
262 static int hf_x411_permissible_content_types = -1; /* ContentTypes */
263 static int hf_x411_permissible_encoded_information_types = -1; /* PermissibleEncodedInformationTypes */
264 static int hf_x411_permissible_security_context = -1; /* SecurityContext */
265 static int hf_x411_refused_argument = -1; /* T_refused_argument */
266 static int hf_x411_built_in_argument = -1; /* RefusedArgument */
267 static int hf_x411_refused_extension = -1; /* T_refused_extension */
268 static int hf_x411_refusal_reason = -1; /* RefusalReason */
269 static int hf_x411_user_name = -1; /* UserName */
270 static int hf_x411_user_address = -1; /* UserAddress */
271 static int hf_x411_deliverable_class = -1; /* SET_OF_DeliverableClass */
272 static int hf_x411_deliverable_class_item = -1; /* DeliverableClass */
273 static int hf_x411_default_delivery_controls = -1; /* DefaultDeliveryControls */
274 static int hf_x411_redirections = -1; /* Redirections */
275 static int hf_x411_restricted_delivery = -1; /* RestrictedDelivery */
276 static int hf_x411_retrieve_registrations = -1; /* RegistrationTypes */
277 static int hf_x411_non_empty_result = -1; /* T_non_empty_result */
278 static int hf_x411_registered_information = -1; /* RegisterArgument */
279 static int hf_x411_old_credentials = -1; /* Credentials */
280 static int hf_x411_new_credentials = -1; /* Credentials */
281 static int hf_x411_x121 = -1; /* T_x121 */
282 static int hf_x411_x121_address = -1; /* NumericString */
283 static int hf_x411_tsap_id = -1; /* PrintableString */
284 static int hf_x411_presentation = -1; /* PSAPAddress */
285 static int hf_x411_Redirections_item = -1; /* RecipientRedirection */
286 static int hf_x411_redirection_classes = -1; /* SET_OF_RedirectionClass */
287 static int hf_x411_redirection_classes_item = -1; /* RedirectionClass */
288 static int hf_x411_recipient_assigned_alternate_recipient = -1; /* RecipientAssignedAlternateRecipient */
289 static int hf_x411_content_types = -1; /* ContentTypes */
290 static int hf_x411_maximum_content_length = -1; /* ContentLength */
291 static int hf_x411_encoded_information_types_constraints = -1; /* EncodedInformationTypesConstraints */
292 static int hf_x411_security_labels = -1; /* SecurityContext */
293 static int hf_x411_class_priority = -1; /* SET_OF_Priority */
294 static int hf_x411_priority_item = -1; /* Priority */
295 static int hf_x411_objects = -1; /* T_objects */
296 static int hf_x411_applies_only_to = -1; /* SEQUENCE_OF_Restriction */
297 static int hf_x411_applies_only_to_item = -1; /* Restriction */
298 static int hf_x411_unacceptable_eits = -1; /* ExtendedEncodedInformationTypes */
299 static int hf_x411_acceptable_eits = -1; /* ExtendedEncodedInformationTypes */
300 static int hf_x411_exclusively_acceptable_eits = -1; /* ExtendedEncodedInformationTypes */
301 static int hf_x411_RestrictedDelivery_item = -1; /* Restriction */
302 static int hf_x411_permitted = -1; /* BOOLEAN */
303 static int hf_x411_source_type = -1; /* T_source_type */
304 static int hf_x411_source_name = -1; /* ExactOrPattern */
305 static int hf_x411_exact_match = -1; /* ORName */
306 static int hf_x411_pattern_match = -1; /* ORName */
307 static int hf_x411_standard_parameters = -1; /* T_standard_parameters */
308 static int hf_x411_type_extensions = -1; /* T_extensions */
309 static int hf_x411_type_extensions_item = -1; /* T_extensions_item */
310 static int hf_x411_mts_originator_name = -1; /* MTSOriginatorName */
311 static int hf_x411_per_recipient_message_submission_fields = -1; /* SEQUENCE_OF_PerRecipientMessageSubmissionFields */
312 static int hf_x411_per_recipient_message_submission_fields_item = -1; /* PerRecipientMessageSubmissionFields */
313 static int hf_x411_submission_recipient_name = -1; /* MTSRecipientName */
314 static int hf_x411_originator_report_request = -1; /* OriginatorReportRequest */
315 static int hf_x411_per_recipient_probe_submission_fields = -1; /* SEQUENCE_OF_PerRecipientProbeSubmissionFields */
316 static int hf_x411_per_recipient_probe_submission_fields_item = -1; /* PerRecipientProbeSubmissionFields */
317 static int hf_x411_probe_recipient_name = -1; /* MTSRecipientName */
318 static int hf_x411_delivered_content_type = -1; /* DeliveredContentType */
319 static int hf_x411_originator_name = -1; /* DeliveredOriginatorName */
320 static int hf_x411_delivery_flags = -1; /* DeliveryFlags */
321 static int hf_x411_other_recipient_names = -1; /* OtherRecipientNames */
322 static int hf_x411_this_recipient_name = -1; /* ThisRecipientName */
323 static int hf_x411_originally_intended_recipient_name = -1; /* MTSOriginallyIntendedRecipientName */
324 static int hf_x411_actual_recipient_name = -1; /* MTSActualRecipientName */
325 static int hf_x411_delivery_report_type = -1; /* ReportType */
326 static int hf_x411_delivery = -1; /* DeliveryReport */
327 static int hf_x411_non_delivery = -1; /* NonDeliveryReport */
328 static int hf_x411_type_of_MTS_user = -1; /* TypeOfMTSUser */
329 static int hf_x411_non_delivery_reason_code = -1; /* NonDeliveryReasonCode */
330 static int hf_x411_non_delivery_diagnostic_code = -1; /* NonDeliveryDiagnosticCode */
331 static int hf_x411_ContentTypes_item = -1; /* ContentType */
332 static int hf_x411_built_in = -1; /* BuiltInContentType */
333 static int hf_x411_extended = -1; /* ExtendedContentType */
334 static int hf_x411_OtherRecipientNames_item = -1; /* OtherRecipientName */
335 static int hf_x411_standard_extension = -1; /* INTEGER */
336 static int hf_x411_private_extension = -1; /* OBJECT_IDENTIFIER */
337 static int hf_x411_extension_type = -1; /* ExtensionType */
338 static int hf_x411_criticality = -1; /* Criticality */
339 static int hf_x411_extension_value = -1; /* ExtensionValue */
340 static int hf_x411_RequestedDeliveryMethod_item = -1; /* RequestedDeliveryMethod_item */
341 static int hf_x411_ia5text = -1; /* IA5String */
342 static int hf_x411_octets = -1; /* OCTET_STRING */
343 static int hf_x411_RedirectionHistory_item = -1; /* Redirection */
344 static int hf_x411_intended_recipient_name = -1; /* IntendedRecipientName */
345 static int hf_x411_redirection_reason = -1; /* RedirectionReason */
346 static int hf_x411_intended_recipient = -1; /* ORAddressAndOptionalDirectoryName */
347 static int hf_x411_redirection_time = -1; /* Time */
348 static int hf_x411_DLExpansionHistory_item = -1; /* DLExpansion */
349 static int hf_x411_dl = -1; /* ORAddressAndOptionalDirectoryName */
350 static int hf_x411_dl_expansion_time = -1; /* Time */
351 static int hf_x411_OriginatorAndDLExpansionHistory_item = -1; /* OriginatorAndDLExpansion */
352 static int hf_x411_originator_or_dl_name = -1; /* ORAddressAndOptionalDirectoryName */
353 static int hf_x411_origination_or_expansion_time = -1; /* Time */
354 static int hf_x411_report_type = -1; /* T_report_type */
355 static int hf_x411_report_type_delivery = -1; /* PerRecipientDeliveryReportFields */
356 static int hf_x411_non_delivery_report = -1; /* PerRecipientNonDeliveryReportFields */
357 static int hf_x411_mta_directory_name = -1; /* Name */
358 static int hf_x411_ExtendedCertificates_item = -1; /* ExtendedCertificate */
359 static int hf_x411_directory_entry = -1; /* Name */
360 static int hf_x411_certificate = -1; /* Certificates */
361 static int hf_x411_DLExemptedRecipients_item = -1; /* ORAddressAndOrDirectoryName */
362 static int hf_x411_encryption_recipient = -1; /* CertificateAssertion */
363 static int hf_x411_encryption_originator = -1; /* CertificateAssertion */
364 static int hf_x411_content_integrity_check = -1; /* CertificateAssertion */
365 static int hf_x411_token_signature = -1; /* CertificateAssertion */
366 static int hf_x411_message_origin_authentication = -1; /* CertificateAssertion */
367 static int hf_x411_local_identifier = -1; /* LocalIdentifier */
368 static int hf_x411_numeric = -1; /* NumericString */
369 static int hf_x411_printable = -1; /* PrintableString */
370 static int hf_x411_built_in_standard_attributes = -1; /* BuiltInStandardAttributes */
371 static int hf_x411_built_in_domain_defined_attributes = -1; /* BuiltInDomainDefinedAttributes */
372 static int hf_x411_extension_attributes = -1; /* ExtensionAttributes */
373 static int hf_x411_directory_name = -1; /* Name */
374 static int hf_x411_network_address = -1; /* NetworkAddress */
375 static int hf_x411_terminal_identifier = -1; /* TerminalIdentifier */
376 static int hf_x411_private_domain_name = -1; /* PrivateDomainName */
377 static int hf_x411_organization_name = -1; /* OrganizationName */
378 static int hf_x411_numeric_user_identifier = -1; /* NumericUserIdentifier */
379 static int hf_x411_personal_name = -1; /* PersonalName */
380 static int hf_x411_organizational_unit_names = -1; /* OrganizationalUnitNames */
381 static int hf_x411_x121_dcc_code = -1; /* NumericString */
382 static int hf_x411_iso_3166_alpha2_code = -1; /* PrintableString */
383 static int hf_x411_printable_surname = -1; /* PrintableString */
384 static int hf_x411_printable_given_name = -1; /* PrintableString */
385 static int hf_x411_printable_initials = -1; /* PrintableString */
386 static int hf_x411_printable_generation_qualifier = -1; /* PrintableString */
387 static int hf_x411_OrganizationalUnitNames_item = -1; /* OrganizationalUnitName */
388 static int hf_x411_BuiltInDomainDefinedAttributes_item = -1; /* BuiltInDomainDefinedAttribute */
389 static int hf_x411_printable_type = -1; /* PrintableString */
390 static int hf_x411_printable_value = -1; /* PrintableString */
391 static int hf_x411_ExtensionAttributes_item = -1; /* ExtensionAttribute */
392 static int hf_x411_extension_attribute_type = -1; /* INTEGER */
393 static int hf_x411_extension_attribute_value = -1; /* T_extension_attribute_value */
394 static int hf_x411_teletex_surname = -1; /* TeletexString */
395 static int hf_x411_teletex_given_name = -1; /* TeletexString */
396 static int hf_x411_teletex_initials = -1; /* TeletexString */
397 static int hf_x411_teletex_generation_qualifier = -1; /* TeletexString */
398 static int hf_x411_universal_surname = -1; /* UniversalOrBMPString */
399 static int hf_x411_universal_given_name = -1; /* UniversalOrBMPString */
400 static int hf_x411_universal_initials = -1; /* UniversalOrBMPString */
401 static int hf_x411_universal_generation_qualifier = -1; /* UniversalOrBMPString */
402 static int hf_x411_TeletexOrganizationalUnitNames_item = -1; /* TeletexOrganizationalUnitName */
403 static int hf_x411_UniversalOrganizationalUnitNames_item = -1; /* UniversalOrganizationalUnitName */
404 static int hf_x411_character_encoding = -1; /* T_character_encoding */
405 static int hf_x411_two_octets = -1; /* BMPString */
406 static int hf_x411_four_octets = -1; /* UniversalString */
407 static int hf_x411_iso_639_language_code = -1; /* PrintableString */
408 static int hf_x411_numeric_code = -1; /* NumericString */
409 static int hf_x411_printable_code = -1; /* PrintableString */
410 static int hf_x411_printable_address = -1; /* T_printable_address */
411 static int hf_x411_printable_address_item = -1; /* PrintableString */
412 static int hf_x411_teletex_string = -1; /* TeletexString */
413 static int hf_x411_printable_string = -1; /* PrintableString */
414 static int hf_x411_e163_4_address = -1; /* T_e163_4_address */
415 static int hf_x411_number = -1; /* NumericString */
416 static int hf_x411_sub_address = -1; /* NumericString */
417 static int hf_x411_psap_address = -1; /* PresentationAddress */
418 static int hf_x411_TeletexDomainDefinedAttributes_item = -1; /* TeletexDomainDefinedAttribute */
419 static int hf_x411_type = -1; /* TeletexString */
420 static int hf_x411_teletex_value = -1; /* TeletexString */
421 static int hf_x411_UniversalDomainDefinedAttributes_item = -1; /* UniversalDomainDefinedAttribute */
422 static int hf_x411_universal_type = -1; /* UniversalOrBMPString */
423 static int hf_x411_universal_value = -1; /* UniversalOrBMPString */
424 static int hf_x411_built_in_encoded_information_types = -1; /* BuiltInEncodedInformationTypes */
425 static int hf_x411_g3_facsimile = -1; /* G3FacsimileNonBasicParameters */
426 static int hf_x411_teletex = -1; /* TeletexNonBasicParameters */
427 static int hf_x411_extended_encoded_information_types = -1; /* ExtendedEncodedInformationTypes */
428 static int hf_x411_ExtendedEncodedInformationTypes_item = -1; /* ExtendedEncodedInformationType */
429 static int hf_x411_graphic_character_sets = -1; /* TeletexString */
430 static int hf_x411_control_character_sets = -1; /* TeletexString */
431 static int hf_x411_page_formats = -1; /* OCTET_STRING */
432 static int hf_x411_miscellaneous_terminal_capabilities = -1; /* TeletexString */
433 static int hf_x411_private_use = -1; /* OCTET_STRING */
434 static int hf_x411_security_policy_identifier = -1; /* SecurityPolicyIdentifier */
435 static int hf_x411_security_classification = -1; /* SecurityClassification */
436 static int hf_x411_privacy_mark = -1; /* PrivacyMark */
437 static int hf_x411_security_categories = -1; /* SecurityCategories */
438 static int hf_x411_SecurityCategories_item = -1; /* SecurityCategory */
439 static int hf_x411_category_type = -1; /* OBJECT_IDENTIFIER */
440 static int hf_x411_category_value = -1; /* CategoryValue */
442 static int hf_x411_PerRecipientIndicators_responsibility = -1;
443 static int hf_x411_PerRecipientIndicators_originating_MTA_report = -1;
444 static int hf_x411_PerRecipientIndicators_originating_MTA_non_delivery_report = -1;
445 static int hf_x411_PerRecipientIndicators_originator_report = -1;
446 static int hf_x411_PerRecipientIndicators_originator_non_delivery_report = -1;
447 static int hf_x411_PerRecipientIndicators_reserved_5 = -1;
448 static int hf_x411_PerRecipientIndicators_reserved_6 = -1;
449 static int hf_x411_PerRecipientIndicators_reserved_7 = -1;
450 static int hf_x411_OtherActions_redirected = -1;
451 static int hf_x411_OtherActions_dl_operation = -1;
452 static int hf_x411_Operations_probe_submission_or_report_delivery = -1;
453 static int hf_x411_Operations_message_submission_or_message_delivery = -1;
454 static int hf_x411_WaitingMessages_long_content = -1;
455 static int hf_x411_WaitingMessages_low_priority = -1;
456 static int hf_x411_WaitingMessages_other_security_labels = -1;
457 static int hf_x411_T_source_type_originated_by = -1;
458 static int hf_x411_T_source_type_redirected_by = -1;
459 static int hf_x411_T_source_type_dl_expanded_by = -1;
460 static int hf_x411_T_standard_parameters_user_name = -1;
461 static int hf_x411_T_standard_parameters_user_address = -1;
462 static int hf_x411_T_standard_parameters_deliverable_class = -1;
463 static int hf_x411_T_standard_parameters_default_delivery_controls = -1;
464 static int hf_x411_T_standard_parameters_redirections = -1;
465 static int hf_x411_T_standard_parameters_restricted_delivery = -1;
466 static int hf_x411_PerMessageIndicators_disclosure_of_other_recipients = -1;
467 static int hf_x411_PerMessageIndicators_implicit_conversion_prohibited = -1;
468 static int hf_x411_PerMessageIndicators_alternate_recipient_allowed = -1;
469 static int hf_x411_PerMessageIndicators_content_return_request = -1;
470 static int hf_x411_PerMessageIndicators_reserved = -1;
471 static int hf_x411_PerMessageIndicators_bit_5 = -1;
472 static int hf_x411_PerMessageIndicators_bit_6 = -1;
473 static int hf_x411_PerMessageIndicators_service_message = -1;
474 static int hf_x411_OriginatorReportRequest_report = -1;
475 static int hf_x411_OriginatorReportRequest_non_delivery_report = -1;
476 static int hf_x411_DeliveryFlags_implicit_conversion_prohibited = -1;
477 static int hf_x411_Criticality_for_submission = -1;
478 static int hf_x411_Criticality_for_transfer = -1;
479 static int hf_x411_Criticality_for_delivery = -1;
480 static int hf_x411_PhysicalDeliveryModes_ordinary_mail = -1;
481 static int hf_x411_PhysicalDeliveryModes_special_delivery = -1;
482 static int hf_x411_PhysicalDeliveryModes_express_mail = -1;
483 static int hf_x411_PhysicalDeliveryModes_counter_collection = -1;
484 static int hf_x411_PhysicalDeliveryModes_counter_collection_with_telephone_advice = -1;
485 static int hf_x411_PhysicalDeliveryModes_counter_collection_with_telex_advice = -1;
486 static int hf_x411_PhysicalDeliveryModes_counter_collection_with_teletex_advice = -1;
487 static int hf_x411_PhysicalDeliveryModes_bureau_fax_delivery = -1;
488 static int hf_x411_BuiltInEncodedInformationTypes_unknown = -1;
489 static int hf_x411_BuiltInEncodedInformationTypes_ia5_text = -1;
490 static int hf_x411_BuiltInEncodedInformationTypes_g3_facsimile = -1;
491 static int hf_x411_BuiltInEncodedInformationTypes_g4_class_1 = -1;
492 static int hf_x411_BuiltInEncodedInformationTypes_teletex = -1;
493 static int hf_x411_BuiltInEncodedInformationTypes_videotex = -1;
494 static int hf_x411_BuiltInEncodedInformationTypes_voice = -1;
495 static int hf_x411_BuiltInEncodedInformationTypes_sfd = -1;
496 static int hf_x411_BuiltInEncodedInformationTypes_mixed_mode = -1;
497 static int hf_x411_G3FacsimileNonBasicParameters_two_dimensional = -1;
498 static int hf_x411_G3FacsimileNonBasicParameters_fine_resolution = -1;
499 static int hf_x411_G3FacsimileNonBasicParameters_unlimited_length = -1;
500 static int hf_x411_G3FacsimileNonBasicParameters_b4_length = -1;
501 static int hf_x411_G3FacsimileNonBasicParameters_a3_width = -1;
502 static int hf_x411_G3FacsimileNonBasicParameters_b4_width = -1;
503 static int hf_x411_G3FacsimileNonBasicParameters_t6_coding = -1;
504 static int hf_x411_G3FacsimileNonBasicParameters_uncompressed = -1;
505 static int hf_x411_G3FacsimileNonBasicParameters_width_middle_864_of_1728 = -1;
506 static int hf_x411_G3FacsimileNonBasicParameters_width_middle_1216_of_1728 = -1;
507 static int hf_x411_G3FacsimileNonBasicParameters_resolution_type = -1;
508 static int hf_x411_G3FacsimileNonBasicParameters_resolution_400x400 = -1;
509 static int hf_x411_G3FacsimileNonBasicParameters_resolution_300x300 = -1;
510 static int hf_x411_G3FacsimileNonBasicParameters_resolution_8x15 = -1;
511 static int hf_x411_G3FacsimileNonBasicParameters_edi = -1;
512 static int hf_x411_G3FacsimileNonBasicParameters_dtm = -1;
513 static int hf_x411_G3FacsimileNonBasicParameters_bft = -1;
514 static int hf_x411_G3FacsimileNonBasicParameters_mixed_mode = -1;
515 static int hf_x411_G3FacsimileNonBasicParameters_character_mode = -1;
516 static int hf_x411_G3FacsimileNonBasicParameters_twelve_bits = -1;
517 static int hf_x411_G3FacsimileNonBasicParameters_preferred_huffmann = -1;
518 static int hf_x411_G3FacsimileNonBasicParameters_full_colour = -1;
519 static int hf_x411_G3FacsimileNonBasicParameters_jpeg = -1;
520 static int hf_x411_G3FacsimileNonBasicParameters_processable_mode_26 = -1;
522 /*--- End of included file: packet-x411-hf.c ---*/
523 #line 74 "packet-x411-template.c"
525 /* Initialize the subtree pointers */
526 static gint ett_x411 = -1;
528 /*--- Included file: packet-x411-ett.c ---*/
529 #line 1 "packet-x411-ett.c"
530 static gint ett_x411_MTABindArgument = -1;
531 static gint ett_x411_AuthenticatedArgument = -1;
532 static gint ett_x411_MTABindResult = -1;
533 static gint ett_x411_AuthenticatedResult = -1;
534 static gint ett_x411_MTS_APDU = -1;
535 static gint ett_x411_Message = -1;
536 static gint ett_x411_Report = -1;
537 static gint ett_x411_MessageTransferEnvelope = -1;
538 static gint ett_x411_SEQUENCE_OF_PerDomainBilateralInformation = -1;
539 static gint ett_x411_SET_OF_ExtensionField = -1;
540 static gint ett_x411_SEQUENCE_OF_PerRecipientMessageTransferFields = -1;
541 static gint ett_x411_PerRecipientMessageTransferFields = -1;
542 static gint ett_x411_ProbeTransferEnvelope = -1;
543 static gint ett_x411_SEQUENCE_OF_PerRecipientProbeTransferFields = -1;
544 static gint ett_x411_PerRecipientProbeTransferFields = -1;
545 static gint ett_x411_ReportTransferEnvelope = -1;
546 static gint ett_x411_ReportTransferContent = -1;
547 static gint ett_x411_SEQUENCE_OF_PerRecipientReportTransferFields = -1;
548 static gint ett_x411_PerRecipientReportTransferFields = -1;
549 static gint ett_x411_PerDomainBilateralInformation = -1;
550 static gint ett_x411_T_domain = -1;
551 static gint ett_x411_T_private_domain = -1;
552 static gint ett_x411_PerRecipientIndicators = -1;
553 static gint ett_x411_LastTraceInformation = -1;
554 static gint ett_x411_InternalTraceInformation = -1;
555 static gint ett_x411_InternalTraceInformationElement = -1;
556 static gint ett_x411_MTASuppliedInformation = -1;
557 static gint ett_x411_T_attempted = -1;
558 static gint ett_x411_TraceInformation = -1;
559 static gint ett_x411_TraceInformationElement = -1;
560 static gint ett_x411_DomainSuppliedInformation = -1;
561 static gint ett_x411_OtherActions = -1;
562 static gint ett_x411_MTSBindArgument = -1;
563 static gint ett_x411_MTSBindResult = -1;
564 static gint ett_x411_ObjectName = -1;
565 static gint ett_x411_MessagesWaiting = -1;
566 static gint ett_x411_DeliveryQueue = -1;
567 static gint ett_x411_Credentials = -1;
568 static gint ett_x411_Password = -1;
569 static gint ett_x411_ProtectedPassword = -1;
570 static gint ett_x411_Signature = -1;
571 static gint ett_x411_SecurityContext = -1;
572 static gint ett_x411_MessageSubmissionArgument = -1;
573 static gint ett_x411_MessageSubmissionResult = -1;
574 static gint ett_x411_ProbeSubmissionResult = -1;
575 static gint ett_x411_ImproperlySpecifiedRecipients = -1;
576 static gint ett_x411_Waiting = -1;
577 static gint ett_x411_SET_OF_ContentType = -1;
578 static gint ett_x411_Operations = -1;
579 static gint ett_x411_WaitingMessages = -1;
580 static gint ett_x411_MessageDeliveryArgument = -1;
581 static gint ett_x411_MessageDeliveryResult = -1;
582 static gint ett_x411_ReportDeliveryArgument = -1;
583 static gint ett_x411_SEQUENCE_OF_PerRecipientReportDeliveryFields = -1;
584 static gint ett_x411_ReportDeliveryResult = -1;
585 static gint ett_x411_DeliveryControlArgument = -1;
586 static gint ett_x411_DeliveryControlResult = -1;
587 static gint ett_x411_RefusedOperation = -1;
588 static gint ett_x411_T_refused_argument = -1;
589 static gint ett_x411_Controls = -1;
590 static gint ett_x411_RegisterArgument = -1;
591 static gint ett_x411_SET_OF_DeliverableClass = -1;
592 static gint ett_x411_RegisterResult = -1;
593 static gint ett_x411_T_non_empty_result = -1;
594 static gint ett_x411_ChangeCredentialsArgument = -1;
595 static gint ett_x411_UserAddress = -1;
596 static gint ett_x411_T_x121 = -1;
597 static gint ett_x411_Redirections = -1;
598 static gint ett_x411_RecipientRedirection = -1;
599 static gint ett_x411_SET_OF_RedirectionClass = -1;
600 static gint ett_x411_MessageClass = -1;
601 static gint ett_x411_SET_OF_Priority = -1;
602 static gint ett_x411_SEQUENCE_OF_Restriction = -1;
603 static gint ett_x411_EncodedInformationTypesConstraints = -1;
604 static gint ett_x411_RestrictedDelivery = -1;
605 static gint ett_x411_Restriction = -1;
606 static gint ett_x411_T_source_type = -1;
607 static gint ett_x411_ExactOrPattern = -1;
608 static gint ett_x411_RegistrationTypes = -1;
609 static gint ett_x411_T_standard_parameters = -1;
610 static gint ett_x411_T_extensions = -1;
611 static gint ett_x411_MessageSubmissionEnvelope = -1;
612 static gint ett_x411_SEQUENCE_OF_PerRecipientMessageSubmissionFields = -1;
613 static gint ett_x411_PerRecipientMessageSubmissionFields = -1;
614 static gint ett_x411_ProbeSubmissionEnvelope = -1;
615 static gint ett_x411_SEQUENCE_OF_PerRecipientProbeSubmissionFields = -1;
616 static gint ett_x411_PerRecipientProbeSubmissionFields = -1;
617 static gint ett_x411_MessageDeliveryEnvelope = -1;
618 static gint ett_x411_OtherMessageDeliveryFields = -1;
619 static gint ett_x411_ReportDeliveryEnvelope = -1;
620 static gint ett_x411_PerRecipientReportDeliveryFields = -1;
621 static gint ett_x411_ReportType = -1;
622 static gint ett_x411_DeliveryReport = -1;
623 static gint ett_x411_NonDeliveryReport = -1;
624 static gint ett_x411_ContentTypes = -1;
625 static gint ett_x411_ContentType = -1;
626 static gint ett_x411_DeliveredContentType = -1;
627 static gint ett_x411_PerMessageIndicators = -1;
628 static gint ett_x411_OriginatorReportRequest = -1;
629 static gint ett_x411_DeliveryFlags = -1;
630 static gint ett_x411_OtherRecipientNames = -1;
631 static gint ett_x411_ExtensionType = -1;
632 static gint ett_x411_Criticality = -1;
633 static gint ett_x411_ExtensionField = -1;
634 static gint ett_x411_RequestedDeliveryMethod = -1;
635 static gint ett_x411_PhysicalDeliveryModes = -1;
636 static gint ett_x411_ContentCorrelator = -1;
637 static gint ett_x411_RedirectionHistory = -1;
638 static gint ett_x411_Redirection = -1;
639 static gint ett_x411_IntendedRecipientName = -1;
640 static gint ett_x411_DLExpansionHistory = -1;
641 static gint ett_x411_DLExpansion = -1;
642 static gint ett_x411_OriginatorAndDLExpansionHistory = -1;
643 static gint ett_x411_OriginatorAndDLExpansion = -1;
644 static gint ett_x411_PerRecipientReportFields = -1;
645 static gint ett_x411_T_report_type = -1;
646 static gint ett_x411_PerRecipientDeliveryReportFields = -1;
647 static gint ett_x411_PerRecipientNonDeliveryReportFields = -1;
648 static gint ett_x411_ReportingMTAName = -1;
649 static gint ett_x411_ExtendedCertificates = -1;
650 static gint ett_x411_ExtendedCertificate = -1;
651 static gint ett_x411_DLExemptedRecipients = -1;
652 static gint ett_x411_CertificateSelectors = -1;
653 static gint ett_x411_MTSIdentifier = -1;
654 static gint ett_x411_GlobalDomainIdentifier = -1;
655 static gint ett_x411_PrivateDomainIdentifier = -1;
656 static gint ett_x411_ORName = -1;
657 static gint ett_x411_ORAddress = -1;
658 static gint ett_x411_BuiltInStandardAttributes = -1;
659 static gint ett_x411_CountryName = -1;
660 static gint ett_x411_AdministrationDomainName = -1;
661 static gint ett_x411_PrivateDomainName = -1;
662 static gint ett_x411_PersonalName = -1;
663 static gint ett_x411_OrganizationalUnitNames = -1;
664 static gint ett_x411_BuiltInDomainDefinedAttributes = -1;
665 static gint ett_x411_BuiltInDomainDefinedAttribute = -1;
666 static gint ett_x411_ExtensionAttributes = -1;
667 static gint ett_x411_ExtensionAttribute = -1;
668 static gint ett_x411_TeletexPersonalName = -1;
669 static gint ett_x411_UniversalPersonalName = -1;
670 static gint ett_x411_TeletexOrganizationalUnitNames = -1;
671 static gint ett_x411_UniversalOrganizationalUnitNames = -1;
672 static gint ett_x411_UniversalOrBMPString = -1;
673 static gint ett_x411_T_character_encoding = -1;
674 static gint ett_x411_PhysicalDeliveryCountryName = -1;
675 static gint ett_x411_PostalCode = -1;
676 static gint ett_x411_UnformattedPostalAddress = -1;
677 static gint ett_x411_T_printable_address = -1;
678 static gint ett_x411_PDSParameter = -1;
679 static gint ett_x411_ExtendedNetworkAddress = -1;
680 static gint ett_x411_T_e163_4_address = -1;
681 static gint ett_x411_TeletexDomainDefinedAttributes = -1;
682 static gint ett_x411_TeletexDomainDefinedAttribute = -1;
683 static gint ett_x411_UniversalDomainDefinedAttributes = -1;
684 static gint ett_x411_UniversalDomainDefinedAttribute = -1;
685 static gint ett_x411_EncodedInformationTypes = -1;
686 static gint ett_x411_BuiltInEncodedInformationTypes = -1;
687 static gint ett_x411_ExtendedEncodedInformationTypes = -1;
688 static gint ett_x411_NonBasicParameters = -1;
689 static gint ett_x411_G3FacsimileNonBasicParameters = -1;
690 static gint ett_x411_TeletexNonBasicParameters = -1;
691 static gint ett_x411_SecurityLabel = -1;
692 static gint ett_x411_SecurityCategories = -1;
693 static gint ett_x411_SecurityCategory = -1;
695 /*--- End of included file: packet-x411-ett.c ---*/
696 #line 78 "packet-x411-template.c"
699 /*--- Included file: packet-x411-fn.c ---*/
700 #line 1 "packet-x411-fn.c"
701 /*--- Fields for imported types ---*/
703 static int dissect_algorithmIdentifier(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
704 return dissect_x509af_AlgorithmIdentifier(FALSE, tvb, offset, pinfo, tree, hf_x411_algorithmIdentifier);
706 static int dissect_mta_directory_name_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
707 return dissect_x509if_Name(TRUE, tvb, offset, pinfo, tree, hf_x411_mta_directory_name);
709 static int dissect_directory_entry_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
710 return dissect_x509if_Name(TRUE, tvb, offset, pinfo, tree, hf_x411_directory_entry);
712 static int dissect_certificate_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
713 return dissect_x509af_Certificates(TRUE, tvb, offset, pinfo, tree, hf_x411_certificate);
715 static int dissect_encryption_recipient_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
716 return dissect_x509ce_CertificateAssertion(TRUE, tvb, offset, pinfo, tree, hf_x411_encryption_recipient);
718 static int dissect_encryption_originator_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
719 return dissect_x509ce_CertificateAssertion(TRUE, tvb, offset, pinfo, tree, hf_x411_encryption_originator);
721 static int dissect_content_integrity_check_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
722 return dissect_x509ce_CertificateAssertion(TRUE, tvb, offset, pinfo, tree, hf_x411_content_integrity_check);
724 static int dissect_token_signature_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
725 return dissect_x509ce_CertificateAssertion(TRUE, tvb, offset, pinfo, tree, hf_x411_token_signature);
727 static int dissect_message_origin_authentication_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
728 return dissect_x509ce_CertificateAssertion(TRUE, tvb, offset, pinfo, tree, hf_x411_message_origin_authentication);
730 static int dissect_directory_name_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
731 return dissect_x509if_Name(TRUE, tvb, offset, pinfo, tree, hf_x411_directory_name);
733 static int dissect_psap_address_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
734 return dissect_x509sat_PresentationAddress(TRUE, tvb, offset, pinfo, tree, hf_x411_psap_address);
740 dissect_x411_NULL(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
741 offset = dissect_ber_null(implicit_tag, pinfo, tree, tvb, offset, hf_index);
745 static int dissect_unauthenticated(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
746 return dissect_x411_NULL(FALSE, tvb, offset, pinfo, tree, hf_x411_unauthenticated);
748 static int dissect_empty_result(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
749 return dissect_x411_NULL(FALSE, tvb, offset, pinfo, tree, hf_x411_empty_result);
755 dissect_x411_MTAName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
757 tvbuff_t *mtaname = NULL;
759 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_IA5String,
760 pinfo, tree, tvb, offset, hf_index,
766 proto_item_append_text(address_item, " %s", tvb_format_text(mtaname, 0, tvb_length(mtaname)));
770 if (check_col(pinfo->cinfo, COL_INFO) && mtaname) {
771 col_append_fstr(pinfo->cinfo, COL_INFO, " %s", tvb_format_text(mtaname, 0, tvb_length(mtaname)));
780 static int dissect_authenticated_initiator_name_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
781 return dissect_x411_MTAName(TRUE, tvb, offset, pinfo, tree, hf_x411_authenticated_initiator_name);
783 static int dissect_authenticated_responder_name_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
784 return dissect_x411_MTAName(TRUE, tvb, offset, pinfo, tree, hf_x411_authenticated_responder_name);
786 static int dissect_mta_name(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
787 return dissect_x411_MTAName(FALSE, tvb, offset, pinfo, tree, hf_x411_mta_name);
789 static int dissect_mta(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
790 return dissect_x411_MTAName(FALSE, tvb, offset, pinfo, tree, hf_x411_mta);
792 static int dissect_mTA_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
793 return dissect_x411_MTAName(TRUE, tvb, offset, pinfo, tree, hf_x411_mTA);
799 dissect_x411_IA5String(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
800 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_IA5String,
801 pinfo, tree, tvb, offset, hf_index,
806 static int dissect_ia5_string(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
807 return dissect_x411_IA5String(FALSE, tvb, offset, pinfo, tree, hf_x411_ia5_string);
809 static int dissect_ia5text(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
810 return dissect_x411_IA5String(FALSE, tvb, offset, pinfo, tree, hf_x411_ia5text);
816 dissect_x411_OCTET_STRING(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
817 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
822 static int dissect_octet_string(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
823 return dissect_x411_OCTET_STRING(FALSE, tvb, offset, pinfo, tree, hf_x411_octet_string);
825 static int dissect_octets(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
826 return dissect_x411_OCTET_STRING(FALSE, tvb, offset, pinfo, tree, hf_x411_octets);
828 static int dissect_page_formats_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
829 return dissect_x411_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_x411_page_formats);
831 static int dissect_private_use_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
832 return dissect_x411_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_x411_private_use);
836 static const value_string x411_Password_vals[] = {
838 { 1, "octet-string" },
842 static const ber_choice_t Password_choice[] = {
843 { 0, BER_CLASS_UNI, BER_UNI_TAG_IA5String, BER_FLAGS_NOOWNTAG, dissect_ia5_string },
844 { 1, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_octet_string },
849 dissect_x411_Password(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
850 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
851 Password_choice, hf_index, ett_x411_Password,
856 static int dissect_simple(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
857 return dissect_x411_Password(FALSE, tvb, offset, pinfo, tree, hf_x411_simple);
863 dissect_x411_BIT_STRING(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
864 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
870 static int dissect_random1_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
871 return dissect_x411_BIT_STRING(TRUE, tvb, offset, pinfo, tree, hf_x411_random1);
873 static int dissect_random2_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
874 return dissect_x411_BIT_STRING(TRUE, tvb, offset, pinfo, tree, hf_x411_random2);
876 static int dissect_encrypted(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
877 return dissect_x411_BIT_STRING(FALSE, tvb, offset, pinfo, tree, hf_x411_encrypted);
881 static const ber_sequence_t Signature_sequence[] = {
882 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_algorithmIdentifier },
883 { BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_encrypted },
888 dissect_x411_Signature(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
889 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
890 Signature_sequence, hf_index, ett_x411_Signature);
894 static int dissect_signature(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
895 return dissect_x411_Signature(FALSE, tvb, offset, pinfo, tree, hf_x411_signature);
901 dissect_x411_UTCTime(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
902 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_UTCTime,
903 pinfo, tree, tvb, offset, hf_index,
908 static int dissect_time1_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
909 return dissect_x411_UTCTime(TRUE, tvb, offset, pinfo, tree, hf_x411_time1);
911 static int dissect_time2_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
912 return dissect_x411_UTCTime(TRUE, tvb, offset, pinfo, tree, hf_x411_time2);
916 static const ber_sequence_t ProtectedPassword_set[] = {
917 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_signature },
918 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_time1_impl },
919 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_time2_impl },
920 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_random1_impl },
921 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_random2_impl },
926 dissect_x411_ProtectedPassword(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
927 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
928 ProtectedPassword_set, hf_index, ett_x411_ProtectedPassword);
932 static int dissect_protected_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
933 return dissect_x411_ProtectedPassword(TRUE, tvb, offset, pinfo, tree, hf_x411_protected);
937 static const value_string x411_Credentials_vals[] = {
943 static const ber_choice_t Credentials_choice[] = {
944 { 0, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_simple },
945 { 1, BER_CLASS_CON, 1, 0, dissect_protected_impl },
950 dissect_x411_Credentials(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
951 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
952 Credentials_choice, hf_index, ett_x411_Credentials,
957 static int dissect_old_credentials_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
958 return dissect_x411_Credentials(TRUE, tvb, offset, pinfo, tree, hf_x411_old_credentials);
960 static int dissect_new_credentials_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
961 return dissect_x411_Credentials(TRUE, tvb, offset, pinfo, tree, hf_x411_new_credentials);
967 dissect_x411_InitiatorCredentials(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
968 offset = dissect_x411_Credentials(implicit_tag, tvb, offset, pinfo, tree, hf_index);
972 static int dissect_initiator_credentials_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
973 return dissect_x411_InitiatorCredentials(TRUE, tvb, offset, pinfo, tree, hf_x411_initiator_credentials);
979 dissect_x411_SecurityPolicyIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
980 offset = dissect_ber_object_identifier(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
984 static int dissect_security_policy_identifier(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
985 return dissect_x411_SecurityPolicyIdentifier(FALSE, tvb, offset, pinfo, tree, hf_x411_security_policy_identifier);
989 static const value_string x411_SecurityClassification_vals[] = {
991 { 1, "unclassified" },
993 { 3, "confidential" },
1001 dissect_x411_SecurityClassification(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1002 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
1007 static int dissect_security_classification(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1008 return dissect_x411_SecurityClassification(FALSE, tvb, offset, pinfo, tree, hf_x411_security_classification);
1014 dissect_x411_PrivacyMark(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1015 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
1016 pinfo, tree, tvb, offset, hf_index,
1021 static int dissect_privacy_mark(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1022 return dissect_x411_PrivacyMark(FALSE, tvb, offset, pinfo, tree, hf_x411_privacy_mark);
1028 dissect_x411_OBJECT_IDENTIFIER(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1029 #line 320 "x411.cnf"
1031 offset = dissect_ber_object_identifier_str(implicit_tag, pinfo, tree, tvb, offset, hf_index, &object_identifier_id);
1039 static int dissect_private_extension_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1040 return dissect_x411_OBJECT_IDENTIFIER(TRUE, tvb, offset, pinfo, tree, hf_x411_private_extension);
1042 static int dissect_category_type_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1043 return dissect_x411_OBJECT_IDENTIFIER(TRUE, tvb, offset, pinfo, tree, hf_x411_category_type);
1049 dissect_x411_CategoryValue(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1050 #line 241 "x411.cnf"
1052 offset = dissect_unknown_ber(pinfo, tvb, offset, tree);
1058 static int dissect_category_value_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1059 return dissect_x411_CategoryValue(TRUE, tvb, offset, pinfo, tree, hf_x411_category_value);
1063 static const ber_sequence_t SecurityCategory_sequence[] = {
1064 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_category_type_impl },
1065 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_category_value_impl },
1070 dissect_x411_SecurityCategory(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1071 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1072 SecurityCategory_sequence, hf_index, ett_x411_SecurityCategory);
1076 static int dissect_SecurityCategories_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1077 return dissect_x411_SecurityCategory(FALSE, tvb, offset, pinfo, tree, hf_x411_SecurityCategories_item);
1081 static const ber_sequence_t SecurityCategories_set_of[1] = {
1082 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_SecurityCategories_item },
1086 dissect_x411_SecurityCategories(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1087 offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
1088 SecurityCategories_set_of, hf_index, ett_x411_SecurityCategories);
1092 static int dissect_security_categories(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1093 return dissect_x411_SecurityCategories(FALSE, tvb, offset, pinfo, tree, hf_x411_security_categories);
1097 static const ber_sequence_t SecurityLabel_set[] = {
1098 { BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_security_policy_identifier },
1099 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_security_classification },
1100 { BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_privacy_mark },
1101 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_security_categories },
1106 dissect_x411_SecurityLabel(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1107 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
1108 SecurityLabel_set, hf_index, ett_x411_SecurityLabel);
1112 static int dissect_SecurityContext_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1113 return dissect_x411_SecurityLabel(FALSE, tvb, offset, pinfo, tree, hf_x411_SecurityContext_item);
1117 static const ber_sequence_t SecurityContext_set_of[1] = {
1118 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_SecurityContext_item },
1122 dissect_x411_SecurityContext(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1123 offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
1124 SecurityContext_set_of, hf_index, ett_x411_SecurityContext);
1128 static int dissect_security_context_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1129 return dissect_x411_SecurityContext(TRUE, tvb, offset, pinfo, tree, hf_x411_security_context);
1131 static int dissect_permissible_security_context_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1132 return dissect_x411_SecurityContext(TRUE, tvb, offset, pinfo, tree, hf_x411_permissible_security_context);
1134 static int dissect_security_labels_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1135 return dissect_x411_SecurityContext(TRUE, tvb, offset, pinfo, tree, hf_x411_security_labels);
1139 static const ber_sequence_t AuthenticatedArgument_set[] = {
1140 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_authenticated_initiator_name_impl },
1141 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_initiator_credentials_impl },
1142 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_security_context_impl },
1147 dissect_x411_AuthenticatedArgument(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1148 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
1149 AuthenticatedArgument_set, hf_index, ett_x411_AuthenticatedArgument);
1153 static int dissect_authenticated_argument_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1154 return dissect_x411_AuthenticatedArgument(TRUE, tvb, offset, pinfo, tree, hf_x411_authenticated_argument);
1158 static const value_string x411_MTABindArgument_vals[] = {
1159 { 0, "unauthenticated" },
1160 { 1, "authenticated" },
1164 static const ber_choice_t MTABindArgument_choice[] = {
1165 { 0, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_unauthenticated },
1166 { 1, BER_CLASS_CON, 1, 0, dissect_authenticated_argument_impl },
1167 { 0, 0, 0, 0, NULL }
1171 dissect_x411_MTABindArgument(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1172 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
1173 MTABindArgument_choice, hf_index, ett_x411_MTABindArgument,
1182 dissect_x411_ResponderCredentials(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1183 offset = dissect_x411_Credentials(implicit_tag, tvb, offset, pinfo, tree, hf_index);
1187 static int dissect_responder_credentials_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1188 return dissect_x411_ResponderCredentials(TRUE, tvb, offset, pinfo, tree, hf_x411_responder_credentials);
1192 static const ber_sequence_t AuthenticatedResult_set[] = {
1193 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_authenticated_responder_name_impl },
1194 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_responder_credentials_impl },
1199 dissect_x411_AuthenticatedResult(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1200 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
1201 AuthenticatedResult_set, hf_index, ett_x411_AuthenticatedResult);
1205 static int dissect_authenticated_result_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1206 return dissect_x411_AuthenticatedResult(TRUE, tvb, offset, pinfo, tree, hf_x411_authenticated_result);
1210 static const value_string x411_MTABindResult_vals[] = {
1211 { 0, "unauthenticated" },
1212 { 1, "authenticated" },
1216 static const ber_choice_t MTABindResult_choice[] = {
1217 { 0, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_unauthenticated },
1218 { 1, BER_CLASS_CON, 1, 0, dissect_authenticated_result_impl },
1219 { 0, 0, 0, 0, NULL }
1223 dissect_x411_MTABindResult(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1224 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
1225 MTABindResult_choice, hf_index, ett_x411_MTABindResult,
1232 static const value_string x411_MTABindError_vals[] = {
1234 { 2, "authentication-error" },
1235 { 3, "unacceptable-dialogue-mode" },
1236 { 4, "unacceptable-security-context" },
1237 { 5, "inadequate-association-confidentiality" },
1243 dissect_x411_MTABindError(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1244 #line 626 "x411.cnf"
1246 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
1249 if((error != -1) && check_col(pinfo->cinfo, COL_INFO))
1250 col_append_fstr(pinfo->cinfo, COL_INFO, " (%s)", val_to_str(error, x411_MTABindError_vals, "error(%d)"));
1261 dissect_x411_NumericString(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1262 #line 462 "x411.cnf"
1263 tvbuff_t *nstring = NULL;
1265 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_NumericString,
1266 pinfo, tree, tvb, offset, hf_index,
1270 if(doing_address && nstring)
1271 g_strlcat(oraddress, tvb_format_text(nstring, 0, tvb_length(nstring)), MAX_ORA_STR_LEN);
1277 static int dissect_x121_address(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1278 return dissect_x411_NumericString(FALSE, tvb, offset, pinfo, tree, hf_x411_x121_address);
1280 static int dissect_numeric(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1281 return dissect_x411_NumericString(FALSE, tvb, offset, pinfo, tree, hf_x411_numeric);
1283 static int dissect_x121_dcc_code(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1284 return dissect_x411_NumericString(FALSE, tvb, offset, pinfo, tree, hf_x411_x121_dcc_code);
1286 static int dissect_numeric_code(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1287 return dissect_x411_NumericString(FALSE, tvb, offset, pinfo, tree, hf_x411_numeric_code);
1289 static int dissect_number_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1290 return dissect_x411_NumericString(TRUE, tvb, offset, pinfo, tree, hf_x411_number);
1292 static int dissect_sub_address_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1293 return dissect_x411_NumericString(TRUE, tvb, offset, pinfo, tree, hf_x411_sub_address);
1299 dissect_x411_PrintableString(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1300 #line 484 "x411.cnf"
1301 tvbuff_t *pstring = NULL;
1304 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
1305 pinfo, tree, tvb, offset, hf_index,
1309 if(doing_address && pstring) {
1310 if(hf_index == hf_x411_printable_surname) fmt = "/S=";
1311 else if(hf_index == hf_x411_printable_given_name) fmt = "/G=";
1312 else if(hf_index == hf_x411_printable_initials) fmt = "/I=";
1313 else if(hf_index == hf_x411_printable_generation_qualifier) fmt = "/GQ=";
1314 else if(hf_index == hf_x411_printable_type) fmt = "/DD.";
1315 else if(hf_index == hf_x411_printable_value) fmt = "=";
1318 g_strlcat(oraddress, fmt, MAX_ORA_STR_LEN);
1320 g_strlcat(oraddress, tvb_format_text(pstring, 0, tvb_length(pstring)), MAX_ORA_STR_LEN);
1328 static int dissect_tsap_id(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1329 return dissect_x411_PrintableString(FALSE, tvb, offset, pinfo, tree, hf_x411_tsap_id);
1331 static int dissect_printable(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1332 return dissect_x411_PrintableString(FALSE, tvb, offset, pinfo, tree, hf_x411_printable);
1334 static int dissect_iso_3166_alpha2_code(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1335 return dissect_x411_PrintableString(FALSE, tvb, offset, pinfo, tree, hf_x411_iso_3166_alpha2_code);
1337 static int dissect_printable_surname_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1338 return dissect_x411_PrintableString(TRUE, tvb, offset, pinfo, tree, hf_x411_printable_surname);
1340 static int dissect_printable_given_name_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1341 return dissect_x411_PrintableString(TRUE, tvb, offset, pinfo, tree, hf_x411_printable_given_name);
1343 static int dissect_printable_initials_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1344 return dissect_x411_PrintableString(TRUE, tvb, offset, pinfo, tree, hf_x411_printable_initials);
1346 static int dissect_printable_generation_qualifier_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1347 return dissect_x411_PrintableString(TRUE, tvb, offset, pinfo, tree, hf_x411_printable_generation_qualifier);
1349 static int dissect_printable_type(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1350 return dissect_x411_PrintableString(FALSE, tvb, offset, pinfo, tree, hf_x411_printable_type);
1352 static int dissect_printable_value(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1353 return dissect_x411_PrintableString(FALSE, tvb, offset, pinfo, tree, hf_x411_printable_value);
1355 static int dissect_iso_639_language_code(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1356 return dissect_x411_PrintableString(FALSE, tvb, offset, pinfo, tree, hf_x411_iso_639_language_code);
1358 static int dissect_printable_code(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1359 return dissect_x411_PrintableString(FALSE, tvb, offset, pinfo, tree, hf_x411_printable_code);
1361 static int dissect_printable_address_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1362 return dissect_x411_PrintableString(FALSE, tvb, offset, pinfo, tree, hf_x411_printable_address_item);
1364 static int dissect_printable_string(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1365 return dissect_x411_PrintableString(FALSE, tvb, offset, pinfo, tree, hf_x411_printable_string);
1369 static const value_string x411_CountryName_vals[] = {
1370 { 0, "x121-dcc-code" },
1371 { 1, "iso-3166-alpha2-code" },
1375 static const ber_choice_t CountryName_choice[] = {
1376 { 0, BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_NOOWNTAG, dissect_x121_dcc_code },
1377 { 1, BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_iso_3166_alpha2_code },
1378 { 0, 0, 0, 0, NULL }
1382 dissect_x411_CountryName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1383 #line 252 "x411.cnf"
1385 gboolean pc, ind_field;
1390 /* XXX asn2eth can not yet handle tagged assignment yes so this
1391 * XXX is some conformance file magic to work around that bug
1393 offset = get_ber_identifier(tvb, offset, &class, &pc, &tag);
1394 offset = get_ber_length(tree, tvb, offset, &len1, &ind_field);
1398 g_strlcat(oraddress, "/C=", MAX_ORA_STR_LEN);
1400 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
1401 CountryName_choice, hf_index, ett_x411_CountryName, NULL);
1409 static int dissect_country_name(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1410 return dissect_x411_CountryName(FALSE, tvb, offset, pinfo, tree, hf_x411_country_name);
1414 static const value_string x411_AdministrationDomainName_vals[] = {
1420 static const ber_choice_t AdministrationDomainName_choice[] = {
1421 { 0, BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_NOOWNTAG, dissect_numeric },
1422 { 1, BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_printable },
1423 { 0, 0, 0, 0, NULL }
1427 dissect_x411_AdministrationDomainName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1428 #line 274 "x411.cnf"
1430 gboolean pc, ind_field;
1435 /* XXX asn2eth can not yet handle tagged assignment yes so this
1436 * XXX is some conformance file magic to work around that bug
1438 offset = get_ber_identifier(tvb, offset, &class, &pc, &tag);
1439 offset = get_ber_length(tree, tvb, offset, &len1, &ind_field);
1443 g_strlcat(oraddress, "/A=", MAX_ORA_STR_LEN);
1445 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
1446 AdministrationDomainName_choice, hf_index, ett_x411_AdministrationDomainName, NULL);
1452 static int dissect_administration_domain_name(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1453 return dissect_x411_AdministrationDomainName(FALSE, tvb, offset, pinfo, tree, hf_x411_administration_domain_name);
1455 static int dissect_administration_domain_name_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1456 return dissect_x411_AdministrationDomainName(TRUE, tvb, offset, pinfo, tree, hf_x411_administration_domain_name);
1460 static const value_string x411_PrivateDomainIdentifier_vals[] = {
1466 static const ber_choice_t PrivateDomainIdentifier_choice[] = {
1467 { 0, BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_NOOWNTAG, dissect_numeric },
1468 { 1, BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_printable },
1469 { 0, 0, 0, 0, NULL }
1473 dissect_x411_PrivateDomainIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1474 #line 424 "x411.cnf"
1477 g_strlcat(oraddress, "/P=", MAX_ORA_STR_LEN);
1479 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
1480 PrivateDomainIdentifier_choice, hf_index, ett_x411_PrivateDomainIdentifier,
1488 static int dissect_private_domain_identifier(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1489 return dissect_x411_PrivateDomainIdentifier(FALSE, tvb, offset, pinfo, tree, hf_x411_private_domain_identifier);
1491 static int dissect_private_domain_identifier_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1492 return dissect_x411_PrivateDomainIdentifier(TRUE, tvb, offset, pinfo, tree, hf_x411_private_domain_identifier);
1496 static const ber_sequence_t GlobalDomainIdentifier_sequence[] = {
1497 { BER_CLASS_APP, 1, BER_FLAGS_NOOWNTAG, dissect_country_name },
1498 { BER_CLASS_APP, 2, BER_FLAGS_NOOWNTAG, dissect_administration_domain_name },
1499 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_private_domain_identifier },
1504 dissect_x411_GlobalDomainIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1505 #line 531 "x411.cnf"
1507 oraddress = ep_alloc(MAX_ORA_STR_LEN); oraddress[0] = '\0';
1508 address_item = tree;
1510 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1511 GlobalDomainIdentifier_sequence, hf_index, ett_x411_GlobalDomainIdentifier);
1515 proto_item_append_text(address_item, " (%s/", oraddress);
1522 static int dissect_global_domain_identifier(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1523 return dissect_x411_GlobalDomainIdentifier(FALSE, tvb, offset, pinfo, tree, hf_x411_global_domain_identifier);
1525 static int dissect_domain(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1526 return dissect_x411_GlobalDomainIdentifier(FALSE, tvb, offset, pinfo, tree, hf_x411_domain);
1528 static int dissect_attempted_domain(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1529 return dissect_x411_GlobalDomainIdentifier(FALSE, tvb, offset, pinfo, tree, hf_x411_attempted_domain);
1535 dissect_x411_LocalIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1536 #line 545 "x411.cnf"
1537 tvbuff_t *id = NULL;
1539 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_IA5String,
1540 pinfo, tree, tvb, offset, hf_index,
1544 if(doing_address && id)
1545 proto_item_append_text(address_item, " $ %s)", tvb_format_text(id, 0, tvb_length(id)));
1551 static int dissect_local_identifier(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1552 return dissect_x411_LocalIdentifier(FALSE, tvb, offset, pinfo, tree, hf_x411_local_identifier);
1556 static const ber_sequence_t MTSIdentifier_sequence[] = {
1557 { BER_CLASS_APP, 3, BER_FLAGS_NOOWNTAG, dissect_global_domain_identifier },
1558 { BER_CLASS_UNI, BER_UNI_TAG_IA5String, BER_FLAGS_NOOWNTAG, dissect_local_identifier },
1563 dissect_x411_MTSIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1564 #line 553 "x411.cnf"
1566 doing_address = TRUE;
1568 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1569 MTSIdentifier_sequence, hf_index, ett_x411_MTSIdentifier);
1572 doing_address = FALSE;
1582 dissect_x411_MessageIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1583 offset = dissect_x411_MTSIdentifier(implicit_tag, tvb, offset, pinfo, tree, hf_index);
1587 static int dissect_message_identifier(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1588 return dissect_x411_MessageIdentifier(FALSE, tvb, offset, pinfo, tree, hf_x411_message_identifier);
1594 dissect_x411_X121Address(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1595 #line 393 "x411.cnf"
1596 tvbuff_t *string = NULL;
1598 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_NumericString,
1599 pinfo, tree, tvb, offset, hf_index,
1603 if(doing_address && string) {
1604 g_strlcat(oraddress, "/X121=", MAX_ORA_STR_LEN);
1605 g_strlcat(oraddress, tvb_format_text(string, 0, tvb_length(string)), MAX_ORA_STR_LEN);
1617 dissect_x411_NetworkAddress(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1618 offset = dissect_x411_X121Address(implicit_tag, tvb, offset, pinfo, tree, hf_index);
1622 static int dissect_network_address_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1623 return dissect_x411_NetworkAddress(TRUE, tvb, offset, pinfo, tree, hf_x411_network_address);
1629 dissect_x411_TerminalIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1630 #line 407 "x411.cnf"
1631 tvbuff_t *string = NULL;
1633 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
1634 pinfo, tree, tvb, offset, hf_index,
1638 if(doing_address && string) {
1639 g_strlcat(oraddress, "/UA-ID=", MAX_ORA_STR_LEN);
1640 g_strlcat(oraddress, tvb_format_text(string, 0, tvb_length(string)), MAX_ORA_STR_LEN);
1647 static int dissect_terminal_identifier_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1648 return dissect_x411_TerminalIdentifier(TRUE, tvb, offset, pinfo, tree, hf_x411_terminal_identifier);
1652 static const value_string x411_PrivateDomainName_vals[] = {
1658 static const ber_choice_t PrivateDomainName_choice[] = {
1659 { 0, BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_NOOWNTAG, dissect_numeric },
1660 { 1, BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_printable },
1661 { 0, 0, 0, 0, NULL }
1665 dissect_x411_PrivateDomainName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1666 #line 417 "x411.cnf"
1669 g_strlcat(oraddress, "/P=", MAX_ORA_STR_LEN);
1671 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
1672 PrivateDomainName_choice, hf_index, ett_x411_PrivateDomainName,
1680 static int dissect_private_domain_name_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1681 return dissect_x411_PrivateDomainName(TRUE, tvb, offset, pinfo, tree, hf_x411_private_domain_name);
1687 dissect_x411_OrganizationName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1688 #line 434 "x411.cnf"
1689 tvbuff_t *string = NULL;
1691 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
1692 pinfo, tree, tvb, offset, hf_index,
1696 if(doing_address && string) {
1697 g_strlcat(oraddress, "/O=", MAX_ORA_STR_LEN);
1698 g_strlcat(oraddress, tvb_format_text(string, 0, tvb_length(string)), MAX_ORA_STR_LEN);
1705 static int dissect_organization_name_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1706 return dissect_x411_OrganizationName(TRUE, tvb, offset, pinfo, tree, hf_x411_organization_name);
1712 dissect_x411_NumericUserIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1713 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_NumericString,
1714 pinfo, tree, tvb, offset, hf_index,
1719 static int dissect_numeric_user_identifier_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1720 return dissect_x411_NumericUserIdentifier(TRUE, tvb, offset, pinfo, tree, hf_x411_numeric_user_identifier);
1724 static const ber_sequence_t PersonalName_set[] = {
1725 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_printable_surname_impl },
1726 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_printable_given_name_impl },
1727 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_printable_initials_impl },
1728 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_printable_generation_qualifier_impl },
1733 dissect_x411_PersonalName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1734 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
1735 PersonalName_set, hf_index, ett_x411_PersonalName);
1739 static int dissect_personal_name_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1740 return dissect_x411_PersonalName(TRUE, tvb, offset, pinfo, tree, hf_x411_personal_name);
1746 dissect_x411_OrganizationalUnitName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1747 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
1748 pinfo, tree, tvb, offset, hf_index,
1753 static int dissect_OrganizationalUnitNames_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1754 return dissect_x411_OrganizationalUnitName(FALSE, tvb, offset, pinfo, tree, hf_x411_OrganizationalUnitNames_item);
1758 static const ber_sequence_t OrganizationalUnitNames_sequence_of[1] = {
1759 { BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_OrganizationalUnitNames_item },
1763 dissect_x411_OrganizationalUnitNames(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1764 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
1765 OrganizationalUnitNames_sequence_of, hf_index, ett_x411_OrganizationalUnitNames);
1769 static int dissect_organizational_unit_names_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1770 return dissect_x411_OrganizationalUnitNames(TRUE, tvb, offset, pinfo, tree, hf_x411_organizational_unit_names);
1774 static const ber_sequence_t BuiltInStandardAttributes_sequence[] = {
1775 { BER_CLASS_APP, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_country_name },
1776 { BER_CLASS_APP, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_administration_domain_name },
1777 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_network_address_impl },
1778 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_terminal_identifier_impl },
1779 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_private_domain_name_impl },
1780 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_organization_name_impl },
1781 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_numeric_user_identifier_impl },
1782 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_personal_name_impl },
1783 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_organizational_unit_names_impl },
1788 dissect_x411_BuiltInStandardAttributes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1789 #line 561 "x411.cnf"
1791 address_item = tree;
1793 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1794 BuiltInStandardAttributes_sequence, hf_index, ett_x411_BuiltInStandardAttributes);
1801 static int dissect_built_in_standard_attributes(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1802 return dissect_x411_BuiltInStandardAttributes(FALSE, tvb, offset, pinfo, tree, hf_x411_built_in_standard_attributes);
1806 static const ber_sequence_t BuiltInDomainDefinedAttribute_sequence[] = {
1807 { BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_printable_type },
1808 { BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_printable_value },
1813 dissect_x411_BuiltInDomainDefinedAttribute(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1814 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1815 BuiltInDomainDefinedAttribute_sequence, hf_index, ett_x411_BuiltInDomainDefinedAttribute);
1819 static int dissect_BuiltInDomainDefinedAttributes_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1820 return dissect_x411_BuiltInDomainDefinedAttribute(FALSE, tvb, offset, pinfo, tree, hf_x411_BuiltInDomainDefinedAttributes_item);
1824 static const ber_sequence_t BuiltInDomainDefinedAttributes_sequence_of[1] = {
1825 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_BuiltInDomainDefinedAttributes_item },
1829 dissect_x411_BuiltInDomainDefinedAttributes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1830 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
1831 BuiltInDomainDefinedAttributes_sequence_of, hf_index, ett_x411_BuiltInDomainDefinedAttributes);
1835 static int dissect_built_in_domain_defined_attributes(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1836 return dissect_x411_BuiltInDomainDefinedAttributes(FALSE, tvb, offset, pinfo, tree, hf_x411_built_in_domain_defined_attributes);
1842 dissect_x411_INTEGER(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1843 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
1848 static int dissect_messages_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1849 return dissect_x411_INTEGER(TRUE, tvb, offset, pinfo, tree, hf_x411_messages);
1851 static int dissect_delivery_queue_octets_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1852 return dissect_x411_INTEGER(TRUE, tvb, offset, pinfo, tree, hf_x411_delivery_queue_octets);
1854 static int dissect_standard_extension_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1855 return dissect_x411_INTEGER(TRUE, tvb, offset, pinfo, tree, hf_x411_standard_extension);
1857 static int dissect_extension_attribute_type_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1858 return dissect_x411_INTEGER(TRUE, tvb, offset, pinfo, tree, hf_x411_extension_attribute_type);
1864 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_) {
1865 #line 245 "x411.cnf"
1867 offset=call_x411_oid_callback("x411.extension-attribute", tvb, offset, pinfo, tree);
1873 static int dissect_extension_attribute_value_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1874 return dissect_x411_T_extension_attribute_value(TRUE, tvb, offset, pinfo, tree, hf_x411_extension_attribute_value);
1878 static const ber_sequence_t ExtensionAttribute_sequence[] = {
1879 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_extension_attribute_type_impl },
1880 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_extension_attribute_value_impl },
1885 dissect_x411_ExtensionAttribute(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1886 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1887 ExtensionAttribute_sequence, hf_index, ett_x411_ExtensionAttribute);
1891 static int dissect_ExtensionAttributes_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1892 return dissect_x411_ExtensionAttribute(FALSE, tvb, offset, pinfo, tree, hf_x411_ExtensionAttributes_item);
1896 static const ber_sequence_t ExtensionAttributes_set_of[1] = {
1897 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_ExtensionAttributes_item },
1901 dissect_x411_ExtensionAttributes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1902 offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
1903 ExtensionAttributes_set_of, hf_index, ett_x411_ExtensionAttributes);
1907 static int dissect_extension_attributes(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1908 return dissect_x411_ExtensionAttributes(FALSE, tvb, offset, pinfo, tree, hf_x411_extension_attributes);
1912 static const ber_sequence_t ORName_sequence[] = {
1913 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_built_in_standard_attributes },
1914 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_built_in_domain_defined_attributes },
1915 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extension_attributes },
1916 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_directory_name_impl },
1921 dissect_x411_ORName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1922 #line 518 "x411.cnf"
1924 oraddress = ep_alloc(MAX_ORA_STR_LEN); oraddress[0] = '\0';
1925 address_item = NULL;
1926 doing_address = TRUE;
1928 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1929 ORName_sequence, hf_index, ett_x411_ORName);
1932 if(*oraddress && address_item)
1933 proto_item_append_text(address_item, " (%s/)", oraddress);
1935 doing_address = FALSE;
1941 static int dissect_exact_match_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1942 return dissect_x411_ORName(TRUE, tvb, offset, pinfo, tree, hf_x411_exact_match);
1944 static int dissect_pattern_match_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1945 return dissect_x411_ORName(TRUE, tvb, offset, pinfo, tree, hf_x411_pattern_match);
1951 dissect_x411_ORAddressAndOptionalDirectoryName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1952 offset = dissect_x411_ORName(implicit_tag, tvb, offset, pinfo, tree, hf_index);
1956 static int dissect_user_agent(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1957 return dissect_x411_ORAddressAndOptionalDirectoryName(FALSE, tvb, offset, pinfo, tree, hf_x411_user_agent);
1959 static int dissect_message_store_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1960 return dissect_x411_ORAddressAndOptionalDirectoryName(TRUE, tvb, offset, pinfo, tree, hf_x411_message_store);
1962 static int dissect_intended_recipient(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1963 return dissect_x411_ORAddressAndOptionalDirectoryName(FALSE, tvb, offset, pinfo, tree, hf_x411_intended_recipient);
1965 static int dissect_dl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1966 return dissect_x411_ORAddressAndOptionalDirectoryName(FALSE, tvb, offset, pinfo, tree, hf_x411_dl);
1968 static int dissect_originator_or_dl_name(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1969 return dissect_x411_ORAddressAndOptionalDirectoryName(FALSE, tvb, offset, pinfo, tree, hf_x411_originator_or_dl_name);
1975 dissect_x411_MTAOriginatorName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1976 offset = dissect_x411_ORAddressAndOptionalDirectoryName(implicit_tag, tvb, offset, pinfo, tree, hf_index);
1980 static int dissect_mta_originator_name(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1981 return dissect_x411_MTAOriginatorName(FALSE, tvb, offset, pinfo, tree, hf_x411_mta_originator_name);
1985 static const asn_namedbit BuiltInEncodedInformationTypes_bits[] = {
1986 { 0, &hf_x411_BuiltInEncodedInformationTypes_unknown, -1, -1, "unknown", NULL },
1987 { 2, &hf_x411_BuiltInEncodedInformationTypes_ia5_text, -1, -1, "ia5-text", NULL },
1988 { 3, &hf_x411_BuiltInEncodedInformationTypes_g3_facsimile, -1, -1, "g3-facsimile", NULL },
1989 { 4, &hf_x411_BuiltInEncodedInformationTypes_g4_class_1, -1, -1, "g4-class-1", NULL },
1990 { 5, &hf_x411_BuiltInEncodedInformationTypes_teletex, -1, -1, "teletex", NULL },
1991 { 6, &hf_x411_BuiltInEncodedInformationTypes_videotex, -1, -1, "videotex", NULL },
1992 { 7, &hf_x411_BuiltInEncodedInformationTypes_voice, -1, -1, "voice", NULL },
1993 { 8, &hf_x411_BuiltInEncodedInformationTypes_sfd, -1, -1, "sfd", NULL },
1994 { 9, &hf_x411_BuiltInEncodedInformationTypes_mixed_mode, -1, -1, "mixed-mode", NULL },
1995 { 0, NULL, 0, 0, NULL, NULL }
1999 dissect_x411_BuiltInEncodedInformationTypes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2000 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
2001 BuiltInEncodedInformationTypes_bits, hf_index, ett_x411_BuiltInEncodedInformationTypes,
2006 static int dissect_built_in_encoded_information_types_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2007 return dissect_x411_BuiltInEncodedInformationTypes(TRUE, tvb, offset, pinfo, tree, hf_x411_built_in_encoded_information_types);
2011 static const asn_namedbit G3FacsimileNonBasicParameters_bits[] = {
2012 { 8, &hf_x411_G3FacsimileNonBasicParameters_two_dimensional, -1, -1, "two-dimensional", NULL },
2013 { 9, &hf_x411_G3FacsimileNonBasicParameters_fine_resolution, -1, -1, "fine-resolution", NULL },
2014 { 20, &hf_x411_G3FacsimileNonBasicParameters_unlimited_length, -1, -1, "unlimited-length", NULL },
2015 { 21, &hf_x411_G3FacsimileNonBasicParameters_b4_length, -1, -1, "b4-length", NULL },
2016 { 22, &hf_x411_G3FacsimileNonBasicParameters_a3_width, -1, -1, "a3-width", NULL },
2017 { 23, &hf_x411_G3FacsimileNonBasicParameters_b4_width, -1, -1, "b4-width", NULL },
2018 { 25, &hf_x411_G3FacsimileNonBasicParameters_t6_coding, -1, -1, "t6-coding", NULL },
2019 { 30, &hf_x411_G3FacsimileNonBasicParameters_uncompressed, -1, -1, "uncompressed", NULL },
2020 { 37, &hf_x411_G3FacsimileNonBasicParameters_width_middle_864_of_1728, -1, -1, "width-middle-864-of-1728", NULL },
2021 { 38, &hf_x411_G3FacsimileNonBasicParameters_width_middle_1216_of_1728, -1, -1, "width-middle-1216-of-1728", NULL },
2022 { 44, &hf_x411_G3FacsimileNonBasicParameters_resolution_type, -1, -1, "resolution-type", NULL },
2023 { 45, &hf_x411_G3FacsimileNonBasicParameters_resolution_400x400, -1, -1, "resolution-400x400", NULL },
2024 { 46, &hf_x411_G3FacsimileNonBasicParameters_resolution_300x300, -1, -1, "resolution-300x300", NULL },
2025 { 47, &hf_x411_G3FacsimileNonBasicParameters_resolution_8x15, -1, -1, "resolution-8x15", NULL },
2026 { 49, &hf_x411_G3FacsimileNonBasicParameters_edi, -1, -1, "edi", NULL },
2027 { 50, &hf_x411_G3FacsimileNonBasicParameters_dtm, -1, -1, "dtm", NULL },
2028 { 51, &hf_x411_G3FacsimileNonBasicParameters_bft, -1, -1, "bft", NULL },
2029 { 58, &hf_x411_G3FacsimileNonBasicParameters_mixed_mode, -1, -1, "mixed-mode", NULL },
2030 { 60, &hf_x411_G3FacsimileNonBasicParameters_character_mode, -1, -1, "character-mode", NULL },
2031 { 65, &hf_x411_G3FacsimileNonBasicParameters_twelve_bits, -1, -1, "twelve-bits", NULL },
2032 { 66, &hf_x411_G3FacsimileNonBasicParameters_preferred_huffmann, -1, -1, "preferred-huffmann", NULL },
2033 { 67, &hf_x411_G3FacsimileNonBasicParameters_full_colour, -1, -1, "full-colour", NULL },
2034 { 68, &hf_x411_G3FacsimileNonBasicParameters_jpeg, -1, -1, "jpeg", NULL },
2035 { 71, &hf_x411_G3FacsimileNonBasicParameters_processable_mode_26, -1, -1, "processable-mode-26", NULL },
2036 { 0, NULL, 0, 0, NULL, NULL }
2040 dissect_x411_G3FacsimileNonBasicParameters(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2041 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
2042 G3FacsimileNonBasicParameters_bits, hf_index, ett_x411_G3FacsimileNonBasicParameters,
2047 static int dissect_g3_facsimile_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2048 return dissect_x411_G3FacsimileNonBasicParameters(TRUE, tvb, offset, pinfo, tree, hf_x411_g3_facsimile);
2054 dissect_x411_TeletexString(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2055 #line 472 "x411.cnf"
2056 tvbuff_t *tstring = NULL;
2058 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString,
2059 pinfo, tree, tvb, offset, hf_index,
2063 if(doing_address && tstring)
2064 g_strlcat(oraddress, tvb_format_text(tstring, 0, tvb_length(tstring)), MAX_ORA_STR_LEN);
2071 static int dissect_teletex_surname_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2072 return dissect_x411_TeletexString(TRUE, tvb, offset, pinfo, tree, hf_x411_teletex_surname);
2074 static int dissect_teletex_given_name_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2075 return dissect_x411_TeletexString(TRUE, tvb, offset, pinfo, tree, hf_x411_teletex_given_name);
2077 static int dissect_teletex_initials_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2078 return dissect_x411_TeletexString(TRUE, tvb, offset, pinfo, tree, hf_x411_teletex_initials);
2080 static int dissect_teletex_generation_qualifier_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2081 return dissect_x411_TeletexString(TRUE, tvb, offset, pinfo, tree, hf_x411_teletex_generation_qualifier);
2083 static int dissect_teletex_string(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2084 return dissect_x411_TeletexString(FALSE, tvb, offset, pinfo, tree, hf_x411_teletex_string);
2086 static int dissect_type(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2087 return dissect_x411_TeletexString(FALSE, tvb, offset, pinfo, tree, hf_x411_type);
2089 static int dissect_teletex_value(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2090 return dissect_x411_TeletexString(FALSE, tvb, offset, pinfo, tree, hf_x411_teletex_value);
2092 static int dissect_graphic_character_sets_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2093 return dissect_x411_TeletexString(TRUE, tvb, offset, pinfo, tree, hf_x411_graphic_character_sets);
2095 static int dissect_control_character_sets_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2096 return dissect_x411_TeletexString(TRUE, tvb, offset, pinfo, tree, hf_x411_control_character_sets);
2098 static int dissect_miscellaneous_terminal_capabilities_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2099 return dissect_x411_TeletexString(TRUE, tvb, offset, pinfo, tree, hf_x411_miscellaneous_terminal_capabilities);
2103 static const ber_sequence_t TeletexNonBasicParameters_set[] = {
2104 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_graphic_character_sets_impl },
2105 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_control_character_sets_impl },
2106 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_page_formats_impl },
2107 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_miscellaneous_terminal_capabilities_impl },
2108 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_private_use_impl },
2113 dissect_x411_TeletexNonBasicParameters(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2114 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
2115 TeletexNonBasicParameters_set, hf_index, ett_x411_TeletexNonBasicParameters);
2119 static int dissect_teletex_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2120 return dissect_x411_TeletexNonBasicParameters(TRUE, tvb, offset, pinfo, tree, hf_x411_teletex);
2126 dissect_x411_ExtendedEncodedInformationType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2127 offset = dissect_ber_object_identifier(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
2131 static int dissect_ExtendedEncodedInformationTypes_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2132 return dissect_x411_ExtendedEncodedInformationType(FALSE, tvb, offset, pinfo, tree, hf_x411_ExtendedEncodedInformationTypes_item);
2136 static const ber_sequence_t ExtendedEncodedInformationTypes_set_of[1] = {
2137 { BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_ExtendedEncodedInformationTypes_item },
2141 dissect_x411_ExtendedEncodedInformationTypes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2142 offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
2143 ExtendedEncodedInformationTypes_set_of, hf_index, ett_x411_ExtendedEncodedInformationTypes);
2147 static int dissect_unacceptable_eits_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2148 return dissect_x411_ExtendedEncodedInformationTypes(TRUE, tvb, offset, pinfo, tree, hf_x411_unacceptable_eits);
2150 static int dissect_acceptable_eits_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2151 return dissect_x411_ExtendedEncodedInformationTypes(TRUE, tvb, offset, pinfo, tree, hf_x411_acceptable_eits);
2153 static int dissect_exclusively_acceptable_eits_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2154 return dissect_x411_ExtendedEncodedInformationTypes(TRUE, tvb, offset, pinfo, tree, hf_x411_exclusively_acceptable_eits);
2156 static int dissect_extended_encoded_information_types_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2157 return dissect_x411_ExtendedEncodedInformationTypes(TRUE, tvb, offset, pinfo, tree, hf_x411_extended_encoded_information_types);
2161 static const ber_sequence_t EncodedInformationTypes_set[] = {
2162 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_built_in_encoded_information_types_impl },
2163 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_g3_facsimile_impl },
2164 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_teletex_impl },
2165 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extended_encoded_information_types_impl },
2170 dissect_x411_EncodedInformationTypes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2171 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
2172 EncodedInformationTypes_set, hf_index, ett_x411_EncodedInformationTypes);
2176 static int dissect_waiting_encoded_information_types(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2177 return dissect_x411_EncodedInformationTypes(FALSE, tvb, offset, pinfo, tree, hf_x411_waiting_encoded_information_types);
2183 dissect_x411_OriginalEncodedInformationTypes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2184 offset = dissect_x411_EncodedInformationTypes(implicit_tag, tvb, offset, pinfo, tree, hf_index);
2188 static int dissect_original_encoded_information_types(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2189 return dissect_x411_OriginalEncodedInformationTypes(FALSE, tvb, offset, pinfo, tree, hf_x411_original_encoded_information_types);
2191 static int dissect_original_encoded_information_types_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2192 return dissect_x411_OriginalEncodedInformationTypes(TRUE, tvb, offset, pinfo, tree, hf_x411_original_encoded_information_types);
2196 static const value_string x411_BuiltInContentType_vals[] = {
2197 { 0, "unidentified" },
2199 { 2, "interpersonal-messaging-1984" },
2200 { 22, "interpersonal-messaging-1988" },
2201 { 35, "edi-messaging" },
2202 { 40, "voice-messaging" },
2208 dissect_x411_BuiltInContentType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2209 #line 344 "x411.cnf"
2212 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2216 /* convert integer content type to oid for dispatch when the content is found */
2219 content_type_id = ep_strdup("2.6.1.10.0");
2222 content_type_id = ep_strdup("2.6.1.10.1");
2232 static int dissect_built_in(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2233 return dissect_x411_BuiltInContentType(FALSE, tvb, offset, pinfo, tree, hf_x411_built_in);
2235 static int dissect_built_in_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2236 return dissect_x411_BuiltInContentType(TRUE, tvb, offset, pinfo, tree, hf_x411_built_in);
2242 dissect_x411_ExtendedContentType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2243 #line 328 "x411.cnf"
2244 const char *name = NULL;
2246 offset = dissect_ber_object_identifier_str(implicit_tag, pinfo, tree, tvb, offset, hf_index, &content_type_id);
2249 if(content_type_id) {
2250 name = get_ber_oid_name(content_type_id);
2252 if(!name) name = content_type_id;
2254 proto_item_append_text(tree, " (%s)", name);
2261 static int dissect_extended(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2262 return dissect_x411_ExtendedContentType(FALSE, tvb, offset, pinfo, tree, hf_x411_extended);
2266 static const value_string x411_ContentType_vals[] = {
2272 static const ber_choice_t ContentType_choice[] = {
2273 { 0, BER_CLASS_APP, 6, BER_FLAGS_NOOWNTAG, dissect_built_in },
2274 { 1, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_extended },
2275 { 0, 0, 0, 0, NULL }
2279 dissect_x411_ContentType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2280 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
2281 ContentType_choice, hf_index, ett_x411_ContentType,
2286 static int dissect_content_type(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2287 return dissect_x411_ContentType(FALSE, tvb, offset, pinfo, tree, hf_x411_content_type);
2289 static int dissect_waiting_content_types_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2290 return dissect_x411_ContentType(FALSE, tvb, offset, pinfo, tree, hf_x411_waiting_content_types_item);
2292 static int dissect_ContentTypes_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2293 return dissect_x411_ContentType(FALSE, tvb, offset, pinfo, tree, hf_x411_ContentTypes_item);
2299 dissect_x411_ContentIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2300 #line 294 "x411.cnf"
2302 gboolean pc, ind_field;
2307 /* XXX asn2eth can not yet handle tagged assignment yes so this
2308 * XXX is some conformance file magic to work around that bug
2310 offset = get_ber_identifier(tvb, offset, &class, &pc, &tag);
2311 offset = get_ber_length(tree, tvb, offset, &len1, &ind_field);
2314 /* this is magic I haven't seen used before - I've stripped the tag - but now I'm going to say it is IMPLICIT! */
2315 offset = dissect_ber_restricted_string(TRUE, BER_UNI_TAG_PrintableString,
2316 pinfo, tree, tvb, offset, hf_index,
2324 static int dissect_content_identifier(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2325 return dissect_x411_ContentIdentifier(FALSE, tvb, offset, pinfo, tree, hf_x411_content_identifier);
2327 static int dissect_content_identifier_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2328 return dissect_x411_ContentIdentifier(TRUE, tvb, offset, pinfo, tree, hf_x411_content_identifier);
2332 static const value_string x411_Priority_vals[] = {
2334 { 1, "non-urgent" },
2341 dissect_x411_Priority(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2342 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2347 static int dissect_priority(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2348 return dissect_x411_Priority(FALSE, tvb, offset, pinfo, tree, hf_x411_priority);
2350 static int dissect_permissible_lowest_priority(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2351 return dissect_x411_Priority(FALSE, tvb, offset, pinfo, tree, hf_x411_permissible_lowest_priority);
2353 static int dissect_priority_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2354 return dissect_x411_Priority(FALSE, tvb, offset, pinfo, tree, hf_x411_priority_item);
2358 static const asn_namedbit PerMessageIndicators_bits[] = {
2359 { 0, &hf_x411_PerMessageIndicators_disclosure_of_other_recipients, -1, -1, "disclosure-of-other-recipients", NULL },
2360 { 1, &hf_x411_PerMessageIndicators_implicit_conversion_prohibited, -1, -1, "implicit-conversion-prohibited", NULL },
2361 { 2, &hf_x411_PerMessageIndicators_alternate_recipient_allowed, -1, -1, "alternate-recipient-allowed", NULL },
2362 { 3, &hf_x411_PerMessageIndicators_content_return_request, -1, -1, "content-return-request", NULL },
2363 { 4, &hf_x411_PerMessageIndicators_reserved, -1, -1, "reserved", NULL },
2364 { 5, &hf_x411_PerMessageIndicators_bit_5, -1, -1, "bit-5", NULL },
2365 { 6, &hf_x411_PerMessageIndicators_bit_6, -1, -1, "bit-6", NULL },
2366 { 7, &hf_x411_PerMessageIndicators_service_message, -1, -1, "service-message", NULL },
2367 { 0, NULL, 0, 0, NULL, NULL }
2371 dissect_x411_PerMessageIndicators(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2372 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
2373 PerMessageIndicators_bits, hf_index, ett_x411_PerMessageIndicators,
2378 static int dissect_per_message_indicators(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2379 return dissect_x411_PerMessageIndicators(FALSE, tvb, offset, pinfo, tree, hf_x411_per_message_indicators);
2385 dissect_x411_Time(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2386 #line 605 "x411.cnf"
2387 tvbuff_t *arrival = NULL;
2389 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_UTCTime,
2390 pinfo, tree, tvb, offset, hf_index,
2395 proto_item_append_text(address_item, " %s", tvb_format_text(arrival, 0, tvb_length(arrival)));
2401 static int dissect_redirection_time(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2402 return dissect_x411_Time(FALSE, tvb, offset, pinfo, tree, hf_x411_redirection_time);
2404 static int dissect_dl_expansion_time(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2405 return dissect_x411_Time(FALSE, tvb, offset, pinfo, tree, hf_x411_dl_expansion_time);
2407 static int dissect_origination_or_expansion_time(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2408 return dissect_x411_Time(FALSE, tvb, offset, pinfo, tree, hf_x411_origination_or_expansion_time);
2414 dissect_x411_DeferredDeliveryTime(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2415 offset = dissect_x411_Time(implicit_tag, tvb, offset, pinfo, tree, hf_index);
2419 static int dissect_deferred_delivery_time_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2420 return dissect_x411_DeferredDeliveryTime(TRUE, tvb, offset, pinfo, tree, hf_x411_deferred_delivery_time);
2424 static const ber_sequence_t T_private_domain_sequence[] = {
2425 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_administration_domain_name_impl },
2426 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_private_domain_identifier_impl },
2431 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_) {
2432 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2433 T_private_domain_sequence, hf_index, ett_x411_T_private_domain);
2437 static int dissect_private_domain(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2438 return dissect_x411_T_private_domain(FALSE, tvb, offset, pinfo, tree, hf_x411_private_domain);
2442 static const value_string x411_T_domain_vals[] = {
2443 { 0, "administration-domain-name" },
2444 { 1, "private-domain" },
2448 static const ber_choice_t T_domain_choice[] = {
2449 { 0, BER_CLASS_APP, 2, BER_FLAGS_NOOWNTAG, dissect_administration_domain_name },
2450 { 1, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_private_domain },
2451 { 0, 0, 0, 0, NULL }
2455 dissect_x411_T_domain(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2456 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
2457 T_domain_choice, hf_index, ett_x411_T_domain,
2462 static int dissect_bilateral_domain(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2463 return dissect_x411_T_domain(FALSE, tvb, offset, pinfo, tree, hf_x411_bilateral_domain);
2467 static const ber_sequence_t PerDomainBilateralInformation_sequence[] = {
2468 { BER_CLASS_APP, 1, BER_FLAGS_NOOWNTAG, dissect_country_name },
2469 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_bilateral_domain },
2474 dissect_x411_PerDomainBilateralInformation(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2475 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2476 PerDomainBilateralInformation_sequence, hf_index, ett_x411_PerDomainBilateralInformation);
2480 static int dissect_per_domain_bilateral_information_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2481 return dissect_x411_PerDomainBilateralInformation(FALSE, tvb, offset, pinfo, tree, hf_x411_per_domain_bilateral_information_item);
2485 static const ber_sequence_t SEQUENCE_OF_PerDomainBilateralInformation_sequence_of[1] = {
2486 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_per_domain_bilateral_information_item },
2490 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_) {
2491 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
2492 SEQUENCE_OF_PerDomainBilateralInformation_sequence_of, hf_index, ett_x411_SEQUENCE_OF_PerDomainBilateralInformation);
2496 static int dissect_per_domain_bilateral_information_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2497 return dissect_x411_SEQUENCE_OF_PerDomainBilateralInformation(TRUE, tvb, offset, pinfo, tree, hf_x411_per_domain_bilateral_information);
2503 dissect_x411_ArrivalTime(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2504 offset = dissect_x411_Time(implicit_tag, tvb, offset, pinfo, tree, hf_index);
2508 static int dissect_arrival_time_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2509 return dissect_x411_ArrivalTime(TRUE, tvb, offset, pinfo, tree, hf_x411_arrival_time);
2513 static const value_string x411_RoutingAction_vals[] = {
2521 dissect_x411_RoutingAction(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2522 #line 616 "x411.cnf"
2525 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2529 proto_item_append_text(address_item, " %s", val_to_str(action, x411_RoutingAction_vals, "action(%d)"));
2535 static int dissect_routing_action_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2536 return dissect_x411_RoutingAction(TRUE, tvb, offset, pinfo, tree, hf_x411_routing_action);
2542 dissect_x411_DeferredTime(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2543 offset = dissect_x411_Time(implicit_tag, tvb, offset, pinfo, tree, hf_index);
2547 static int dissect_deferred_time_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2548 return dissect_x411_DeferredTime(TRUE, tvb, offset, pinfo, tree, hf_x411_deferred_time);
2554 dissect_x411_ConvertedEncodedInformationTypes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2555 offset = dissect_x411_EncodedInformationTypes(implicit_tag, tvb, offset, pinfo, tree, hf_index);
2559 static int dissect_converted_encoded_information_types(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2560 return dissect_x411_ConvertedEncodedInformationTypes(FALSE, tvb, offset, pinfo, tree, hf_x411_converted_encoded_information_types);
2562 static int dissect_converted_encoded_information_types_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2563 return dissect_x411_ConvertedEncodedInformationTypes(TRUE, tvb, offset, pinfo, tree, hf_x411_converted_encoded_information_types);
2567 static const asn_namedbit OtherActions_bits[] = {
2568 { 0, &hf_x411_OtherActions_redirected, -1, -1, "redirected", NULL },
2569 { 1, &hf_x411_OtherActions_dl_operation, -1, -1, "dl-operation", NULL },
2570 { 0, NULL, 0, 0, NULL, NULL }
2574 dissect_x411_OtherActions(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2575 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
2576 OtherActions_bits, hf_index, ett_x411_OtherActions,
2581 static int dissect_other_actions_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2582 return dissect_x411_OtherActions(TRUE, tvb, offset, pinfo, tree, hf_x411_other_actions);
2586 static const ber_sequence_t DomainSuppliedInformation_set[] = {
2587 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_arrival_time_impl },
2588 { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_routing_action_impl },
2589 { BER_CLASS_APP, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_attempted_domain },
2590 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_deferred_time_impl },
2591 { BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_converted_encoded_information_types },
2592 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_other_actions_impl },
2597 dissect_x411_DomainSuppliedInformation(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2598 #line 584 "x411.cnf"
2600 doing_address = FALSE;
2602 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
2603 DomainSuppliedInformation_set, hf_index, ett_x411_DomainSuppliedInformation);
2606 doing_address = TRUE;
2607 proto_item_append_text(tree, ")");
2613 static int dissect_domain_supplied_information(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2614 return dissect_x411_DomainSuppliedInformation(FALSE, tvb, offset, pinfo, tree, hf_x411_domain_supplied_information);
2618 static const ber_sequence_t TraceInformationElement_sequence[] = {
2619 { BER_CLASS_APP, 3, BER_FLAGS_NOOWNTAG, dissect_global_domain_identifier },
2620 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_domain_supplied_information },
2625 dissect_x411_TraceInformationElement(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2626 #line 567 "x411.cnf"
2628 doing_address = TRUE;
2630 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2631 TraceInformationElement_sequence, hf_index, ett_x411_TraceInformationElement);
2634 doing_address = FALSE;
2640 static int dissect_TraceInformation_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2641 return dissect_x411_TraceInformationElement(FALSE, tvb, offset, pinfo, tree, hf_x411_TraceInformation_item);
2645 static const ber_sequence_t TraceInformation_sequence_of[1] = {
2646 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_TraceInformation_item },
2650 dissect_x411_TraceInformation(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2651 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
2652 TraceInformation_sequence_of, hf_index, ett_x411_TraceInformation);
2656 static int dissect_trace_information(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2657 return dissect_x411_TraceInformation(FALSE, tvb, offset, pinfo, tree, hf_x411_trace_information);
2661 static const value_string x411_ExtensionType_vals[] = {
2662 { 0, "standard-extension" },
2663 { 3, "private-extension" },
2667 static const ber_choice_t ExtensionType_choice[] = {
2668 { 0, BER_CLASS_CON, 0, 0, dissect_standard_extension_impl },
2669 { 3, BER_CLASS_CON, 3, 0, dissect_private_extension_impl },
2670 { 0, 0, 0, 0, NULL }
2674 dissect_x411_ExtensionType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2675 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
2676 ExtensionType_choice, hf_index, ett_x411_ExtensionType,
2681 static int dissect_extension_type(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2682 return dissect_x411_ExtensionType(FALSE, tvb, offset, pinfo, tree, hf_x411_extension_type);
2686 static const asn_namedbit Criticality_bits[] = {
2687 { 0, &hf_x411_Criticality_for_submission, -1, -1, "for-submission", NULL },
2688 { 1, &hf_x411_Criticality_for_transfer, -1, -1, "for-transfer", NULL },
2689 { 2, &hf_x411_Criticality_for_delivery, -1, -1, "for-delivery", NULL },
2690 { 0, NULL, 0, 0, NULL, NULL }
2694 dissect_x411_Criticality(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2695 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
2696 Criticality_bits, hf_index, ett_x411_Criticality,
2701 static int dissect_criticality_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2702 return dissect_x411_Criticality(TRUE, tvb, offset, pinfo, tree, hf_x411_criticality);
2708 dissect_x411_ExtensionValue(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2709 #line 229 "x411.cnf"
2712 if(extension_id != -1)
2713 offset=call_x411_oid_callback("x411.extension", tvb, offset, pinfo, tree);
2714 else if(object_identifier_id) {
2715 call_ber_oid_callback(object_identifier_id, tvb, offset, pinfo, tree);
2716 name = get_ber_oid_name(object_identifier_id);
2717 proto_item_append_text(tree, " (%s)", name ? name : object_identifier_id);
2725 static int dissect_extension_value_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2726 return dissect_x411_ExtensionValue(TRUE, tvb, offset, pinfo, tree, hf_x411_extension_value);
2730 static const ber_sequence_t ExtensionField_sequence[] = {
2731 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_extension_type },
2732 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_criticality_impl },
2733 { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_extension_value_impl },
2738 dissect_x411_ExtensionField(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2739 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2740 ExtensionField_sequence, hf_index, ett_x411_ExtensionField);
2744 static int dissect_extensions_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2745 return dissect_x411_ExtensionField(FALSE, tvb, offset, pinfo, tree, hf_x411_extensions_item);
2749 static const ber_sequence_t SET_OF_ExtensionField_set_of[1] = {
2750 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_extensions_item },
2754 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_) {
2755 offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
2756 SET_OF_ExtensionField_set_of, hf_index, ett_x411_SET_OF_ExtensionField);
2760 static int dissect_extensions(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2761 return dissect_x411_SET_OF_ExtensionField(FALSE, tvb, offset, pinfo, tree, hf_x411_extensions);
2763 static int dissect_extensions_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2764 return dissect_x411_SET_OF_ExtensionField(TRUE, tvb, offset, pinfo, tree, hf_x411_extensions);
2770 dissect_x411_MTARecipientName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2771 offset = dissect_x411_ORAddressAndOptionalDirectoryName(implicit_tag, tvb, offset, pinfo, tree, hf_index);
2775 static int dissect_recipient_name(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2776 return dissect_x411_MTARecipientName(FALSE, tvb, offset, pinfo, tree, hf_x411_recipient_name);
2782 dissect_x411_OriginallySpecifiedRecipientNumber(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2783 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2788 static int dissect_originally_specified_recipient_number_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2789 return dissect_x411_OriginallySpecifiedRecipientNumber(TRUE, tvb, offset, pinfo, tree, hf_x411_originally_specified_recipient_number);
2793 static const asn_namedbit PerRecipientIndicators_bits[] = {
2794 { 0, &hf_x411_PerRecipientIndicators_responsibility, -1, -1, "responsibility", NULL },
2795 { 1, &hf_x411_PerRecipientIndicators_originating_MTA_report, -1, -1, "originating-MTA-report", NULL },
2796 { 2, &hf_x411_PerRecipientIndicators_originating_MTA_non_delivery_report, -1, -1, "originating-MTA-non-delivery-report", NULL },
2797 { 3, &hf_x411_PerRecipientIndicators_originator_report, -1, -1, "originator-report", NULL },
2798 { 4, &hf_x411_PerRecipientIndicators_originator_non_delivery_report, -1, -1, "originator-non-delivery-report", NULL },
2799 { 5, &hf_x411_PerRecipientIndicators_reserved_5, -1, -1, "reserved-5", NULL },
2800 { 6, &hf_x411_PerRecipientIndicators_reserved_6, -1, -1, "reserved-6", NULL },
2801 { 7, &hf_x411_PerRecipientIndicators_reserved_7, -1, -1, "reserved-7", NULL },
2802 { 0, NULL, 0, 0, NULL, NULL }
2806 dissect_x411_PerRecipientIndicators(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2807 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
2808 PerRecipientIndicators_bits, hf_index, ett_x411_PerRecipientIndicators,
2813 static int dissect_per_recipient_indicators_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2814 return dissect_x411_PerRecipientIndicators(TRUE, tvb, offset, pinfo, tree, hf_x411_per_recipient_indicators);
2818 static const value_string x411_ExplicitConversion_vals[] = {
2819 { 0, "ia5-text-to-teletex" },
2820 { 8, "ia5-text-to-g3-facsimile" },
2821 { 9, "ia5-text-to-g4-class-1" },
2822 { 10, "ia5-text-to-videotex" },
2823 { 11, "teletex-to-ia5-text" },
2824 { 12, "teletex-to-g3-facsimile" },
2825 { 13, "teletex-to-g4-class-1" },
2826 { 14, "teletex-to-videotex" },
2827 { 16, "videotex-to-ia5-text" },
2828 { 17, "videotex-to-teletex" },
2834 dissect_x411_ExplicitConversion(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2835 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2840 static int dissect_explicit_conversion_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2841 return dissect_x411_ExplicitConversion(TRUE, tvb, offset, pinfo, tree, hf_x411_explicit_conversion);
2845 static const ber_sequence_t PerRecipientMessageTransferFields_set[] = {
2846 { BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_recipient_name },
2847 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_originally_specified_recipient_number_impl },
2848 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_per_recipient_indicators_impl },
2849 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_explicit_conversion_impl },
2850 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
2855 dissect_x411_PerRecipientMessageTransferFields(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2856 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
2857 PerRecipientMessageTransferFields_set, hf_index, ett_x411_PerRecipientMessageTransferFields);
2861 static int dissect_per_recipient_message_fields_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2862 return dissect_x411_PerRecipientMessageTransferFields(FALSE, tvb, offset, pinfo, tree, hf_x411_per_recipient_message_fields_item);
2866 static const ber_sequence_t SEQUENCE_OF_PerRecipientMessageTransferFields_sequence_of[1] = {
2867 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_per_recipient_message_fields_item },
2871 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_) {
2872 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
2873 SEQUENCE_OF_PerRecipientMessageTransferFields_sequence_of, hf_index, ett_x411_SEQUENCE_OF_PerRecipientMessageTransferFields);
2877 static int dissect_per_recipient_message_fields_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2878 return dissect_x411_SEQUENCE_OF_PerRecipientMessageTransferFields(TRUE, tvb, offset, pinfo, tree, hf_x411_per_recipient_message_fields);
2882 static const ber_sequence_t MessageTransferEnvelope_set[] = {
2883 { BER_CLASS_APP, 4, BER_FLAGS_NOOWNTAG, dissect_message_identifier },
2884 { BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_mta_originator_name },
2885 { BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_original_encoded_information_types },
2886 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_content_type },
2887 { BER_CLASS_APP, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_content_identifier },
2888 { BER_CLASS_APP, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_priority },
2889 { BER_CLASS_APP, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_per_message_indicators },
2890 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_deferred_delivery_time_impl },
2891 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_per_domain_bilateral_information_impl },
2892 { BER_CLASS_APP, 9, BER_FLAGS_NOOWNTAG, dissect_trace_information },
2893 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
2894 { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_per_recipient_message_fields_impl },
2899 dissect_x411_MessageTransferEnvelope(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2900 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
2901 MessageTransferEnvelope_set, hf_index, ett_x411_MessageTransferEnvelope);
2905 static int dissect_message_envelope(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2906 return dissect_x411_MessageTransferEnvelope(FALSE, tvb, offset, pinfo, tree, hf_x411_message_envelope);
2912 dissect_x411_Content(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2913 #line 361 "x411.cnf"
2916 /* we can do this now constructed octet strings are supported */
2917 offset = dissect_ber_octet_string(FALSE, pinfo, NULL, tvb, offset, hf_index, &next_tvb);
2919 if (next_tvb && content_type_id)
2920 (void) call_ber_oid_callback(content_type_id, next_tvb, 0, pinfo, top_tree ? top_tree : tree);
2926 static int dissect_content(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2927 return dissect_x411_Content(FALSE, tvb, offset, pinfo, tree, hf_x411_content);
2929 static int dissect_returned_content_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2930 return dissect_x411_Content(TRUE, tvb, offset, pinfo, tree, hf_x411_returned_content);
2934 static const ber_sequence_t Message_sequence[] = {
2935 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_message_envelope },
2936 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_content },
2941 dissect_x411_Message(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2942 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2943 Message_sequence, hf_index, ett_x411_Message);
2947 static int dissect_message_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2948 return dissect_x411_Message(TRUE, tvb, offset, pinfo, tree, hf_x411_message);
2954 dissect_x411_ProbeIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2955 offset = dissect_x411_MTSIdentifier(implicit_tag, tvb, offset, pinfo, tree, hf_index);
2959 static int dissect_probe_identifier(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2960 return dissect_x411_ProbeIdentifier(FALSE, tvb, offset, pinfo, tree, hf_x411_probe_identifier);
2966 dissect_x411_ContentLength(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2967 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2972 static int dissect_content_length_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2973 return dissect_x411_ContentLength(TRUE, tvb, offset, pinfo, tree, hf_x411_content_length);
2975 static int dissect_permissible_maximum_content_length_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2976 return dissect_x411_ContentLength(TRUE, tvb, offset, pinfo, tree, hf_x411_permissible_maximum_content_length);
2978 static int dissect_maximum_content_length_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2979 return dissect_x411_ContentLength(TRUE, tvb, offset, pinfo, tree, hf_x411_maximum_content_length);
2983 static const ber_sequence_t PerRecipientProbeTransferFields_set[] = {
2984 { BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_recipient_name },
2985 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_originally_specified_recipient_number_impl },
2986 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_per_recipient_indicators_impl },
2987 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_explicit_conversion_impl },
2988 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
2993 dissect_x411_PerRecipientProbeTransferFields(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2994 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
2995 PerRecipientProbeTransferFields_set, hf_index, ett_x411_PerRecipientProbeTransferFields);
2999 static int dissect_per_recipient_probe_transfer_fields_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3000 return dissect_x411_PerRecipientProbeTransferFields(FALSE, tvb, offset, pinfo, tree, hf_x411_per_recipient_probe_transfer_fields_item);
3004 static const ber_sequence_t SEQUENCE_OF_PerRecipientProbeTransferFields_sequence_of[1] = {
3005 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_per_recipient_probe_transfer_fields_item },
3009 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_) {
3010 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
3011 SEQUENCE_OF_PerRecipientProbeTransferFields_sequence_of, hf_index, ett_x411_SEQUENCE_OF_PerRecipientProbeTransferFields);
3015 static int dissect_per_recipient_probe_transfer_fields_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3016 return dissect_x411_SEQUENCE_OF_PerRecipientProbeTransferFields(TRUE, tvb, offset, pinfo, tree, hf_x411_per_recipient_probe_transfer_fields);
3020 static const ber_sequence_t ProbeTransferEnvelope_set[] = {
3021 { BER_CLASS_APP, 4, BER_FLAGS_NOOWNTAG, dissect_probe_identifier },
3022 { BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_mta_originator_name },
3023 { BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_original_encoded_information_types },
3024 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_content_type },
3025 { BER_CLASS_APP, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_content_identifier },
3026 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_content_length_impl },
3027 { BER_CLASS_APP, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_per_message_indicators },
3028 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_per_domain_bilateral_information_impl },
3029 { BER_CLASS_APP, 9, BER_FLAGS_NOOWNTAG, dissect_trace_information },
3030 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
3031 { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_per_recipient_probe_transfer_fields_impl },
3036 dissect_x411_ProbeTransferEnvelope(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3037 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
3038 ProbeTransferEnvelope_set, hf_index, ett_x411_ProbeTransferEnvelope);
3046 dissect_x411_Probe(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3047 offset = dissect_x411_ProbeTransferEnvelope(implicit_tag, tvb, offset, pinfo, tree, hf_index);
3051 static int dissect_probe_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3052 return dissect_x411_Probe(TRUE, tvb, offset, pinfo, tree, hf_x411_probe);
3058 dissect_x411_ReportIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3059 offset = dissect_x411_MTSIdentifier(implicit_tag, tvb, offset, pinfo, tree, hf_index);
3063 static int dissect_report_identifier(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3064 return dissect_x411_ReportIdentifier(FALSE, tvb, offset, pinfo, tree, hf_x411_report_identifier);
3070 dissect_x411_ReportDestinationName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3071 offset = dissect_x411_ORAddressAndOptionalDirectoryName(implicit_tag, tvb, offset, pinfo, tree, hf_index);
3075 static int dissect_report_destination_name(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3076 return dissect_x411_ReportDestinationName(FALSE, tvb, offset, pinfo, tree, hf_x411_report_destination_name);
3080 static const ber_sequence_t ReportTransferEnvelope_set[] = {
3081 { BER_CLASS_APP, 4, BER_FLAGS_NOOWNTAG, dissect_report_identifier },
3082 { BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_report_destination_name },
3083 { BER_CLASS_APP, 9, BER_FLAGS_NOOWNTAG, dissect_trace_information },
3084 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
3089 dissect_x411_ReportTransferEnvelope(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3090 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
3091 ReportTransferEnvelope_set, hf_index, ett_x411_ReportTransferEnvelope);
3095 static int dissect_report_envelope(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3096 return dissect_x411_ReportTransferEnvelope(FALSE, tvb, offset, pinfo, tree, hf_x411_report_envelope);
3102 dissect_x411_MessageOrProbeIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3103 offset = dissect_x411_MTSIdentifier(implicit_tag, tvb, offset, pinfo, tree, hf_index);
3111 dissect_x411_SubjectIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3112 offset = dissect_x411_MessageOrProbeIdentifier(implicit_tag, tvb, offset, pinfo, tree, hf_index);
3116 static int dissect_subject_identifier(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3117 return dissect_x411_SubjectIdentifier(FALSE, tvb, offset, pinfo, tree, hf_x411_subject_identifier);
3123 dissect_x411_SubjectIntermediateTraceInformation(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3124 offset = dissect_x411_TraceInformation(implicit_tag, tvb, offset, pinfo, tree, hf_index);
3128 static int dissect_subject_intermediate_trace_information(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3129 return dissect_x411_SubjectIntermediateTraceInformation(FALSE, tvb, offset, pinfo, tree, hf_x411_subject_intermediate_trace_information);
3135 dissect_x411_AdditionalInformation(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3136 #line 223 "x411.cnf"
3137 /*XXX not implemented yet */
3143 static int dissect_additional_information_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3144 return dissect_x411_AdditionalInformation(TRUE, tvb, offset, pinfo, tree, hf_x411_additional_information);
3150 dissect_x411_MTAActualRecipientName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3151 offset = dissect_x411_ORAddressAndOptionalDirectoryName(implicit_tag, tvb, offset, pinfo, tree, hf_index);
3155 static int dissect_mta_actual_recipient_name_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3156 return dissect_x411_MTAActualRecipientName(TRUE, tvb, offset, pinfo, tree, hf_x411_mta_actual_recipient_name);
3162 dissect_x411_MessageDeliveryTime(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3163 offset = dissect_x411_Time(implicit_tag, tvb, offset, pinfo, tree, hf_index);
3167 static int dissect_message_delivery_time(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3168 return dissect_x411_MessageDeliveryTime(FALSE, tvb, offset, pinfo, tree, hf_x411_message_delivery_time);
3170 static int dissect_message_delivery_time_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3171 return dissect_x411_MessageDeliveryTime(TRUE, tvb, offset, pinfo, tree, hf_x411_message_delivery_time);
3175 static const value_string x411_TypeOfMTSUser_vals[] = {
3181 { 5, "physical-recipient" },
3188 dissect_x411_TypeOfMTSUser(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3189 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3194 static int dissect_type_of_MTS_user(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3195 return dissect_x411_TypeOfMTSUser(FALSE, tvb, offset, pinfo, tree, hf_x411_type_of_MTS_user);
3197 static int dissect_type_of_MTS_user_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3198 return dissect_x411_TypeOfMTSUser(TRUE, tvb, offset, pinfo, tree, hf_x411_type_of_MTS_user);
3202 static const ber_sequence_t DeliveryReport_set[] = {
3203 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_message_delivery_time_impl },
3204 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_type_of_MTS_user_impl },
3209 dissect_x411_DeliveryReport(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3210 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
3211 DeliveryReport_set, hf_index, ett_x411_DeliveryReport);
3215 static int dissect_delivery_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3216 return dissect_x411_DeliveryReport(TRUE, tvb, offset, pinfo, tree, hf_x411_delivery);
3220 static const value_string x411_NonDeliveryReasonCode_vals[] = {
3221 { 0, "transfer-failure" },
3222 { 1, "unable-to-transfer" },
3223 { 2, "conversion-not-performed" },
3224 { 3, "physical-rendition-not-performed" },
3225 { 4, "physical-delivery-not-performed" },
3226 { 5, "restricted-delivery" },
3227 { 6, "directory-operation-unsuccessful" },
3228 { 7, "deferred-delivery-not-performed" },
3229 { 8, "transfer-failure-for-security-reason" },
3235 dissect_x411_NonDeliveryReasonCode(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3236 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3241 static int dissect_non_delivery_reason_code(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3242 return dissect_x411_NonDeliveryReasonCode(FALSE, tvb, offset, pinfo, tree, hf_x411_non_delivery_reason_code);
3244 static int dissect_non_delivery_reason_code_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3245 return dissect_x411_NonDeliveryReasonCode(TRUE, tvb, offset, pinfo, tree, hf_x411_non_delivery_reason_code);
3249 static const value_string x411_NonDeliveryDiagnosticCode_vals[] = {
3250 { 0, "unrecognised-OR-name" },
3251 { 1, "ambiguous-OR-name" },
3252 { 2, "mts-congestion" },
3253 { 3, "loop-detected" },
3254 { 4, "recipient-unavailable" },
3255 { 5, "maximum-time-expired" },
3256 { 6, "encoded-information-types-unsupported" },
3257 { 7, "content-too-long" },
3258 { 8, "conversion-impractical" },
3259 { 9, "implicit-conversion-prohibited" },
3260 { 10, "implicit-conversion-not-subscribed" },
3261 { 11, "invalid-arguments" },
3262 { 12, "content-syntax-error" },
3263 { 13, "size-constraint-violation" },
3264 { 14, "protocol-violation" },
3265 { 15, "content-type-not-supported" },
3266 { 16, "too-many-recipients" },
3267 { 17, "no-bilateral-agreement" },
3268 { 18, "unsupported-critical-function" },
3269 { 19, "conversion-with-loss-prohibited" },
3270 { 20, "line-too-long" },
3271 { 21, "page-split" },
3272 { 22, "pictorial-symbol-loss" },
3273 { 23, "punctuation-symbol-loss" },
3274 { 24, "alphabetic-character-loss" },
3275 { 25, "multiple-information-loss" },
3276 { 26, "recipient-reassignment-prohibited" },
3277 { 27, "redirection-loop-detected" },
3278 { 28, "dl-expansion-prohibited" },
3279 { 29, "no-dl-submit-permission" },
3280 { 30, "dl-expansion-failure" },
3281 { 31, "physical-rendition-attributes-not-supported" },
3282 { 32, "undeliverable-mail-physical-delivery-address-incorrect" },
3283 { 33, "undeliverable-mail-physical-delivery-office-incorrect-or-invalid" },
3284 { 34, "undeliverable-mail-physical-delivery-address-incomplete" },
3285 { 35, "undeliverable-mail-recipient-unknown" },
3286 { 36, "undeliverable-mail-recipient-deceased" },
3287 { 37, "undeliverable-mail-organization-expired" },
3288 { 38, "undeliverable-mail-recipient-refused-to-accept" },
3289 { 39, "undeliverable-mail-recipient-did-not-claim" },
3290 { 40, "undeliverable-mail-recipient-changed-address-permanently" },
3291 { 41, "undeliverable-mail-recipient-changed-address-temporarily" },
3292 { 42, "undeliverable-mail-recipient-changed-temporary-address" },
3293 { 43, "undeliverable-mail-new-address-unknown" },
3294 { 44, "undeliverable-mail-recipient-did-not-want-forwarding" },
3295 { 45, "undeliverable-mail-originator-prohibited-forwarding" },
3296 { 46, "secure-messaging-error" },
3297 { 47, "unable-to-downgrade" },
3298 { 48, "unable-to-complete-transfer" },
3299 { 49, "transfer-attempts-limit-reached" },
3300 { 50, "incorrect-notification-type" },
3301 { 51, "dl-expansion-prohibited-by-security-policy" },
3302 { 52, "forbidden-alternate-recipient" },
3303 { 53, "security-policy-violation" },
3304 { 54, "security-services-refusal" },
3305 { 55, "unauthorised-dl-member" },
3306 { 56, "unauthorised-dl-name" },
3307 { 57, "unauthorised-originally-intended-recipient-name" },
3308 { 58, "unauthorised-originator-name" },
3309 { 59, "unauthorised-recipient-name" },
3310 { 60, "unreliable-system" },
3311 { 61, "authentication-failure-on-subject-message" },
3312 { 62, "decryption-failed" },
3313 { 63, "decryption-key-unobtainable" },
3314 { 64, "double-envelope-creation-failure" },
3315 { 65, "double-enveloping-message-restoring-failure" },
3316 { 66, "failure-of-proof-of-message" },
3317 { 67, "integrity-failure-on-subject-message" },
3318 { 68, "invalid-security-label" },
3319 { 69, "key-failure" },
3320 { 70, "mandatory-parameter-absence" },
3321 { 71, "operation-security-failure" },
3322 { 72, "repudiation-failure-of-message" },
3323 { 73, "security-context-failure" },
3324 { 74, "token-decryption-failed" },
3325 { 75, "token-error" },
3326 { 76, "unknown-security-label" },
3327 { 77, "unsupported-algorithm-identifier" },
3328 { 78, "unsupported-security-policy" },
3334 dissect_x411_NonDeliveryDiagnosticCode(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3335 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3340 static int dissect_non_delivery_diagnostic_code(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3341 return dissect_x411_NonDeliveryDiagnosticCode(FALSE, tvb, offset, pinfo, tree, hf_x411_non_delivery_diagnostic_code);
3343 static int dissect_non_delivery_diagnostic_code_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3344 return dissect_x411_NonDeliveryDiagnosticCode(TRUE, tvb, offset, pinfo, tree, hf_x411_non_delivery_diagnostic_code);
3348 static const ber_sequence_t NonDeliveryReport_set[] = {
3349 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_non_delivery_reason_code_impl },
3350 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_non_delivery_diagnostic_code_impl },
3355 dissect_x411_NonDeliveryReport(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3356 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
3357 NonDeliveryReport_set, hf_index, ett_x411_NonDeliveryReport);
3361 static int dissect_non_delivery_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3362 return dissect_x411_NonDeliveryReport(TRUE, tvb, offset, pinfo, tree, hf_x411_non_delivery);
3366 static const value_string x411_ReportType_vals[] = {
3368 { 1, "non-delivery" },
3372 static const ber_choice_t ReportType_choice[] = {
3373 { 0, BER_CLASS_CON, 0, 0, dissect_delivery_impl },
3374 { 1, BER_CLASS_CON, 1, 0, dissect_non_delivery_impl },
3375 { 0, 0, 0, 0, NULL }
3379 dissect_x411_ReportType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3380 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
3381 ReportType_choice, hf_index, ett_x411_ReportType,
3386 static int dissect_trace_report_type_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3387 return dissect_x411_ReportType(TRUE, tvb, offset, pinfo, tree, hf_x411_trace_report_type);
3389 static int dissect_delivery_report_type_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3390 return dissect_x411_ReportType(TRUE, tvb, offset, pinfo, tree, hf_x411_delivery_report_type);
3394 static const ber_sequence_t LastTraceInformation_set[] = {
3395 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_arrival_time_impl },
3396 { BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_converted_encoded_information_types },
3397 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_trace_report_type_impl },
3402 dissect_x411_LastTraceInformation(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3403 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
3404 LastTraceInformation_set, hf_index, ett_x411_LastTraceInformation);
3408 static int dissect_last_trace_information_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3409 return dissect_x411_LastTraceInformation(TRUE, tvb, offset, pinfo, tree, hf_x411_last_trace_information);
3415 dissect_x411_MTAOriginallyIntendedRecipientName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3416 offset = dissect_x411_ORAddressAndOptionalDirectoryName(implicit_tag, tvb, offset, pinfo, tree, hf_index);
3420 static int dissect_report_originally_intended_recipient_name_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3421 return dissect_x411_MTAOriginallyIntendedRecipientName(TRUE, tvb, offset, pinfo, tree, hf_x411_report_originally_intended_recipient_name);
3427 dissect_x411_SupplementaryInformation(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3428 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
3429 pinfo, tree, tvb, offset, hf_index,
3434 static int dissect_supplementary_information_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3435 return dissect_x411_SupplementaryInformation(TRUE, tvb, offset, pinfo, tree, hf_x411_supplementary_information);
3439 static const ber_sequence_t PerRecipientReportTransferFields_set[] = {
3440 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mta_actual_recipient_name_impl },
3441 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_originally_specified_recipient_number_impl },
3442 { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_per_recipient_indicators_impl },
3443 { BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_last_trace_information_impl },
3444 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_report_originally_intended_recipient_name_impl },
3445 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_supplementary_information_impl },
3446 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
3451 dissect_x411_PerRecipientReportTransferFields(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3452 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
3453 PerRecipientReportTransferFields_set, hf_index, ett_x411_PerRecipientReportTransferFields);
3457 static int dissect_per_recipient_fields_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3458 return dissect_x411_PerRecipientReportTransferFields(FALSE, tvb, offset, pinfo, tree, hf_x411_per_recipient_fields_item);
3462 static const ber_sequence_t SEQUENCE_OF_PerRecipientReportTransferFields_sequence_of[1] = {
3463 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_per_recipient_fields_item },
3467 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_) {
3468 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
3469 SEQUENCE_OF_PerRecipientReportTransferFields_sequence_of, hf_index, ett_x411_SEQUENCE_OF_PerRecipientReportTransferFields);
3473 static int dissect_per_recipient_report_fields_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3474 return dissect_x411_SEQUENCE_OF_PerRecipientReportTransferFields(TRUE, tvb, offset, pinfo, tree, hf_x411_per_recipient_report_fields);
3478 static const ber_sequence_t ReportTransferContent_set[] = {
3479 { BER_CLASS_APP, 4, BER_FLAGS_NOOWNTAG, dissect_subject_identifier },
3480 { BER_CLASS_APP, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_subject_intermediate_trace_information },
3481 { BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_original_encoded_information_types },
3482 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_content_type },
3483 { BER_CLASS_APP, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_content_identifier },
3484 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_returned_content_impl },
3485 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_additional_information_impl },
3486 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
3487 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_per_recipient_report_fields_impl },
3492 dissect_x411_ReportTransferContent(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3493 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
3494 ReportTransferContent_set, hf_index, ett_x411_ReportTransferContent);
3498 static int dissect_report_content(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3499 return dissect_x411_ReportTransferContent(FALSE, tvb, offset, pinfo, tree, hf_x411_report_content);
3503 static const ber_sequence_t Report_sequence[] = {
3504 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_report_envelope },
3505 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_report_content },
3510 dissect_x411_Report(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3511 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3512 Report_sequence, hf_index, ett_x411_Report);
3516 static int dissect_report_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3517 return dissect_x411_Report(TRUE, tvb, offset, pinfo, tree, hf_x411_report);
3521 static const value_string x411_MTS_APDU_vals[] = {
3528 static const ber_choice_t MTS_APDU_choice[] = {
3529 { 0, BER_CLASS_CON, 0, 0, dissect_message_impl },
3530 { 2, BER_CLASS_CON, 2, 0, dissect_probe_impl },
3531 { 1, BER_CLASS_CON, 1, 0, dissect_report_impl },
3532 { 0, 0, 0, 0, NULL }
3536 dissect_x411_MTS_APDU(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3537 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
3538 MTS_APDU_choice, hf_index, ett_x411_MTS_APDU,
3547 dissect_x411_MTAOriginatorRequestedAlternateRecipient(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3548 offset = dissect_x411_ORAddressAndOptionalDirectoryName(implicit_tag, tvb, offset, pinfo, tree, hf_index);
3554 static const value_string x411_T_attempted_vals[] = {
3560 static const ber_choice_t T_attempted_choice[] = {
3561 { 0, BER_CLASS_UNI, BER_UNI_TAG_IA5String, BER_FLAGS_NOOWNTAG, dissect_mta },
3562 { 1, BER_CLASS_APP, 3, BER_FLAGS_NOOWNTAG, dissect_domain },
3563 { 0, 0, 0, 0, NULL }
3567 dissect_x411_T_attempted(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3568 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
3569 T_attempted_choice, hf_index, ett_x411_T_attempted,
3574 static int dissect_attempted(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3575 return dissect_x411_T_attempted(FALSE, tvb, offset, pinfo, tree, hf_x411_attempted);
3579 static const ber_sequence_t MTASuppliedInformation_set[] = {
3580 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_arrival_time_impl },
3581 { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_routing_action_impl },
3582 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_attempted },
3583 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_deferred_time_impl },
3584 { BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_converted_encoded_information_types },
3585 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_other_actions_impl },
3590 dissect_x411_MTASuppliedInformation(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3591 #line 593 "x411.cnf"
3593 doing_address = FALSE;
3595 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
3596 MTASuppliedInformation_set, hf_index, ett_x411_MTASuppliedInformation);
3599 doing_address = TRUE;
3600 proto_item_append_text(tree, ")");
3606 static int dissect_mta_supplied_information(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3607 return dissect_x411_MTASuppliedInformation(FALSE, tvb, offset, pinfo, tree, hf_x411_mta_supplied_information);
3611 static const ber_sequence_t InternalTraceInformationElement_sequence[] = {
3612 { BER_CLASS_APP, 3, BER_FLAGS_NOOWNTAG, dissect_global_domain_identifier },
3613 { BER_CLASS_UNI, BER_UNI_TAG_IA5String, BER_FLAGS_NOOWNTAG, dissect_mta_name },
3614 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_mta_supplied_information },
3619 dissect_x411_InternalTraceInformationElement(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3620 #line 575 "x411.cnf"
3622 doing_address = TRUE;
3624 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3625 InternalTraceInformationElement_sequence, hf_index, ett_x411_InternalTraceInformationElement);
3628 doing_address = FALSE;
3635 static int dissect_InternalTraceInformation_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3636 return dissect_x411_InternalTraceInformationElement(FALSE, tvb, offset, pinfo, tree, hf_x411_InternalTraceInformation_item);
3640 static const ber_sequence_t InternalTraceInformation_sequence_of[1] = {
3641 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_InternalTraceInformation_item },
3645 dissect_x411_InternalTraceInformation(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3646 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
3647 InternalTraceInformation_sequence_of, hf_index, ett_x411_InternalTraceInformation);
3653 static const value_string x411_ObjectName_vals[] = {
3654 { 0, "user-agent" },
3656 { 2, "message-store" },
3660 static const ber_choice_t ObjectName_choice[] = {
3661 { 0, BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_user_agent },
3662 { 1, BER_CLASS_CON, 0, 0, dissect_mTA_impl },
3663 { 2, BER_CLASS_CON, 4, 0, dissect_message_store_impl },
3664 { 0, 0, 0, 0, NULL }
3668 dissect_x411_ObjectName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3669 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
3670 ObjectName_choice, hf_index, ett_x411_ObjectName,
3675 static int dissect_initiator_name(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3676 return dissect_x411_ObjectName(FALSE, tvb, offset, pinfo, tree, hf_x411_initiator_name);
3678 static int dissect_responder_name(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3679 return dissect_x411_ObjectName(FALSE, tvb, offset, pinfo, tree, hf_x411_responder_name);
3683 static const ber_sequence_t DeliveryQueue_set[] = {
3684 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_messages_impl },
3685 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_delivery_queue_octets_impl },
3690 dissect_x411_DeliveryQueue(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3691 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
3692 DeliveryQueue_set, hf_index, ett_x411_DeliveryQueue);
3696 static int dissect_urgent_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3697 return dissect_x411_DeliveryQueue(TRUE, tvb, offset, pinfo, tree, hf_x411_urgent);
3699 static int dissect_normal_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3700 return dissect_x411_DeliveryQueue(TRUE, tvb, offset, pinfo, tree, hf_x411_normal);
3702 static int dissect_non_urgent_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3703 return dissect_x411_DeliveryQueue(TRUE, tvb, offset, pinfo, tree, hf_x411_non_urgent);
3707 static const ber_sequence_t MessagesWaiting_set[] = {
3708 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_urgent_impl },
3709 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_normal_impl },
3710 { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_non_urgent_impl },
3715 dissect_x411_MessagesWaiting(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3716 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
3717 MessagesWaiting_set, hf_index, ett_x411_MessagesWaiting);
3721 static int dissect_messages_waiting(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3722 return dissect_x411_MessagesWaiting(FALSE, tvb, offset, pinfo, tree, hf_x411_messages_waiting);
3726 static const ber_sequence_t MTSBindArgument_set[] = {
3727 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_initiator_name },
3728 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_messages_waiting },
3729 { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_initiator_credentials_impl },
3730 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_security_context_impl },
3731 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
3736 dissect_x411_MTSBindArgument(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3737 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
3738 MTSBindArgument_set, hf_index, ett_x411_MTSBindArgument);
3744 static const ber_sequence_t MTSBindResult_set[] = {
3745 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_responder_name },
3746 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_messages_waiting },
3747 { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_responder_credentials_impl },
3748 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
3753 dissect_x411_MTSBindResult(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3754 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
3755 MTSBindResult_set, hf_index, ett_x411_MTSBindResult);
3761 static const value_string x411_MTSBindError_vals[] = {
3763 { 2, "authentication-error" },
3764 { 3, "unacceptable-dialogue-mode" },
3765 { 4, "unacceptable-security-context" },
3766 { 5, "inadequate-association-confidentiality" },
3772 dissect_x411_MTSBindError(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3773 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3782 dissect_x411_ORAddressAndOrDirectoryName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3783 offset = dissect_x411_ORName(implicit_tag, tvb, offset, pinfo, tree, hf_index);
3787 static int dissect_DLExemptedRecipients_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3788 return dissect_x411_ORAddressAndOrDirectoryName(FALSE, tvb, offset, pinfo, tree, hf_x411_DLExemptedRecipients_item);
3794 dissect_x411_MTSOriginatorName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3795 offset = dissect_x411_ORAddressAndOrDirectoryName(implicit_tag, tvb, offset, pinfo, tree, hf_index);
3799 static int dissect_mts_originator_name(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3800 return dissect_x411_MTSOriginatorName(FALSE, tvb, offset, pinfo, tree, hf_x411_mts_originator_name);
3806 dissect_x411_MTSRecipientName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3807 offset = dissect_x411_ORAddressAndOrDirectoryName(implicit_tag, tvb, offset, pinfo, tree, hf_index);
3811 static int dissect_ImproperlySpecifiedRecipients_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3812 return dissect_x411_MTSRecipientName(FALSE, tvb, offset, pinfo, tree, hf_x411_ImproperlySpecifiedRecipients_item);
3814 static int dissect_submission_recipient_name(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3815 return dissect_x411_MTSRecipientName(FALSE, tvb, offset, pinfo, tree, hf_x411_submission_recipient_name);
3817 static int dissect_probe_recipient_name(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3818 return dissect_x411_MTSRecipientName(FALSE, tvb, offset, pinfo, tree, hf_x411_probe_recipient_name);
3822 static const asn_namedbit OriginatorReportRequest_bits[] = {
3823 { 3, &hf_x411_OriginatorReportRequest_report, -1, -1, "report", NULL },
3824 { 4, &hf_x411_OriginatorReportRequest_non_delivery_report, -1, -1, "non-delivery-report", NULL },
3825 { 0, NULL, 0, 0, NULL, NULL }
3829 dissect_x411_OriginatorReportRequest(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3830 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
3831 OriginatorReportRequest_bits, hf_index, ett_x411_OriginatorReportRequest,
3836 static int dissect_originator_report_request_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3837 return dissect_x411_OriginatorReportRequest(TRUE, tvb, offset, pinfo, tree, hf_x411_originator_report_request);
3841 static const ber_sequence_t PerRecipientMessageSubmissionFields_set[] = {
3842 { BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_submission_recipient_name },
3843 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_originator_report_request_impl },
3844 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_explicit_conversion_impl },
3845 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
3850 dissect_x411_PerRecipientMessageSubmissionFields(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3851 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
3852 PerRecipientMessageSubmissionFields_set, hf_index, ett_x411_PerRecipientMessageSubmissionFields);
3856 static int dissect_per_recipient_message_submission_fields_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3857 return dissect_x411_PerRecipientMessageSubmissionFields(FALSE, tvb, offset, pinfo, tree, hf_x411_per_recipient_message_submission_fields_item);
3861 static const ber_sequence_t SEQUENCE_OF_PerRecipientMessageSubmissionFields_sequence_of[1] = {
3862 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_per_recipient_message_submission_fields_item },
3866 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_) {
3867 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
3868 SEQUENCE_OF_PerRecipientMessageSubmissionFields_sequence_of, hf_index, ett_x411_SEQUENCE_OF_PerRecipientMessageSubmissionFields);
3872 static int dissect_per_recipient_message_submission_fields_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3873 return dissect_x411_SEQUENCE_OF_PerRecipientMessageSubmissionFields(TRUE, tvb, offset, pinfo, tree, hf_x411_per_recipient_message_submission_fields);
3877 static const ber_sequence_t MessageSubmissionEnvelope_set[] = {
3878 { BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_mts_originator_name },
3879 { BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_original_encoded_information_types },
3880 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_content_type },
3881 { BER_CLASS_APP, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_content_identifier },
3882 { BER_CLASS_APP, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_priority },
3883 { BER_CLASS_APP, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_per_message_indicators },
3884 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_deferred_delivery_time_impl },
3885 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
3886 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_per_recipient_message_submission_fields_impl },
3891 dissect_x411_MessageSubmissionEnvelope(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3892 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
3893 MessageSubmissionEnvelope_set, hf_index, ett_x411_MessageSubmissionEnvelope);
3897 static int dissect_message_submission_envelope(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3898 return dissect_x411_MessageSubmissionEnvelope(FALSE, tvb, offset, pinfo, tree, hf_x411_message_submission_envelope);
3902 static const ber_sequence_t MessageSubmissionArgument_sequence[] = {
3903 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_message_submission_envelope },
3904 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_content },
3909 dissect_x411_MessageSubmissionArgument(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3910 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3911 MessageSubmissionArgument_sequence, hf_index, ett_x411_MessageSubmissionArgument);
3919 dissect_x411_MessageSubmissionIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3920 offset = dissect_x411_MTSIdentifier(implicit_tag, tvb, offset, pinfo, tree, hf_index);
3924 static int dissect_message_submission_identifier(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3925 return dissect_x411_MessageSubmissionIdentifier(FALSE, tvb, offset, pinfo, tree, hf_x411_message_submission_identifier);
3931 dissect_x411_MessageSubmissionTime(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3932 offset = dissect_x411_Time(implicit_tag, tvb, offset, pinfo, tree, hf_index);
3936 static int dissect_message_submission_time_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3937 return dissect_x411_MessageSubmissionTime(TRUE, tvb, offset, pinfo, tree, hf_x411_message_submission_time);
3941 static const ber_sequence_t MessageSubmissionResult_set[] = {
3942 { BER_CLASS_APP, 4, BER_FLAGS_NOOWNTAG, dissect_message_submission_identifier },
3943 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_message_submission_time_impl },
3944 { BER_CLASS_APP, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_content_identifier },
3945 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
3950 dissect_x411_MessageSubmissionResult(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3951 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
3952 MessageSubmissionResult_set, hf_index, ett_x411_MessageSubmissionResult);
3958 static const ber_sequence_t PerRecipientProbeSubmissionFields_set[] = {
3959 { BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_probe_recipient_name },
3960 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_originator_report_request_impl },
3961 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_explicit_conversion_impl },
3962 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
3967 dissect_x411_PerRecipientProbeSubmissionFields(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3968 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
3969 PerRecipientProbeSubmissionFields_set, hf_index, ett_x411_PerRecipientProbeSubmissionFields);
3973 static int dissect_per_recipient_probe_submission_fields_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3974 return dissect_x411_PerRecipientProbeSubmissionFields(FALSE, tvb, offset, pinfo, tree, hf_x411_per_recipient_probe_submission_fields_item);
3978 static const ber_sequence_t SEQUENCE_OF_PerRecipientProbeSubmissionFields_sequence_of[1] = {
3979 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_per_recipient_probe_submission_fields_item },
3983 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_) {
3984 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
3985 SEQUENCE_OF_PerRecipientProbeSubmissionFields_sequence_of, hf_index, ett_x411_SEQUENCE_OF_PerRecipientProbeSubmissionFields);
3989 static int dissect_per_recipient_probe_submission_fields_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3990 return dissect_x411_SEQUENCE_OF_PerRecipientProbeSubmissionFields(TRUE, tvb, offset, pinfo, tree, hf_x411_per_recipient_probe_submission_fields);
3994 static const ber_sequence_t ProbeSubmissionEnvelope_set[] = {
3995 { BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_mts_originator_name },
3996 { BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_original_encoded_information_types },
3997 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_content_type },
3998 { BER_CLASS_APP, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_content_identifier },
3999 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_content_length_impl },
4000 { BER_CLASS_APP, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_per_message_indicators },
4001 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
4002 { BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_per_recipient_probe_submission_fields_impl },
4007 dissect_x411_ProbeSubmissionEnvelope(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4008 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
4009 ProbeSubmissionEnvelope_set, hf_index, ett_x411_ProbeSubmissionEnvelope);
4017 dissect_x411_ProbeSubmissionArgument(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4018 offset = dissect_x411_ProbeSubmissionEnvelope(implicit_tag, tvb, offset, pinfo, tree, hf_index);
4026 dissect_x411_ProbeSubmissionIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4027 offset = dissect_x411_MTSIdentifier(implicit_tag, tvb, offset, pinfo, tree, hf_index);
4031 static int dissect_probe_submission_identifier(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4032 return dissect_x411_ProbeSubmissionIdentifier(FALSE, tvb, offset, pinfo, tree, hf_x411_probe_submission_identifier);
4038 dissect_x411_ProbeSubmissionTime(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4039 offset = dissect_x411_Time(implicit_tag, tvb, offset, pinfo, tree, hf_index);
4043 static int dissect_probe_submission_time_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4044 return dissect_x411_ProbeSubmissionTime(TRUE, tvb, offset, pinfo, tree, hf_x411_probe_submission_time);
4048 static const ber_sequence_t ProbeSubmissionResult_set[] = {
4049 { BER_CLASS_APP, 4, BER_FLAGS_NOOWNTAG, dissect_probe_submission_identifier },
4050 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_probe_submission_time_impl },
4051 { BER_CLASS_APP, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_content_identifier },
4052 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
4057 dissect_x411_ProbeSubmissionResult(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4058 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
4059 ProbeSubmissionResult_set, hf_index, ett_x411_ProbeSubmissionResult);
4067 dissect_x411_CancelDeferredDeliveryArgument(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4068 offset = dissect_x411_MessageSubmissionIdentifier(implicit_tag, tvb, offset, pinfo, tree, hf_index);
4076 dissect_x411_CancelDeferredDeliveryResult(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4077 offset = dissect_ber_null(implicit_tag, pinfo, tree, tvb, offset, hf_index);
4085 dissect_x411_BOOLEAN(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4086 offset = dissect_ber_boolean(implicit_tag, pinfo, tree, tvb, offset, hf_index);
4090 static int dissect_restrict_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4091 return dissect_x411_BOOLEAN(TRUE, tvb, offset, pinfo, tree, hf_x411_restrict);
4093 static int dissect_permitted(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4094 return dissect_x411_BOOLEAN(FALSE, tvb, offset, pinfo, tree, hf_x411_permitted);
4098 static const asn_namedbit Operations_bits[] = {
4099 { 0, &hf_x411_Operations_probe_submission_or_report_delivery, -1, -1, "probe-submission-or-report-delivery", NULL },
4100 { 1, &hf_x411_Operations_message_submission_or_message_delivery, -1, -1, "message-submission-or-message-delivery", NULL },
4101 { 0, NULL, 0, 0, NULL, NULL }
4105 dissect_x411_Operations(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4106 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
4107 Operations_bits, hf_index, ett_x411_Operations,
4112 static int dissect_waiting_operations_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4113 return dissect_x411_Operations(TRUE, tvb, offset, pinfo, tree, hf_x411_waiting_operations);
4115 static int dissect_permissible_operations_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4116 return dissect_x411_Operations(TRUE, tvb, offset, pinfo, tree, hf_x411_permissible_operations);
4120 static const ber_sequence_t ContentTypes_set_of[1] = {
4121 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ContentTypes_item },
4125 dissect_x411_ContentTypes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4126 offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
4127 ContentTypes_set_of, hf_index, ett_x411_ContentTypes);
4131 static int dissect_permissible_content_types_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4132 return dissect_x411_ContentTypes(TRUE, tvb, offset, pinfo, tree, hf_x411_permissible_content_types);
4134 static int dissect_content_types_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4135 return dissect_x411_ContentTypes(TRUE, tvb, offset, pinfo, tree, hf_x411_content_types);
4139 static const ber_sequence_t EncodedInformationTypesConstraints_sequence[] = {
4140 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_unacceptable_eits_impl },
4141 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_acceptable_eits_impl },
4142 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_exclusively_acceptable_eits_impl },
4147 dissect_x411_EncodedInformationTypesConstraints(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4148 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4149 EncodedInformationTypesConstraints_sequence, hf_index, ett_x411_EncodedInformationTypesConstraints);
4153 static int dissect_encoded_information_types_constraints_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4154 return dissect_x411_EncodedInformationTypesConstraints(TRUE, tvb, offset, pinfo, tree, hf_x411_encoded_information_types_constraints);
4160 dissect_x411_PermissibleEncodedInformationTypes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4161 offset = dissect_x411_EncodedInformationTypesConstraints(implicit_tag, tvb, offset, pinfo, tree, hf_index);
4165 static int dissect_permissible_encoded_information_types(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4166 return dissect_x411_PermissibleEncodedInformationTypes(FALSE, tvb, offset, pinfo, tree, hf_x411_permissible_encoded_information_types);
4170 static const ber_sequence_t Controls_set[] = {
4171 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_restrict_impl },
4172 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_permissible_operations_impl },
4173 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_permissible_maximum_content_length_impl },
4174 { BER_CLASS_APP, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_permissible_lowest_priority },
4175 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_permissible_content_types_impl },
4176 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_permissible_encoded_information_types },
4177 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_permissible_security_context_impl },
4182 dissect_x411_Controls(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4183 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
4184 Controls_set, hf_index, ett_x411_Controls);
4192 dissect_x411_SubmissionControls(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4193 offset = dissect_x411_Controls(implicit_tag, tvb, offset, pinfo, tree, hf_index);
4201 dissect_x411_SubmissionControlArgument(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4202 offset = dissect_x411_SubmissionControls(implicit_tag, tvb, offset, pinfo, tree, hf_index);
4208 static const asn_namedbit WaitingMessages_bits[] = {
4209 { 0, &hf_x411_WaitingMessages_long_content, -1, -1, "long-content", NULL },
4210 { 1, &hf_x411_WaitingMessages_low_priority, -1, -1, "low-priority", NULL },
4211 { 2, &hf_x411_WaitingMessages_other_security_labels, -1, -1, "other-security-labels", NULL },
4212 { 0, NULL, 0, 0, NULL, NULL }
4216 dissect_x411_WaitingMessages(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4217 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
4218 WaitingMessages_bits, hf_index, ett_x411_WaitingMessages,
4223 static int dissect_waiting_messages_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4224 return dissect_x411_WaitingMessages(TRUE, tvb, offset, pinfo, tree, hf_x411_waiting_messages);
4228 static const ber_sequence_t SET_OF_ContentType_set_of[1] = {
4229 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_waiting_content_types_item },
4233 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_) {
4234 offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
4235 SET_OF_ContentType_set_of, hf_index, ett_x411_SET_OF_ContentType);
4239 static int dissect_waiting_content_types_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4240 return dissect_x411_SET_OF_ContentType(TRUE, tvb, offset, pinfo, tree, hf_x411_waiting_content_types);
4244 static const ber_sequence_t Waiting_set[] = {
4245 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_waiting_operations_impl },
4246 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_waiting_messages_impl },
4247 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_waiting_content_types_impl },
4248 { BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_waiting_encoded_information_types },
4253 dissect_x411_Waiting(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4254 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
4255 Waiting_set, hf_index, ett_x411_Waiting);
4263 dissect_x411_SubmissionControlResult(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4264 offset = dissect_x411_Waiting(implicit_tag, tvb, offset, pinfo, tree, hf_index);
4270 static const ber_sequence_t ImproperlySpecifiedRecipients_sequence_of[1] = {
4271 { BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_ImproperlySpecifiedRecipients_item },
4275 dissect_x411_ImproperlySpecifiedRecipients(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4276 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
4277 ImproperlySpecifiedRecipients_sequence_of, hf_index, ett_x411_ImproperlySpecifiedRecipients);
4283 static const value_string x411_SecurityProblem_vals[] = {
4284 { 0, "assemby-instructions-conflict-with-security-services" },
4285 { 1, "authentication-problem" },
4286 { 2, "authentication-failure-on-subject-message" },
4287 { 3, "confidentiality-association-problem" },
4288 { 4, "decryption-failed" },
4289 { 5, "decryption-key-unobtainable" },
4290 { 6, "failure-of-proof-of-message" },
4291 { 7, "forbidden-user-security-label-register" },
4292 { 8, "incompatible-change-with-original-security-context" },
4293 { 9, "integrity-failure-on-subject-message" },
4294 { 10, "invalid-security-label" },
4295 { 11, "invalid-security-label-update" },
4296 { 12, "key-failure" },
4297 { 13, "mandatory-parameter-absence" },
4298 { 14, "operation-security-failure" },
4299 { 15, "redirection-prohibited" },
4300 { 16, "refused-alternate-recipient-name" },
4301 { 17, "repudiation-failure-of-message" },
4302 { 18, "responder-credentials-checking-problem" },
4303 { 19, "security-context-failure" },
4304 { 20, "security-context-problem" },
4305 { 21, "security-policy-violation" },
4306 { 22, "security-services-refusal" },
4307 { 23, "token-decryption-failed" },
4308 { 24, "token-error" },
4309 { 25, "unable-to-aggregate-security-labels" },
4310 { 26, "unauthorised-dl-name" },
4311 { 27, "unauthorised-entry-class" },
4312 { 28, "unauthorised-originally-intended-recipient-name" },
4313 { 29, "unauthorised-originator-name" },
4314 { 30, "unauthorised-recipient-name" },
4315 { 31, "unauthorised-security-label-update" },
4316 { 32, "unauthorised-user-name" },
4317 { 33, "unknown-security-label" },
4318 { 34, "unsupported-algorithm-identifier" },
4319 { 35, "unsupported-security-policy" },
4325 dissect_x411_SecurityProblem(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4326 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
4335 dissect_x411_MessageDeliveryIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4336 offset = dissect_x411_MTSIdentifier(implicit_tag, tvb, offset, pinfo, tree, hf_index);
4340 static int dissect_message_delivery_identifier(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4341 return dissect_x411_MessageDeliveryIdentifier(FALSE, tvb, offset, pinfo, tree, hf_x411_message_delivery_identifier);
4345 static const value_string x411_DeliveredContentType_vals[] = {
4351 static const ber_choice_t DeliveredContentType_choice[] = {
4352 { 0, BER_CLASS_CON, 0, 0, dissect_built_in_impl },
4353 { 1, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_extended },
4354 { 0, 0, 0, 0, NULL }
4358 dissect_x411_DeliveredContentType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4359 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
4360 DeliveredContentType_choice, hf_index, ett_x411_DeliveredContentType,
4365 static int dissect_delivered_content_type(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4366 return dissect_x411_DeliveredContentType(FALSE, tvb, offset, pinfo, tree, hf_x411_delivered_content_type);
4372 dissect_x411_DeliveredOriginatorName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4373 offset = dissect_x411_ORAddressAndOptionalDirectoryName(implicit_tag, tvb, offset, pinfo, tree, hf_index);
4377 static int dissect_originator_name(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4378 return dissect_x411_DeliveredOriginatorName(FALSE, tvb, offset, pinfo, tree, hf_x411_originator_name);
4382 static const asn_namedbit DeliveryFlags_bits[] = {
4383 { 1, &hf_x411_DeliveryFlags_implicit_conversion_prohibited, -1, -1, "implicit-conversion-prohibited", NULL },
4384 { 0, NULL, 0, 0, NULL, NULL }
4388 dissect_x411_DeliveryFlags(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4389 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
4390 DeliveryFlags_bits, hf_index, ett_x411_DeliveryFlags,
4395 static int dissect_delivery_flags_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4396 return dissect_x411_DeliveryFlags(TRUE, tvb, offset, pinfo, tree, hf_x411_delivery_flags);
4402 dissect_x411_OtherRecipientName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4403 offset = dissect_x411_ORAddressAndOptionalDirectoryName(implicit_tag, tvb, offset, pinfo, tree, hf_index);
4407 static int dissect_OtherRecipientNames_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4408 return dissect_x411_OtherRecipientName(FALSE, tvb, offset, pinfo, tree, hf_x411_OtherRecipientNames_item);
4412 static const ber_sequence_t OtherRecipientNames_sequence_of[1] = {
4413 { BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_OtherRecipientNames_item },
4417 dissect_x411_OtherRecipientNames(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4418 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
4419 OtherRecipientNames_sequence_of, hf_index, ett_x411_OtherRecipientNames);
4423 static int dissect_other_recipient_names_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4424 return dissect_x411_OtherRecipientNames(TRUE, tvb, offset, pinfo, tree, hf_x411_other_recipient_names);
4430 dissect_x411_ThisRecipientName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4431 offset = dissect_x411_ORAddressAndOptionalDirectoryName(implicit_tag, tvb, offset, pinfo, tree, hf_index);
4435 static int dissect_this_recipient_name_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4436 return dissect_x411_ThisRecipientName(TRUE, tvb, offset, pinfo, tree, hf_x411_this_recipient_name);
4442 dissect_x411_MTSOriginallyIntendedRecipientName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4443 offset = dissect_x411_ORAddressAndOptionalDirectoryName(implicit_tag, tvb, offset, pinfo, tree, hf_index);
4447 static int dissect_originally_intended_recipient_name(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4448 return dissect_x411_MTSOriginallyIntendedRecipientName(FALSE, tvb, offset, pinfo, tree, hf_x411_originally_intended_recipient_name);
4450 static int dissect_originally_intended_recipient_name_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4451 return dissect_x411_MTSOriginallyIntendedRecipientName(TRUE, tvb, offset, pinfo, tree, hf_x411_originally_intended_recipient_name);
4455 static const ber_sequence_t OtherMessageDeliveryFields_set[] = {
4456 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_delivered_content_type },
4457 { BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_originator_name },
4458 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_original_encoded_information_types_impl },
4459 { BER_CLASS_APP, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_priority },
4460 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_delivery_flags_impl },
4461 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_other_recipient_names_impl },
4462 { BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_this_recipient_name_impl },
4463 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_originally_intended_recipient_name_impl },
4464 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_converted_encoded_information_types_impl },
4465 { BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_message_submission_time_impl },
4466 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_content_identifier_impl },
4467 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
4472 dissect_x411_OtherMessageDeliveryFields(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4473 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
4474 OtherMessageDeliveryFields_set, hf_index, ett_x411_OtherMessageDeliveryFields);
4478 static int dissect_other_fields(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4479 return dissect_x411_OtherMessageDeliveryFields(FALSE, tvb, offset, pinfo, tree, hf_x411_other_fields);
4483 static const ber_sequence_t MessageDeliveryArgument_sequence[] = {
4484 { BER_CLASS_APP, 4, BER_FLAGS_NOOWNTAG, dissect_message_delivery_identifier },
4485 { BER_CLASS_UNI, BER_UNI_TAG_UTCTime, BER_FLAGS_NOOWNTAG, dissect_message_delivery_time },
4486 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_other_fields },
4487 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_content },
4492 dissect_x411_MessageDeliveryArgument(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4493 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4494 MessageDeliveryArgument_sequence, hf_index, ett_x411_MessageDeliveryArgument);
4502 dissect_x411_RecipientCertificate(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4503 offset = dissect_x509af_Certificates(implicit_tag, tvb, offset, pinfo, tree, hf_index);
4507 static int dissect_recipient_certificate_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4508 return dissect_x411_RecipientCertificate(TRUE, tvb, offset, pinfo, tree, hf_x411_recipient_certificate);
4514 dissect_x411_ProofOfDelivery(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4515 offset = dissect_x411_Signature(implicit_tag, tvb, offset, pinfo, tree, hf_index);
4519 static int dissect_proof_of_delivery_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4520 return dissect_x411_ProofOfDelivery(TRUE, tvb, offset, pinfo, tree, hf_x411_proof_of_delivery);
4524 static const ber_sequence_t MessageDeliveryResult_set[] = {
4525 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_recipient_certificate_impl },
4526 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_proof_of_delivery_impl },
4527 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
4532 dissect_x411_MessageDeliveryResult(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4533 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
4534 MessageDeliveryResult_set, hf_index, ett_x411_MessageDeliveryResult);
4542 dissect_x411_SubjectSubmissionIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4543 offset = dissect_x411_MTSIdentifier(implicit_tag, tvb, offset, pinfo, tree, hf_index);
4547 static int dissect_subject_submission_identifier(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4548 return dissect_x411_SubjectSubmissionIdentifier(FALSE, tvb, offset, pinfo, tree, hf_x411_subject_submission_identifier);
4554 dissect_x411_MTSActualRecipientName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4555 offset = dissect_x411_ORAddressAndOrDirectoryName(implicit_tag, tvb, offset, pinfo, tree, hf_index);
4559 static int dissect_actual_recipient_name(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4560 return dissect_x411_MTSActualRecipientName(FALSE, tvb, offset, pinfo, tree, hf_x411_actual_recipient_name);
4562 static int dissect_actual_recipient_name_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4563 return dissect_x411_MTSActualRecipientName(TRUE, tvb, offset, pinfo, tree, hf_x411_actual_recipient_name);
4567 static const ber_sequence_t PerRecipientReportDeliveryFields_set[] = {
4568 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_actual_recipient_name_impl },
4569 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_delivery_report_type_impl },
4570 { BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_converted_encoded_information_types },
4571 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_originally_intended_recipient_name_impl },
4572 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_supplementary_information_impl },
4573 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
4578 dissect_x411_PerRecipientReportDeliveryFields(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4579 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
4580 PerRecipientReportDeliveryFields_set, hf_index, ett_x411_PerRecipientReportDeliveryFields);
4584 static int dissect_per_recipient_report_delivery_fields_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4585 return dissect_x411_PerRecipientReportDeliveryFields(FALSE, tvb, offset, pinfo, tree, hf_x411_per_recipient_report_delivery_fields_item);
4589 static const ber_sequence_t SEQUENCE_OF_PerRecipientReportDeliveryFields_sequence_of[1] = {
4590 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_per_recipient_report_delivery_fields_item },
4594 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_) {
4595 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
4596 SEQUENCE_OF_PerRecipientReportDeliveryFields_sequence_of, hf_index, ett_x411_SEQUENCE_OF_PerRecipientReportDeliveryFields);
4600 static int dissect_per_recipient_report_delivery_fields(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4601 return dissect_x411_SEQUENCE_OF_PerRecipientReportDeliveryFields(FALSE, tvb, offset, pinfo, tree, hf_x411_per_recipient_report_delivery_fields);
4605 static const ber_sequence_t ReportDeliveryArgument_set[] = {
4606 { BER_CLASS_APP, 4, BER_FLAGS_NOOWNTAG, dissect_subject_submission_identifier },
4607 { BER_CLASS_APP, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_content_identifier },
4608 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_content_type },
4609 { BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_original_encoded_information_types },
4610 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
4611 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_per_recipient_report_delivery_fields },
4612 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_returned_content_impl },
4617 dissect_x411_ReportDeliveryArgument(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4618 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
4619 ReportDeliveryArgument_set, hf_index, ett_x411_ReportDeliveryArgument);
4625 static const value_string x411_ReportDeliveryResult_vals[] = {
4626 { 0, "empty-result" },
4627 { 1, "extensions" },
4628 { 2, "extensions" },
4632 static const ber_choice_t ReportDeliveryResult_choice[] = {
4633 { 0, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_empty_result },
4634 { 1, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_extensions },
4635 { 2, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_extensions },
4636 { 3, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_extensions },
4637 { 0, 0, 0, 0, NULL }
4641 dissect_x411_ReportDeliveryResult(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4642 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
4643 ReportDeliveryResult_choice, hf_index, ett_x411_ReportDeliveryResult,
4650 static const ber_sequence_t DeliveryControlArgument_set[] = {
4651 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_restrict_impl },
4652 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_permissible_operations_impl },
4653 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_permissible_maximum_content_length_impl },
4654 { BER_CLASS_APP, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_permissible_lowest_priority },
4655 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_permissible_content_types_impl },
4656 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_permissible_encoded_information_types },
4657 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_permissible_security_context_impl },
4658 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
4663 dissect_x411_DeliveryControlArgument(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 DeliveryControlArgument_set, hf_index, ett_x411_DeliveryControlArgument);
4671 static const ber_sequence_t DeliveryControlResult_set[] = {
4672 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_waiting_operations_impl },
4673 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_waiting_messages_impl },
4674 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_waiting_content_types_impl },
4675 { BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_waiting_encoded_information_types },
4676 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
4681 dissect_x411_DeliveryControlResult(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4682 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
4683 DeliveryControlResult_set, hf_index, ett_x411_DeliveryControlResult);
4689 static const value_string x411_RefusedArgument_vals[] = {
4691 { 1, "user-address" },
4692 { 2, "deliverable-content-types" },
4693 { 3, "deliverable-maximum-content-length" },
4694 { 4, "deliverable-encoded-information-types-constraints" },
4695 { 5, "deliverable-security-labels" },
4696 { 6, "recipient-assigned-redirections" },
4697 { 7, "restricted-delivery" },
4698 { 8, "retrieve-registrations" },
4700 { 11, "permissible-operations" },
4701 { 12, "permissible-lowest-priority" },
4702 { 13, "permissible-encoded-information-types" },
4703 { 14, "permissible-content-types" },
4704 { 15, "permissible-maximum-content-length" },
4705 { 16, "permissible-security-context" },
4711 dissect_x411_RefusedArgument(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4712 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
4717 static int dissect_built_in_argument_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4718 return dissect_x411_RefusedArgument(TRUE, tvb, offset, pinfo, tree, hf_x411_built_in_argument);
4724 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_) {
4725 #line 249 "x411.cnf"
4726 /*XXX not implemented yet */
4732 static int dissect_refused_extension(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4733 return dissect_x411_T_refused_extension(FALSE, tvb, offset, pinfo, tree, hf_x411_refused_extension);
4737 static const value_string x411_T_refused_argument_vals[] = {
4738 { 0, "built-in-argument" },
4739 { 1, "refused-extension" },
4743 static const ber_choice_t T_refused_argument_choice[] = {
4744 { 0, BER_CLASS_CON, 1, 0, dissect_built_in_argument_impl },
4745 { 1, BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_refused_extension },
4746 { 0, 0, 0, 0, NULL }
4750 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_) {
4751 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
4752 T_refused_argument_choice, hf_index, ett_x411_T_refused_argument,
4757 static int dissect_refused_argument(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4758 return dissect_x411_T_refused_argument(FALSE, tvb, offset, pinfo, tree, hf_x411_refused_argument);
4762 static const value_string x411_RefusalReason_vals[] = {
4763 { 0, "facility-unavailable" },
4764 { 1, "facility-not-subscribed" },
4765 { 2, "parameter-unacceptable" },
4771 dissect_x411_RefusalReason(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4772 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
4777 static int dissect_refusal_reason_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4778 return dissect_x411_RefusalReason(TRUE, tvb, offset, pinfo, tree, hf_x411_refusal_reason);
4782 static const ber_sequence_t RefusedOperation_set[] = {
4783 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_refused_argument },
4784 { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_refusal_reason_impl },
4789 dissect_x411_RefusedOperation(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4790 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
4791 RefusedOperation_set, hf_index, ett_x411_RefusedOperation);
4799 dissect_x411_ProofOfDeliveryAlgorithmIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4800 offset = dissect_x509af_AlgorithmIdentifier(implicit_tag, tvb, offset, pinfo, tree, hf_index);
4808 dissect_x411_DeliveryControls(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4809 offset = dissect_x411_Controls(implicit_tag, tvb, offset, pinfo, tree, hf_index);
4817 dissect_x411_UserName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4818 offset = dissect_x411_ORAddressAndOptionalDirectoryName(implicit_tag, tvb, offset, pinfo, tree, hf_index);
4822 static int dissect_user_name(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4823 return dissect_x411_UserName(FALSE, tvb, offset, pinfo, tree, hf_x411_user_name);
4827 static const ber_sequence_t T_x121_sequence[] = {
4828 { BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x121_address },
4829 { BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_tsap_id },
4834 dissect_x411_T_x121(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4835 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4836 T_x121_sequence, hf_index, ett_x411_T_x121);
4840 static int dissect_x121_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4841 return dissect_x411_T_x121(TRUE, tvb, offset, pinfo, tree, hf_x411_x121);
4847 dissect_x411_PSAPAddress(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4848 offset = dissect_x509sat_PresentationAddress(implicit_tag, tvb, offset, pinfo, tree, hf_index);
4852 static int dissect_presentation_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4853 return dissect_x411_PSAPAddress(TRUE, tvb, offset, pinfo, tree, hf_x411_presentation);
4857 static const value_string x411_UserAddress_vals[] = {
4859 { 1, "presentation" },
4863 static const ber_choice_t UserAddress_choice[] = {
4864 { 0, BER_CLASS_CON, 0, 0, dissect_x121_impl },
4865 { 1, BER_CLASS_CON, 1, 0, dissect_presentation_impl },
4866 { 0, 0, 0, 0, NULL }
4870 dissect_x411_UserAddress(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4871 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
4872 UserAddress_choice, hf_index, ett_x411_UserAddress,
4877 static int dissect_user_address_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4878 return dissect_x411_UserAddress(TRUE, tvb, offset, pinfo, tree, hf_x411_user_address);
4882 static const ber_sequence_t SET_OF_Priority_set_of[1] = {
4883 { BER_CLASS_APP, 7, BER_FLAGS_NOOWNTAG, dissect_priority_item },
4887 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_) {
4888 offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
4889 SET_OF_Priority_set_of, hf_index, ett_x411_SET_OF_Priority);
4893 static int dissect_class_priority_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4894 return dissect_x411_SET_OF_Priority(TRUE, tvb, offset, pinfo, tree, hf_x411_class_priority);
4898 static const value_string x411_T_objects_vals[] = {
4907 dissect_x411_T_objects(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4908 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
4913 static int dissect_objects_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4914 return dissect_x411_T_objects(TRUE, tvb, offset, pinfo, tree, hf_x411_objects);
4918 static const asn_namedbit T_source_type_bits[] = {
4919 { 0, &hf_x411_T_source_type_originated_by, -1, -1, "originated-by", NULL },
4920 { 1, &hf_x411_T_source_type_redirected_by, -1, -1, "redirected-by", NULL },
4921 { 2, &hf_x411_T_source_type_dl_expanded_by, -1, -1, "dl-expanded-by", NULL },
4922 { 0, NULL, 0, 0, NULL, NULL }
4926 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_) {
4927 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
4928 T_source_type_bits, hf_index, ett_x411_T_source_type,
4933 static int dissect_source_type(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4934 return dissect_x411_T_source_type(FALSE, tvb, offset, pinfo, tree, hf_x411_source_type);
4938 static const value_string x411_ExactOrPattern_vals[] = {
4939 { 0, "exact-match" },
4940 { 1, "pattern-match" },
4944 static const ber_choice_t ExactOrPattern_choice[] = {
4945 { 0, BER_CLASS_CON, 0, 0, dissect_exact_match_impl },
4946 { 1, BER_CLASS_CON, 1, 0, dissect_pattern_match_impl },
4947 { 0, 0, 0, 0, NULL }
4951 dissect_x411_ExactOrPattern(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4952 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
4953 ExactOrPattern_choice, hf_index, ett_x411_ExactOrPattern,
4958 static int dissect_source_name(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4959 return dissect_x411_ExactOrPattern(FALSE, tvb, offset, pinfo, tree, hf_x411_source_name);
4963 static const ber_sequence_t Restriction_set[] = {
4964 { BER_CLASS_UNI, BER_UNI_TAG_BOOLEAN, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_permitted },
4965 { BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_source_type },
4966 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_source_name },
4971 dissect_x411_Restriction(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4972 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
4973 Restriction_set, hf_index, ett_x411_Restriction);
4977 static int dissect_applies_only_to_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4978 return dissect_x411_Restriction(FALSE, tvb, offset, pinfo, tree, hf_x411_applies_only_to_item);
4980 static int dissect_RestrictedDelivery_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4981 return dissect_x411_Restriction(FALSE, tvb, offset, pinfo, tree, hf_x411_RestrictedDelivery_item);
4985 static const ber_sequence_t SEQUENCE_OF_Restriction_sequence_of[1] = {
4986 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_applies_only_to_item },
4990 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_) {
4991 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
4992 SEQUENCE_OF_Restriction_sequence_of, hf_index, ett_x411_SEQUENCE_OF_Restriction);
4996 static int dissect_applies_only_to_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4997 return dissect_x411_SEQUENCE_OF_Restriction(TRUE, tvb, offset, pinfo, tree, hf_x411_applies_only_to);
5001 static const ber_sequence_t MessageClass_set[] = {
5002 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_content_types_impl },
5003 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_maximum_content_length_impl },
5004 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_encoded_information_types_constraints_impl },
5005 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_security_labels_impl },
5006 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_class_priority_impl },
5007 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_objects_impl },
5008 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_applies_only_to_impl },
5009 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
5014 dissect_x411_MessageClass(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5015 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
5016 MessageClass_set, hf_index, ett_x411_MessageClass);
5024 dissect_x411_DeliverableClass(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5025 offset = dissect_x411_MessageClass(implicit_tag, tvb, offset, pinfo, tree, hf_index);
5029 static int dissect_deliverable_class_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5030 return dissect_x411_DeliverableClass(FALSE, tvb, offset, pinfo, tree, hf_x411_deliverable_class_item);
5034 static const ber_sequence_t SET_OF_DeliverableClass_set_of[1] = {
5035 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_deliverable_class_item },
5039 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_) {
5040 offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
5041 SET_OF_DeliverableClass_set_of, hf_index, ett_x411_SET_OF_DeliverableClass);
5045 static int dissect_deliverable_class(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5046 return dissect_x411_SET_OF_DeliverableClass(FALSE, tvb, offset, pinfo, tree, hf_x411_deliverable_class);
5052 dissect_x411_DefaultDeliveryControls(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5053 offset = dissect_x411_Controls(implicit_tag, tvb, offset, pinfo, tree, hf_index);
5057 static int dissect_default_delivery_controls(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5058 return dissect_x411_DefaultDeliveryControls(FALSE, tvb, offset, pinfo, tree, hf_x411_default_delivery_controls);
5064 dissect_x411_RedirectionClass(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5065 offset = dissect_x411_MessageClass(implicit_tag, tvb, offset, pinfo, tree, hf_index);
5069 static int dissect_redirection_classes_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5070 return dissect_x411_RedirectionClass(FALSE, tvb, offset, pinfo, tree, hf_x411_redirection_classes_item);
5074 static const ber_sequence_t SET_OF_RedirectionClass_set_of[1] = {
5075 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_redirection_classes_item },
5079 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_) {
5080 offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
5081 SET_OF_RedirectionClass_set_of, hf_index, ett_x411_SET_OF_RedirectionClass);
5085 static int dissect_redirection_classes_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5086 return dissect_x411_SET_OF_RedirectionClass(TRUE, tvb, offset, pinfo, tree, hf_x411_redirection_classes);
5092 dissect_x411_RecipientAssignedAlternateRecipient(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5093 offset = dissect_x411_ORAddressAndOrDirectoryName(implicit_tag, tvb, offset, pinfo, tree, hf_index);
5097 static int dissect_recipient_assigned_alternate_recipient_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5098 return dissect_x411_RecipientAssignedAlternateRecipient(TRUE, tvb, offset, pinfo, tree, hf_x411_recipient_assigned_alternate_recipient);
5102 static const ber_sequence_t RecipientRedirection_set[] = {
5103 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_redirection_classes_impl },
5104 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_recipient_assigned_alternate_recipient_impl },
5109 dissect_x411_RecipientRedirection(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5110 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
5111 RecipientRedirection_set, hf_index, ett_x411_RecipientRedirection);
5115 static int dissect_Redirections_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5116 return dissect_x411_RecipientRedirection(FALSE, tvb, offset, pinfo, tree, hf_x411_Redirections_item);
5120 static const ber_sequence_t Redirections_sequence_of[1] = {
5121 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_Redirections_item },
5125 dissect_x411_Redirections(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5126 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
5127 Redirections_sequence_of, hf_index, ett_x411_Redirections);
5131 static int dissect_redirections_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5132 return dissect_x411_Redirections(TRUE, tvb, offset, pinfo, tree, hf_x411_redirections);
5136 static const ber_sequence_t RestrictedDelivery_sequence_of[1] = {
5137 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_RestrictedDelivery_item },
5141 dissect_x411_RestrictedDelivery(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5142 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
5143 RestrictedDelivery_sequence_of, hf_index, ett_x411_RestrictedDelivery);
5147 static int dissect_restricted_delivery_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5148 return dissect_x411_RestrictedDelivery(TRUE, tvb, offset, pinfo, tree, hf_x411_restricted_delivery);
5152 static const asn_namedbit T_standard_parameters_bits[] = {
5153 { 0, &hf_x411_T_standard_parameters_user_name, -1, -1, "user-name", NULL },
5154 { 1, &hf_x411_T_standard_parameters_user_address, -1, -1, "user-address", NULL },
5155 { 2, &hf_x411_T_standard_parameters_deliverable_class, -1, -1, "deliverable-class", NULL },
5156 { 3, &hf_x411_T_standard_parameters_default_delivery_controls, -1, -1, "default-delivery-controls", NULL },
5157 { 4, &hf_x411_T_standard_parameters_redirections, -1, -1, "redirections", NULL },
5158 { 5, &hf_x411_T_standard_parameters_restricted_delivery, -1, -1, "restricted-delivery", NULL },
5159 { 0, NULL, 0, 0, NULL, NULL }
5163 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_) {
5164 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
5165 T_standard_parameters_bits, hf_index, ett_x411_T_standard_parameters,
5170 static int dissect_standard_parameters_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5171 return dissect_x411_T_standard_parameters(TRUE, tvb, offset, pinfo, tree, hf_x411_standard_parameters);
5177 dissect_x411_T_extensions_item(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5178 #line 226 "x411.cnf"
5179 /*XXX not implemented yet */
5185 static int dissect_type_extensions_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5186 return dissect_x411_T_extensions_item(FALSE, tvb, offset, pinfo, tree, hf_x411_type_extensions_item);
5190 static const ber_sequence_t T_extensions_set_of[1] = {
5191 { BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_type_extensions_item },
5195 dissect_x411_T_extensions(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5196 offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
5197 T_extensions_set_of, hf_index, ett_x411_T_extensions);
5201 static int dissect_type_extensions_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5202 return dissect_x411_T_extensions(TRUE, tvb, offset, pinfo, tree, hf_x411_type_extensions);
5206 static const ber_sequence_t RegistrationTypes_sequence[] = {
5207 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_standard_parameters_impl },
5208 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_type_extensions_impl },
5213 dissect_x411_RegistrationTypes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5214 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5215 RegistrationTypes_sequence, hf_index, ett_x411_RegistrationTypes);
5219 static int dissect_retrieve_registrations_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5220 return dissect_x411_RegistrationTypes(TRUE, tvb, offset, pinfo, tree, hf_x411_retrieve_registrations);
5224 static const ber_sequence_t RegisterArgument_set[] = {
5225 { BER_CLASS_APP, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_user_name },
5226 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_user_address_impl },
5227 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_deliverable_class },
5228 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_default_delivery_controls },
5229 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_redirections_impl },
5230 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_restricted_delivery_impl },
5231 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_retrieve_registrations_impl },
5232 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
5237 dissect_x411_RegisterArgument(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5238 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
5239 RegisterArgument_set, hf_index, ett_x411_RegisterArgument);
5243 static int dissect_registered_information_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5244 return dissect_x411_RegisterArgument(TRUE, tvb, offset, pinfo, tree, hf_x411_registered_information);
5248 static const ber_sequence_t T_non_empty_result_set[] = {
5249 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_registered_information_impl },
5250 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
5255 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_) {
5256 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
5257 T_non_empty_result_set, hf_index, ett_x411_T_non_empty_result);
5261 static int dissect_non_empty_result(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5262 return dissect_x411_T_non_empty_result(FALSE, tvb, offset, pinfo, tree, hf_x411_non_empty_result);
5266 static const value_string x411_RegisterResult_vals[] = {
5267 { 0, "empty-result" },
5268 { 1, "non-empty-result" },
5272 static const ber_choice_t RegisterResult_choice[] = {
5273 { 0, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_empty_result },
5274 { 1, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_non_empty_result },
5275 { 0, 0, 0, 0, NULL }
5279 dissect_x411_RegisterResult(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5280 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
5281 RegisterResult_choice, hf_index, ett_x411_RegisterResult,
5288 static const ber_sequence_t ChangeCredentialsArgument_set[] = {
5289 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_old_credentials_impl },
5290 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_new_credentials_impl },
5295 dissect_x411_ChangeCredentialsArgument(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5296 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
5297 ChangeCredentialsArgument_set, hf_index, ett_x411_ChangeCredentialsArgument);
5303 static const ber_sequence_t MessageDeliveryEnvelope_sequence[] = {
5304 { BER_CLASS_APP, 4, BER_FLAGS_NOOWNTAG, dissect_message_delivery_identifier },
5305 { BER_CLASS_UNI, BER_UNI_TAG_UTCTime, BER_FLAGS_NOOWNTAG, dissect_message_delivery_time },
5306 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_other_fields },
5311 dissect_x411_MessageDeliveryEnvelope(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5312 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5313 MessageDeliveryEnvelope_sequence, hf_index, ett_x411_MessageDeliveryEnvelope);
5319 static const ber_sequence_t ReportDeliveryEnvelope_set[] = {
5320 { BER_CLASS_APP, 4, BER_FLAGS_NOOWNTAG, dissect_subject_submission_identifier },
5321 { BER_CLASS_APP, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_content_identifier },
5322 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_content_type },
5323 { BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_original_encoded_information_types },
5324 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
5325 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_per_recipient_report_delivery_fields },
5330 dissect_x411_ReportDeliveryEnvelope(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5331 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
5332 ReportDeliveryEnvelope_set, hf_index, ett_x411_ReportDeliveryEnvelope);
5338 static const value_string x411_RecipientReassignmentProhibited_vals[] = {
5339 { 0, "recipient-reassignment-allowed" },
5340 { 1, "recipient-reassignment-prohibited" },
5346 dissect_x411_RecipientReassignmentProhibited(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5347 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5356 dissect_x411_MTSOriginatorRequestedAlternateRecipient(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5357 offset = dissect_x411_ORAddressAndOrDirectoryName(implicit_tag, tvb, offset, pinfo, tree, hf_index);
5363 static const value_string x411_DLExpansionProhibited_vals[] = {
5364 { 0, "dl-expansion-allowed" },
5365 { 1, "dl-expansion-prohibited" },
5371 dissect_x411_DLExpansionProhibited(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5372 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5379 static const value_string x411_ConversionWithLossProhibited_vals[] = {
5380 { 0, "conversion-with-loss-allowed" },
5381 { 1, "conversion-with-loss-prohibited" },
5387 dissect_x411_ConversionWithLossProhibited(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5388 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5397 dissect_x411_LatestDeliveryTime(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5398 offset = dissect_x411_Time(implicit_tag, tvb, offset, pinfo, tree, hf_index);
5404 static const value_string x411_RequestedDeliveryMethod_item_vals[] = {
5405 { 0, "any-delivery-method" },
5406 { 1, "mhs-delivery" },
5407 { 2, "physical-delivery" },
5408 { 3, "telex-delivery" },
5409 { 4, "teletex-delivery" },
5410 { 5, "g3-facsimile-delivery" },
5411 { 6, "g4-facsimile-delivery" },
5412 { 7, "ia5-terminal-delivery" },
5413 { 8, "videotex-delivery" },
5414 { 9, "telephone-delivery" },
5420 dissect_x411_RequestedDeliveryMethod_item(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5421 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5426 static int dissect_RequestedDeliveryMethod_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5427 return dissect_x411_RequestedDeliveryMethod_item(FALSE, tvb, offset, pinfo, tree, hf_x411_RequestedDeliveryMethod_item);
5431 static const ber_sequence_t RequestedDeliveryMethod_sequence_of[1] = {
5432 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_RequestedDeliveryMethod_item },
5436 dissect_x411_RequestedDeliveryMethod(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5437 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
5438 RequestedDeliveryMethod_sequence_of, hf_index, ett_x411_RequestedDeliveryMethod);
5444 static const value_string x411_PhysicalForwardingProhibited_vals[] = {
5445 { 0, "physical-forwarding-allowed" },
5446 { 1, "physical-forwarding-prohibited" },
5452 dissect_x411_PhysicalForwardingProhibited(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5453 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5460 static const value_string x411_PhysicalForwardingAddressRequest_vals[] = {
5461 { 0, "physical-forwarding-address-not-requested" },
5462 { 1, "physical-forwarding-address-requested" },
5468 dissect_x411_PhysicalForwardingAddressRequest(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5469 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5476 static const asn_namedbit PhysicalDeliveryModes_bits[] = {
5477 { 0, &hf_x411_PhysicalDeliveryModes_ordinary_mail, -1, -1, "ordinary-mail", NULL },
5478 { 1, &hf_x411_PhysicalDeliveryModes_special_delivery, -1, -1, "special-delivery", NULL },
5479 { 2, &hf_x411_PhysicalDeliveryModes_express_mail, -1, -1, "express-mail", NULL },
5480 { 3, &hf_x411_PhysicalDeliveryModes_counter_collection, -1, -1, "counter-collection", NULL },
5481 { 4, &hf_x411_PhysicalDeliveryModes_counter_collection_with_telephone_advice, -1, -1, "counter-collection-with-telephone-advice", NULL },
5482 { 5, &hf_x411_PhysicalDeliveryModes_counter_collection_with_telex_advice, -1, -1, "counter-collection-with-telex-advice", NULL },
5483 { 6, &hf_x411_PhysicalDeliveryModes_counter_collection_with_teletex_advice, -1, -1, "counter-collection-with-teletex-advice", NULL },
5484 { 7, &hf_x411_PhysicalDeliveryModes_bureau_fax_delivery, -1, -1, "bureau-fax-delivery", NULL },
5485 { 0, NULL, 0, 0, NULL, NULL }
5489 dissect_x411_PhysicalDeliveryModes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5490 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
5491 PhysicalDeliveryModes_bits, hf_index, ett_x411_PhysicalDeliveryModes,
5498 static const value_string x411_RegisteredMailType_vals[] = {
5499 { 0, "non-registered-mail" },
5500 { 1, "registered-mail" },
5501 { 2, "registered-mail-to-addressee-in-person" },
5507 dissect_x411_RegisteredMailType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5508 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5517 dissect_x411_RecipientNumberForAdvice(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5518 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString,
5519 pinfo, tree, tvb, offset, hf_index,
5528 dissect_x411_PhysicalRenditionAttributes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5529 offset = dissect_ber_object_identifier(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
5535 static const ber_sequence_t ORAddress_sequence[] = {
5536 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_built_in_standard_attributes },
5537 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_built_in_domain_defined_attributes },
5538 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extension_attributes },
5543 dissect_x411_ORAddress(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5544 #line 505 "x411.cnf"
5546 oraddress = ep_alloc(MAX_ORA_STR_LEN); oraddress[0] = '\0';
5547 doing_address = TRUE;
5548 address_item = NULL;
5550 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5551 ORAddress_sequence, hf_index, ett_x411_ORAddress);
5554 if(*oraddress && address_item)
5555 proto_item_append_text(address_item, " %s/", oraddress);
5557 doing_address = FALSE;
5567 dissect_x411_OriginatorReturnAddress(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5568 offset = dissect_x411_ORAddress(implicit_tag, tvb, offset, pinfo, tree, hf_index);
5574 static const value_string x411_PhysicalDeliveryReportRequest_vals[] = {
5575 { 0, "return-of-undeliverable-mail-by-PDS" },
5576 { 1, "return-of-notification-by-PDS" },
5577 { 2, "return-of-notification-by-MHS" },
5578 { 3, "return-of-notification-by-MHS-and-PDS" },
5584 dissect_x411_PhysicalDeliveryReportRequest(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5585 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5594 dissect_x411_OriginatorCertificate(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5595 offset = dissect_x509af_Certificates(implicit_tag, tvb, offset, pinfo, tree, hf_index);
5603 dissect_x411_ContentConfidentialityAlgorithmIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5604 offset = dissect_x509af_AlgorithmIdentifier(implicit_tag, tvb, offset, pinfo, tree, hf_index);
5612 dissect_x411_ContentIntegrityCheck(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5613 offset = dissect_x411_Signature(implicit_tag, tvb, offset, pinfo, tree, hf_index);
5621 dissect_x411_ContentIntegrityAlgorithmIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5622 offset = dissect_x509af_AlgorithmIdentifier(implicit_tag, tvb, offset, pinfo, tree, hf_index);
5630 dissect_x411_MessageOriginAuthenticationCheck(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5631 offset = dissect_x411_Signature(implicit_tag, tvb, offset, pinfo, tree, hf_index);
5639 dissect_x411_MessageOriginAuthenticationAlgorithmIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5640 offset = dissect_x509af_AlgorithmIdentifier(implicit_tag, tvb, offset, pinfo, tree, hf_index);
5648 dissect_x411_MessageSecurityLabel(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5649 offset = dissect_x411_SecurityLabel(implicit_tag, tvb, offset, pinfo, tree, hf_index);
5655 static const value_string x411_ProofOfSubmissionRequest_vals[] = {
5656 { 0, "proof-of-submission-not-requested" },
5657 { 1, "proof-of-submission-requested" },
5663 dissect_x411_ProofOfSubmissionRequest(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5664 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5671 static const value_string x411_ProofOfDeliveryRequest_vals[] = {
5672 { 0, "proof-of-delivery-not-requested" },
5673 { 1, "proof-of-delivery-requested" },
5679 dissect_x411_ProofOfDeliveryRequest(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5680 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5687 static const value_string x411_ContentCorrelator_vals[] = {
5693 static const ber_choice_t ContentCorrelator_choice[] = {
5694 { 0, BER_CLASS_UNI, BER_UNI_TAG_IA5String, BER_FLAGS_NOOWNTAG, dissect_ia5text },
5695 { 1, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_octets },
5696 { 0, 0, 0, 0, NULL }
5700 dissect_x411_ContentCorrelator(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5701 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
5702 ContentCorrelator_choice, hf_index, ett_x411_ContentCorrelator,
5711 dissect_x411_ProbeOriginAuthenticationCheck(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5712 offset = dissect_x411_Signature(implicit_tag, tvb, offset, pinfo, tree, hf_index);
5720 dissect_x411_ProbeOriginAuthenticationAlgorithmIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5721 offset = dissect_x509af_AlgorithmIdentifier(implicit_tag, tvb, offset, pinfo, tree, hf_index);
5727 static const ber_sequence_t IntendedRecipientName_sequence[] = {
5728 { BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_intended_recipient },
5729 { BER_CLASS_UNI, BER_UNI_TAG_UTCTime, BER_FLAGS_NOOWNTAG, dissect_redirection_time },
5734 dissect_x411_IntendedRecipientName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5735 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5736 IntendedRecipientName_sequence, hf_index, ett_x411_IntendedRecipientName);
5740 static int dissect_intended_recipient_name(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5741 return dissect_x411_IntendedRecipientName(FALSE, tvb, offset, pinfo, tree, hf_x411_intended_recipient_name);
5745 static const value_string x411_RedirectionReason_vals[] = {
5746 { 0, "recipient-assigned-alternate-recipient" },
5747 { 1, "originator-requested-alternate-recipient" },
5748 { 2, "recipient-MD-assigned-alternate-recipient" },
5749 { 3, "directory-look-up" },
5756 dissect_x411_RedirectionReason(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5757 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5762 static int dissect_redirection_reason(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5763 return dissect_x411_RedirectionReason(FALSE, tvb, offset, pinfo, tree, hf_x411_redirection_reason);
5767 static const ber_sequence_t Redirection_sequence[] = {
5768 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_intended_recipient_name },
5769 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_redirection_reason },
5774 dissect_x411_Redirection(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5775 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5776 Redirection_sequence, hf_index, ett_x411_Redirection);
5780 static int dissect_RedirectionHistory_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5781 return dissect_x411_Redirection(FALSE, tvb, offset, pinfo, tree, hf_x411_RedirectionHistory_item);
5785 static const ber_sequence_t RedirectionHistory_sequence_of[1] = {
5786 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_RedirectionHistory_item },
5790 dissect_x411_RedirectionHistory(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5791 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
5792 RedirectionHistory_sequence_of, hf_index, ett_x411_RedirectionHistory);
5798 static const ber_sequence_t DLExpansion_sequence[] = {
5799 { BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_dl },
5800 { BER_CLASS_UNI, BER_UNI_TAG_UTCTime, BER_FLAGS_NOOWNTAG, dissect_dl_expansion_time },
5805 dissect_x411_DLExpansion(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5806 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5807 DLExpansion_sequence, hf_index, ett_x411_DLExpansion);
5811 static int dissect_DLExpansionHistory_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5812 return dissect_x411_DLExpansion(FALSE, tvb, offset, pinfo, tree, hf_x411_DLExpansionHistory_item);
5816 static const ber_sequence_t DLExpansionHistory_sequence_of[1] = {
5817 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_DLExpansionHistory_item },
5821 dissect_x411_DLExpansionHistory(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5822 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
5823 DLExpansionHistory_sequence_of, hf_index, ett_x411_DLExpansionHistory);
5831 dissect_x411_PhysicalForwardingAddress(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5832 offset = dissect_x411_ORAddressAndOptionalDirectoryName(implicit_tag, tvb, offset, pinfo, tree, hf_index);
5838 static const ber_sequence_t OriginatorAndDLExpansion_sequence[] = {
5839 { BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_originator_or_dl_name },
5840 { BER_CLASS_UNI, BER_UNI_TAG_UTCTime, BER_FLAGS_NOOWNTAG, dissect_origination_or_expansion_time },
5845 dissect_x411_OriginatorAndDLExpansion(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5846 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5847 OriginatorAndDLExpansion_sequence, hf_index, ett_x411_OriginatorAndDLExpansion);
5851 static int dissect_OriginatorAndDLExpansionHistory_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5852 return dissect_x411_OriginatorAndDLExpansion(FALSE, tvb, offset, pinfo, tree, hf_x411_OriginatorAndDLExpansionHistory_item);
5856 static const ber_sequence_t OriginatorAndDLExpansionHistory_sequence_of[1] = {
5857 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_OriginatorAndDLExpansionHistory_item },
5861 dissect_x411_OriginatorAndDLExpansionHistory(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5862 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
5863 OriginatorAndDLExpansionHistory_sequence_of, hf_index, ett_x411_OriginatorAndDLExpansionHistory);
5871 dissect_x411_ReportingDLName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5872 offset = dissect_x411_ORAddressAndOptionalDirectoryName(implicit_tag, tvb, offset, pinfo, tree, hf_index);
5880 dissect_x411_ReportingMTACertificate(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5881 offset = dissect_x509af_Certificates(implicit_tag, tvb, offset, pinfo, tree, hf_index);
5889 dissect_x411_ReportOriginAuthenticationCheck(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5890 offset = dissect_x411_Signature(implicit_tag, tvb, offset, pinfo, tree, hf_index);
5898 dissect_x411_ReportOriginAuthenticationAlgorithmIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5899 offset = dissect_x509af_AlgorithmIdentifier(implicit_tag, tvb, offset, pinfo, tree, hf_index);
5905 static const ber_sequence_t PerRecipientDeliveryReportFields_sequence[] = {
5906 { BER_CLASS_UNI, BER_UNI_TAG_UTCTime, BER_FLAGS_NOOWNTAG, dissect_message_delivery_time },
5907 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_type_of_MTS_user },
5908 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_recipient_certificate_impl },
5913 dissect_x411_PerRecipientDeliveryReportFields(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5914 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5915 PerRecipientDeliveryReportFields_sequence, hf_index, ett_x411_PerRecipientDeliveryReportFields);
5919 static int dissect_report_type_delivery_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5920 return dissect_x411_PerRecipientDeliveryReportFields(TRUE, tvb, offset, pinfo, tree, hf_x411_report_type_delivery);
5924 static const ber_sequence_t PerRecipientNonDeliveryReportFields_sequence[] = {
5925 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_non_delivery_reason_code },
5926 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_non_delivery_diagnostic_code },
5931 dissect_x411_PerRecipientNonDeliveryReportFields(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5932 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5933 PerRecipientNonDeliveryReportFields_sequence, hf_index, ett_x411_PerRecipientNonDeliveryReportFields);
5937 static int dissect_non_delivery_report_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5938 return dissect_x411_PerRecipientNonDeliveryReportFields(TRUE, tvb, offset, pinfo, tree, hf_x411_non_delivery_report);
5942 static const value_string x411_T_report_type_vals[] = {
5944 { 1, "non-delivery" },
5948 static const ber_choice_t T_report_type_choice[] = {
5949 { 0, BER_CLASS_CON, 0, 0, dissect_report_type_delivery_impl },
5950 { 1, BER_CLASS_CON, 1, 0, dissect_non_delivery_report_impl },
5951 { 0, 0, 0, 0, NULL }
5955 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_) {
5956 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
5957 T_report_type_choice, hf_index, ett_x411_T_report_type,
5962 static int dissect_report_type(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5963 return dissect_x411_T_report_type(FALSE, tvb, offset, pinfo, tree, hf_x411_report_type);
5967 static const ber_sequence_t PerRecipientReportFields_sequence[] = {
5968 { BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_actual_recipient_name },
5969 { BER_CLASS_APP, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_originally_intended_recipient_name },
5970 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_report_type },
5975 dissect_x411_PerRecipientReportFields(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5976 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5977 PerRecipientReportFields_sequence, hf_index, ett_x411_PerRecipientReportFields);
5985 dissect_x411_OriginatingMTACertificate(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5986 offset = dissect_x509af_Certificates(implicit_tag, tvb, offset, pinfo, tree, hf_index);
5994 dissect_x411_ProofOfSubmission(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5995 offset = dissect_x411_Signature(implicit_tag, tvb, offset, pinfo, tree, hf_index);
6001 static const ber_sequence_t ReportingMTAName_sequence[] = {
6002 { BER_CLASS_APP, 3, BER_FLAGS_NOOWNTAG, dissect_domain },
6003 { BER_CLASS_UNI, BER_UNI_TAG_IA5String, BER_FLAGS_NOOWNTAG, dissect_mta_name },
6004 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mta_directory_name_impl },
6009 dissect_x411_ReportingMTAName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6010 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6011 ReportingMTAName_sequence, hf_index, ett_x411_ReportingMTAName);
6017 static const value_string x411_ExtendedCertificate_vals[] = {
6018 { 0, "directory-entry" },
6019 { 1, "certificate" },
6023 static const ber_choice_t ExtendedCertificate_choice[] = {
6024 { 0, BER_CLASS_CON, 0, 0, dissect_directory_entry_impl },
6025 { 1, BER_CLASS_CON, 1, 0, dissect_certificate_impl },
6026 { 0, 0, 0, 0, NULL }
6030 dissect_x411_ExtendedCertificate(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6031 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
6032 ExtendedCertificate_choice, hf_index, ett_x411_ExtendedCertificate,
6037 static int dissect_ExtendedCertificates_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6038 return dissect_x411_ExtendedCertificate(FALSE, tvb, offset, pinfo, tree, hf_x411_ExtendedCertificates_item);
6042 static const ber_sequence_t ExtendedCertificates_set_of[1] = {
6043 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ExtendedCertificates_item },
6047 dissect_x411_ExtendedCertificates(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6048 offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
6049 ExtendedCertificates_set_of, hf_index, ett_x411_ExtendedCertificates);
6055 static const ber_sequence_t DLExemptedRecipients_set_of[1] = {
6056 { BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_DLExemptedRecipients_item },
6060 dissect_x411_DLExemptedRecipients(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6061 offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
6062 DLExemptedRecipients_set_of, hf_index, ett_x411_DLExemptedRecipients);
6068 static const ber_sequence_t CertificateSelectors_set[] = {
6069 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_encryption_recipient_impl },
6070 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_encryption_originator_impl },
6071 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_content_integrity_check_impl },
6072 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_token_signature_impl },
6073 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_message_origin_authentication_impl },
6078 dissect_x411_CertificateSelectors(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6079 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
6080 CertificateSelectors_set, hf_index, ett_x411_CertificateSelectors);
6088 dissect_x411_CommonName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6089 #line 447 "x411.cnf"
6090 tvbuff_t *string = NULL;
6092 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
6093 pinfo, tree, tvb, offset, hf_index,
6097 if(doing_address && string) {
6098 g_strlcat(oraddress, "/CN=", MAX_ORA_STR_LEN);
6099 g_strlcat(oraddress, tvb_format_text(string, 0, tvb_length(string)), MAX_ORA_STR_LEN);
6112 dissect_x411_TeletexCommonName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6113 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString,
6114 pinfo, tree, tvb, offset, hf_index,
6123 dissect_x411_BMPString(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6124 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_BMPString,
6125 pinfo, tree, tvb, offset, hf_index,
6130 static int dissect_two_octets(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6131 return dissect_x411_BMPString(FALSE, tvb, offset, pinfo, tree, hf_x411_two_octets);
6137 dissect_x411_UniversalString(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6138 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_UniversalString,
6139 pinfo, tree, tvb, offset, hf_index,
6144 static int dissect_four_octets(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6145 return dissect_x411_UniversalString(FALSE, tvb, offset, pinfo, tree, hf_x411_four_octets);
6149 static const value_string x411_T_character_encoding_vals[] = {
6150 { 0, "two-octets" },
6151 { 1, "four-octets" },
6155 static const ber_choice_t T_character_encoding_choice[] = {
6156 { 0, BER_CLASS_UNI, BER_UNI_TAG_BMPString, BER_FLAGS_NOOWNTAG, dissect_two_octets },
6157 { 1, BER_CLASS_UNI, BER_UNI_TAG_UniversalString, BER_FLAGS_NOOWNTAG, dissect_four_octets },
6158 { 0, 0, 0, 0, NULL }
6162 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_) {
6163 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
6164 T_character_encoding_choice, hf_index, ett_x411_T_character_encoding,
6169 static int dissect_character_encoding(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6170 return dissect_x411_T_character_encoding(FALSE, tvb, offset, pinfo, tree, hf_x411_character_encoding);
6174 static const ber_sequence_t UniversalOrBMPString_set[] = {
6175 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_character_encoding },
6176 { BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_iso_639_language_code },
6181 dissect_x411_UniversalOrBMPString(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6182 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
6183 UniversalOrBMPString_set, hf_index, ett_x411_UniversalOrBMPString);
6187 static int dissect_universal_surname_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6188 return dissect_x411_UniversalOrBMPString(TRUE, tvb, offset, pinfo, tree, hf_x411_universal_surname);
6190 static int dissect_universal_given_name_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6191 return dissect_x411_UniversalOrBMPString(TRUE, tvb, offset, pinfo, tree, hf_x411_universal_given_name);
6193 static int dissect_universal_initials_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6194 return dissect_x411_UniversalOrBMPString(TRUE, tvb, offset, pinfo, tree, hf_x411_universal_initials);
6196 static int dissect_universal_generation_qualifier_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6197 return dissect_x411_UniversalOrBMPString(TRUE, tvb, offset, pinfo, tree, hf_x411_universal_generation_qualifier);
6199 static int dissect_universal_type(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6200 return dissect_x411_UniversalOrBMPString(FALSE, tvb, offset, pinfo, tree, hf_x411_universal_type);
6202 static int dissect_universal_value(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6203 return dissect_x411_UniversalOrBMPString(FALSE, tvb, offset, pinfo, tree, hf_x411_universal_value);
6209 dissect_x411_UniversalCommonName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6210 offset = dissect_x411_UniversalOrBMPString(implicit_tag, tvb, offset, pinfo, tree, hf_index);
6218 dissect_x411_TeletexOrganizationName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6219 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString,
6220 pinfo, tree, tvb, offset, hf_index,
6229 dissect_x411_UniversalOrganizationName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6230 offset = dissect_x411_UniversalOrBMPString(implicit_tag, tvb, offset, pinfo, tree, hf_index);
6236 static const ber_sequence_t TeletexPersonalName_set[] = {
6237 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_teletex_surname_impl },
6238 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_teletex_given_name_impl },
6239 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_teletex_initials_impl },
6240 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_teletex_generation_qualifier_impl },
6245 dissect_x411_TeletexPersonalName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6246 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
6247 TeletexPersonalName_set, hf_index, ett_x411_TeletexPersonalName);
6253 static const ber_sequence_t UniversalPersonalName_set[] = {
6254 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_universal_surname_impl },
6255 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_universal_given_name_impl },
6256 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_universal_initials_impl },
6257 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_universal_generation_qualifier_impl },
6262 dissect_x411_UniversalPersonalName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6263 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
6264 UniversalPersonalName_set, hf_index, ett_x411_UniversalPersonalName);
6272 dissect_x411_TeletexOrganizationalUnitName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6273 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString,
6274 pinfo, tree, tvb, offset, hf_index,
6279 static int dissect_TeletexOrganizationalUnitNames_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6280 return dissect_x411_TeletexOrganizationalUnitName(FALSE, tvb, offset, pinfo, tree, hf_x411_TeletexOrganizationalUnitNames_item);
6284 static const ber_sequence_t TeletexOrganizationalUnitNames_sequence_of[1] = {
6285 { BER_CLASS_UNI, BER_UNI_TAG_TeletexString, BER_FLAGS_NOOWNTAG, dissect_TeletexOrganizationalUnitNames_item },
6289 dissect_x411_TeletexOrganizationalUnitNames(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6290 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
6291 TeletexOrganizationalUnitNames_sequence_of, hf_index, ett_x411_TeletexOrganizationalUnitNames);
6299 dissect_x411_UniversalOrganizationalUnitName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6300 offset = dissect_x411_UniversalOrBMPString(implicit_tag, tvb, offset, pinfo, tree, hf_index);
6304 static int dissect_UniversalOrganizationalUnitNames_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6305 return dissect_x411_UniversalOrganizationalUnitName(FALSE, tvb, offset, pinfo, tree, hf_x411_UniversalOrganizationalUnitNames_item);
6309 static const ber_sequence_t UniversalOrganizationalUnitNames_sequence_of[1] = {
6310 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_UniversalOrganizationalUnitNames_item },
6314 dissect_x411_UniversalOrganizationalUnitNames(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6315 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
6316 UniversalOrganizationalUnitNames_sequence_of, hf_index, ett_x411_UniversalOrganizationalUnitNames);
6324 dissect_x411_PDSName(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_PrintableString,
6326 pinfo, tree, tvb, offset, hf_index,
6333 static const value_string x411_PhysicalDeliveryCountryName_vals[] = {
6334 { 0, "x121-dcc-code" },
6335 { 1, "iso-3166-alpha2-code" },
6339 static const ber_choice_t PhysicalDeliveryCountryName_choice[] = {
6340 { 0, BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_NOOWNTAG, dissect_x121_dcc_code },
6341 { 1, BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_iso_3166_alpha2_code },
6342 { 0, 0, 0, 0, NULL }
6346 dissect_x411_PhysicalDeliveryCountryName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6347 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
6348 PhysicalDeliveryCountryName_choice, hf_index, ett_x411_PhysicalDeliveryCountryName,
6355 static const value_string x411_PostalCode_vals[] = {
6356 { 0, "numeric-code" },
6357 { 1, "printable-code" },
6361 static const ber_choice_t PostalCode_choice[] = {
6362 { 0, BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_NOOWNTAG, dissect_numeric_code },
6363 { 1, BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_printable_code },
6364 { 0, 0, 0, 0, NULL }
6368 dissect_x411_PostalCode(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6369 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
6370 PostalCode_choice, hf_index, ett_x411_PostalCode,
6377 static const ber_sequence_t PDSParameter_set[] = {
6378 { BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_printable_string },
6379 { BER_CLASS_UNI, BER_UNI_TAG_TeletexString, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_teletex_string },
6384 dissect_x411_PDSParameter(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6385 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
6386 PDSParameter_set, hf_index, ett_x411_PDSParameter);
6394 dissect_x411_PhysicalDeliveryOfficeName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6395 offset = dissect_x411_PDSParameter(implicit_tag, tvb, offset, pinfo, tree, hf_index);
6403 dissect_x411_UniversalPDSParameter(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6404 offset = dissect_x411_UniversalOrBMPString(implicit_tag, tvb, offset, pinfo, tree, hf_index);
6412 dissect_x411_UniversalPhysicalDeliveryOfficeName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6413 offset = dissect_x411_UniversalPDSParameter(implicit_tag, tvb, offset, pinfo, tree, hf_index);
6421 dissect_x411_PhysicalDeliveryOfficeNumber(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6422 offset = dissect_x411_PDSParameter(implicit_tag, tvb, offset, pinfo, tree, hf_index);
6430 dissect_x411_UniversalPhysicalDeliveryOfficeNumber(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6431 offset = dissect_x411_UniversalPDSParameter(implicit_tag, tvb, offset, pinfo, tree, hf_index);
6439 dissect_x411_ExtensionORAddressComponents(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6440 offset = dissect_x411_PDSParameter(implicit_tag, tvb, offset, pinfo, tree, hf_index);
6448 dissect_x411_UniversalExtensionORAddressComponents(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6449 offset = dissect_x411_UniversalPDSParameter(implicit_tag, tvb, offset, pinfo, tree, hf_index);
6457 dissect_x411_PhysicalDeliveryPersonalName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6458 offset = dissect_x411_PDSParameter(implicit_tag, tvb, offset, pinfo, tree, hf_index);
6466 dissect_x411_UniversalPhysicalDeliveryPersonalName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6467 offset = dissect_x411_UniversalPDSParameter(implicit_tag, tvb, offset, pinfo, tree, hf_index);
6475 dissect_x411_PhysicalDeliveryOrganizationName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6476 offset = dissect_x411_PDSParameter(implicit_tag, tvb, offset, pinfo, tree, hf_index);
6484 dissect_x411_UniversalPhysicalDeliveryOrganizationName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6485 offset = dissect_x411_UniversalPDSParameter(implicit_tag, tvb, offset, pinfo, tree, hf_index);
6493 dissect_x411_ExtensionPhysicalDeliveryAddressComponents(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6494 offset = dissect_x411_PDSParameter(implicit_tag, tvb, offset, pinfo, tree, hf_index);
6502 dissect_x411_UniversalExtensionPhysicalDeliveryAddressComponents(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6503 offset = dissect_x411_UniversalPDSParameter(implicit_tag, tvb, offset, pinfo, tree, hf_index);
6509 static const ber_sequence_t T_printable_address_sequence_of[1] = {
6510 { BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_printable_address_item },
6514 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_) {
6515 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
6516 T_printable_address_sequence_of, hf_index, ett_x411_T_printable_address);
6520 static int dissect_printable_address(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6521 return dissect_x411_T_printable_address(FALSE, tvb, offset, pinfo, tree, hf_x411_printable_address);
6525 static const ber_sequence_t UnformattedPostalAddress_set[] = {
6526 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_printable_address },
6527 { BER_CLASS_UNI, BER_UNI_TAG_TeletexString, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_teletex_string },
6532 dissect_x411_UnformattedPostalAddress(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6533 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
6534 UnformattedPostalAddress_set, hf_index, ett_x411_UnformattedPostalAddress);
6542 dissect_x411_UniversalUnformattedPostalAddress(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6543 offset = dissect_x411_UniversalOrBMPString(implicit_tag, tvb, offset, pinfo, tree, hf_index);
6551 dissect_x411_StreetAddress(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6552 offset = dissect_x411_PDSParameter(implicit_tag, tvb, offset, pinfo, tree, hf_index);
6560 dissect_x411_UniversalStreetAddress(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6561 offset = dissect_x411_UniversalPDSParameter(implicit_tag, tvb, offset, pinfo, tree, hf_index);
6569 dissect_x411_PostOfficeBoxAddress(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6570 offset = dissect_x411_PDSParameter(implicit_tag, tvb, offset, pinfo, tree, hf_index);
6578 dissect_x411_UniversalPostOfficeBoxAddress(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6579 offset = dissect_x411_UniversalPDSParameter(implicit_tag, tvb, offset, pinfo, tree, hf_index);
6587 dissect_x411_UniversalPosteRestanteAddress(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6588 offset = dissect_x411_UniversalPDSParameter(implicit_tag, tvb, offset, pinfo, tree, hf_index);
6596 dissect_x411_UniquePostalName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6597 offset = dissect_x411_PDSParameter(implicit_tag, tvb, offset, pinfo, tree, hf_index);
6605 dissect_x411_UniversalUniquePostalName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6606 offset = dissect_x411_UniversalPDSParameter(implicit_tag, tvb, offset, pinfo, tree, hf_index);
6614 dissect_x411_LocalPostalAttributes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6615 offset = dissect_x411_PDSParameter(implicit_tag, tvb, offset, pinfo, tree, hf_index);
6623 dissect_x411_UniversalLocalPostalAttributes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6624 offset = dissect_x411_UniversalPDSParameter(implicit_tag, tvb, offset, pinfo, tree, hf_index);
6630 static const ber_sequence_t T_e163_4_address_sequence[] = {
6631 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_number_impl },
6632 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_sub_address_impl },
6637 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_) {
6638 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6639 T_e163_4_address_sequence, hf_index, ett_x411_T_e163_4_address);
6643 static int dissect_e163_4_address(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6644 return dissect_x411_T_e163_4_address(FALSE, tvb, offset, pinfo, tree, hf_x411_e163_4_address);
6648 static const value_string x411_ExtendedNetworkAddress_vals[] = {
6649 { 0, "e163-4-address" },
6650 { 1, "psap-address" },
6654 static const ber_choice_t ExtendedNetworkAddress_choice[] = {
6655 { 0, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_e163_4_address },
6656 { 1, BER_CLASS_CON, 0, 0, dissect_psap_address_impl },
6657 { 0, 0, 0, 0, NULL }
6661 dissect_x411_ExtendedNetworkAddress(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6662 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
6663 ExtendedNetworkAddress_choice, hf_index, ett_x411_ExtendedNetworkAddress,
6670 static const value_string x411_TerminalType_vals[] = {
6673 { 5, "g3-facsimile" },
6674 { 6, "g4-facsimile" },
6675 { 7, "ia5-terminal" },
6682 dissect_x411_TerminalType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6683 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
6690 static const ber_sequence_t TeletexDomainDefinedAttribute_sequence[] = {
6691 { BER_CLASS_UNI, BER_UNI_TAG_TeletexString, BER_FLAGS_NOOWNTAG, dissect_type },
6692 { BER_CLASS_UNI, BER_UNI_TAG_TeletexString, BER_FLAGS_NOOWNTAG, dissect_teletex_value },
6697 dissect_x411_TeletexDomainDefinedAttribute(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6698 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6699 TeletexDomainDefinedAttribute_sequence, hf_index, ett_x411_TeletexDomainDefinedAttribute);
6703 static int dissect_TeletexDomainDefinedAttributes_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6704 return dissect_x411_TeletexDomainDefinedAttribute(FALSE, tvb, offset, pinfo, tree, hf_x411_TeletexDomainDefinedAttributes_item);
6708 static const ber_sequence_t TeletexDomainDefinedAttributes_sequence_of[1] = {
6709 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_TeletexDomainDefinedAttributes_item },
6713 dissect_x411_TeletexDomainDefinedAttributes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6714 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
6715 TeletexDomainDefinedAttributes_sequence_of, hf_index, ett_x411_TeletexDomainDefinedAttributes);
6721 static const ber_sequence_t UniversalDomainDefinedAttribute_sequence[] = {
6722 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_universal_type },
6723 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_universal_value },
6728 dissect_x411_UniversalDomainDefinedAttribute(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6729 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6730 UniversalDomainDefinedAttribute_sequence, hf_index, ett_x411_UniversalDomainDefinedAttribute);
6734 static int dissect_UniversalDomainDefinedAttributes_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6735 return dissect_x411_UniversalDomainDefinedAttribute(FALSE, tvb, offset, pinfo, tree, hf_x411_UniversalDomainDefinedAttributes_item);
6739 static const ber_sequence_t UniversalDomainDefinedAttributes_sequence_of[1] = {
6740 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_UniversalDomainDefinedAttributes_item },
6744 dissect_x411_UniversalDomainDefinedAttributes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6745 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
6746 UniversalDomainDefinedAttributes_sequence_of, hf_index, ett_x411_UniversalDomainDefinedAttributes);
6752 static const ber_sequence_t NonBasicParameters_set[] = {
6753 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_g3_facsimile_impl },
6754 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_teletex_impl },
6759 dissect_x411_NonBasicParameters(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6760 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
6761 NonBasicParameters_set, hf_index, ett_x411_NonBasicParameters);
6768 static void dissect_MTABindArgument_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
6769 dissect_x411_MTABindArgument(FALSE, tvb, 0, pinfo, tree, hf_x411_MTABindArgument_PDU);
6771 static void dissect_MTABindResult_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
6772 dissect_x411_MTABindResult(FALSE, tvb, 0, pinfo, tree, hf_x411_MTABindResult_PDU);
6774 static void dissect_MTABindError_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
6775 dissect_x411_MTABindError(FALSE, tvb, 0, pinfo, tree, hf_x411_MTABindError_PDU);
6777 static void dissect_MTS_APDU_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
6778 dissect_x411_MTS_APDU(FALSE, tvb, 0, pinfo, tree, hf_x411_MTS_APDU_PDU);
6780 static void dissect_InternalTraceInformation_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
6781 dissect_x411_InternalTraceInformation(FALSE, tvb, 0, pinfo, tree, hf_x411_InternalTraceInformation_PDU);
6783 static void dissect_TraceInformation_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
6784 dissect_x411_TraceInformation(TRUE, tvb, 0, pinfo, tree, hf_x411_TraceInformation_PDU);
6786 static void dissect_ReportDeliveryArgument_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
6787 dissect_x411_ReportDeliveryArgument(FALSE, tvb, 0, pinfo, tree, hf_x411_ReportDeliveryArgument_PDU);
6789 static void dissect_ExtendedContentType_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
6790 dissect_x411_ExtendedContentType(FALSE, tvb, 0, pinfo, tree, hf_x411_ExtendedContentType_PDU);
6792 static void dissect_ContentLength_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
6793 dissect_x411_ContentLength(FALSE, tvb, 0, pinfo, tree, hf_x411_ContentLength_PDU);
6795 static void dissect_RecipientReassignmentProhibited_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
6796 dissect_x411_RecipientReassignmentProhibited(FALSE, tvb, 0, pinfo, tree, hf_x411_RecipientReassignmentProhibited_PDU);
6798 static void dissect_MTSOriginatorRequestedAlternateRecipient_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
6799 dissect_x411_MTSOriginatorRequestedAlternateRecipient(FALSE, tvb, 0, pinfo, tree, hf_x411_MTSOriginatorRequestedAlternateRecipient_PDU);
6801 static void dissect_DLExpansionProhibited_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
6802 dissect_x411_DLExpansionProhibited(FALSE, tvb, 0, pinfo, tree, hf_x411_DLExpansionProhibited_PDU);
6804 static void dissect_ConversionWithLossProhibited_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
6805 dissect_x411_ConversionWithLossProhibited(FALSE, tvb, 0, pinfo, tree, hf_x411_ConversionWithLossProhibited_PDU);
6807 static void dissect_LatestDeliveryTime_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
6808 dissect_x411_LatestDeliveryTime(FALSE, tvb, 0, pinfo, tree, hf_x411_LatestDeliveryTime_PDU);
6810 static void dissect_RequestedDeliveryMethod_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
6811 dissect_x411_RequestedDeliveryMethod(FALSE, tvb, 0, pinfo, tree, hf_x411_RequestedDeliveryMethod_PDU);
6813 static void dissect_PhysicalForwardingProhibited_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
6814 dissect_x411_PhysicalForwardingProhibited(FALSE, tvb, 0, pinfo, tree, hf_x411_PhysicalForwardingProhibited_PDU);
6816 static void dissect_PhysicalForwardingAddressRequest_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
6817 dissect_x411_PhysicalForwardingAddressRequest(FALSE, tvb, 0, pinfo, tree, hf_x411_PhysicalForwardingAddressRequest_PDU);
6819 static void dissect_PhysicalDeliveryModes_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
6820 dissect_x411_PhysicalDeliveryModes(FALSE, tvb, 0, pinfo, tree, hf_x411_PhysicalDeliveryModes_PDU);
6822 static void dissect_RegisteredMailType_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
6823 dissect_x411_RegisteredMailType(FALSE, tvb, 0, pinfo, tree, hf_x411_RegisteredMailType_PDU);
6825 static void dissect_RecipientNumberForAdvice_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
6826 dissect_x411_RecipientNumberForAdvice(FALSE, tvb, 0, pinfo, tree, hf_x411_RecipientNumberForAdvice_PDU);
6828 static void dissect_PhysicalRenditionAttributes_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
6829 dissect_x411_PhysicalRenditionAttributes(FALSE, tvb, 0, pinfo, tree, hf_x411_PhysicalRenditionAttributes_PDU);
6831 static void dissect_OriginatorReturnAddress_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
6832 dissect_x411_OriginatorReturnAddress(FALSE, tvb, 0, pinfo, tree, hf_x411_OriginatorReturnAddress_PDU);
6834 static void dissect_PhysicalDeliveryReportRequest_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
6835 dissect_x411_PhysicalDeliveryReportRequest(FALSE, tvb, 0, pinfo, tree, hf_x411_PhysicalDeliveryReportRequest_PDU);
6837 static void dissect_OriginatorCertificate_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
6838 dissect_x411_OriginatorCertificate(FALSE, tvb, 0, pinfo, tree, hf_x411_OriginatorCertificate_PDU);
6840 static void dissect_ContentConfidentialityAlgorithmIdentifier_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
6841 dissect_x411_ContentConfidentialityAlgorithmIdentifier(FALSE, tvb, 0, pinfo, tree, hf_x411_ContentConfidentialityAlgorithmIdentifier_PDU);
6843 static void dissect_ContentIntegrityCheck_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
6844 dissect_x411_ContentIntegrityCheck(FALSE, tvb, 0, pinfo, tree, hf_x411_ContentIntegrityCheck_PDU);
6846 static void dissect_MessageOriginAuthenticationCheck_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
6847 dissect_x411_MessageOriginAuthenticationCheck(FALSE, tvb, 0, pinfo, tree, hf_x411_MessageOriginAuthenticationCheck_PDU);
6849 static void dissect_MessageSecurityLabel_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
6850 dissect_x411_MessageSecurityLabel(FALSE, tvb, 0, pinfo, tree, hf_x411_MessageSecurityLabel_PDU);
6852 static void dissect_ProofOfSubmissionRequest_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
6853 dissect_x411_ProofOfSubmissionRequest(FALSE, tvb, 0, pinfo, tree, hf_x411_ProofOfSubmissionRequest_PDU);
6855 static void dissect_ProofOfDeliveryRequest_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
6856 dissect_x411_ProofOfDeliveryRequest(FALSE, tvb, 0, pinfo, tree, hf_x411_ProofOfDeliveryRequest_PDU);
6858 static void dissect_ContentCorrelator_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
6859 dissect_x411_ContentCorrelator(FALSE, tvb, 0, pinfo, tree, hf_x411_ContentCorrelator_PDU);
6861 static void dissect_ProbeOriginAuthenticationCheck_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
6862 dissect_x411_ProbeOriginAuthenticationCheck(FALSE, tvb, 0, pinfo, tree, hf_x411_ProbeOriginAuthenticationCheck_PDU);
6864 static void dissect_RedirectionHistory_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
6865 dissect_x411_RedirectionHistory(FALSE, tvb, 0, pinfo, tree, hf_x411_RedirectionHistory_PDU);
6867 static void dissect_DLExpansionHistory_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
6868 dissect_x411_DLExpansionHistory(FALSE, tvb, 0, pinfo, tree, hf_x411_DLExpansionHistory_PDU);
6870 static void dissect_PhysicalForwardingAddress_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
6871 dissect_x411_PhysicalForwardingAddress(FALSE, tvb, 0, pinfo, tree, hf_x411_PhysicalForwardingAddress_PDU);
6873 static void dissect_OriginatorAndDLExpansionHistory_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
6874 dissect_x411_OriginatorAndDLExpansionHistory(FALSE, tvb, 0, pinfo, tree, hf_x411_OriginatorAndDLExpansionHistory_PDU);
6876 static void dissect_ReportingDLName_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
6877 dissect_x411_ReportingDLName(FALSE, tvb, 0, pinfo, tree, hf_x411_ReportingDLName_PDU);
6879 static void dissect_ReportingMTACertificate_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
6880 dissect_x411_ReportingMTACertificate(FALSE, tvb, 0, pinfo, tree, hf_x411_ReportingMTACertificate_PDU);
6882 static void dissect_ReportOriginAuthenticationCheck_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
6883 dissect_x411_ReportOriginAuthenticationCheck(FALSE, tvb, 0, pinfo, tree, hf_x411_ReportOriginAuthenticationCheck_PDU);
6885 static void dissect_ProofOfSubmission_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
6886 dissect_x411_ProofOfSubmission(FALSE, tvb, 0, pinfo, tree, hf_x411_ProofOfSubmission_PDU);
6888 static void dissect_ReportingMTAName_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
6889 dissect_x411_ReportingMTAName(FALSE, tvb, 0, pinfo, tree, hf_x411_ReportingMTAName_PDU);
6891 static void dissect_ExtendedCertificates_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
6892 dissect_x411_ExtendedCertificates(FALSE, tvb, 0, pinfo, tree, hf_x411_ExtendedCertificates_PDU);
6894 static void dissect_DLExemptedRecipients_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
6895 dissect_x411_DLExemptedRecipients(FALSE, tvb, 0, pinfo, tree, hf_x411_DLExemptedRecipients_PDU);
6897 static void dissect_CertificateSelectors_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
6898 dissect_x411_CertificateSelectors(FALSE, tvb, 0, pinfo, tree, hf_x411_CertificateSelectors_PDU);
6900 static void dissect_ORName_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
6901 dissect_x411_ORName(TRUE, tvb, 0, pinfo, tree, hf_x411_ORName_PDU);
6903 static void dissect_ORAddress_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
6904 dissect_x411_ORAddress(FALSE, tvb, 0, pinfo, tree, hf_x411_ORAddress_PDU);
6906 static void dissect_CommonName_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
6907 dissect_x411_CommonName(FALSE, tvb, 0, pinfo, tree, hf_x411_CommonName_PDU);
6909 static void dissect_TeletexCommonName_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
6910 dissect_x411_TeletexCommonName(FALSE, tvb, 0, pinfo, tree, hf_x411_TeletexCommonName_PDU);
6912 static void dissect_UniversalCommonName_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
6913 dissect_x411_UniversalCommonName(FALSE, tvb, 0, pinfo, tree, hf_x411_UniversalCommonName_PDU);
6915 static void dissect_TeletexOrganizationName_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
6916 dissect_x411_TeletexOrganizationName(FALSE, tvb, 0, pinfo, tree, hf_x411_TeletexOrganizationName_PDU);
6918 static void dissect_UniversalOrganizationName_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
6919 dissect_x411_UniversalOrganizationName(FALSE, tvb, 0, pinfo, tree, hf_x411_UniversalOrganizationName_PDU);
6921 static void dissect_TeletexPersonalName_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
6922 dissect_x411_TeletexPersonalName(FALSE, tvb, 0, pinfo, tree, hf_x411_TeletexPersonalName_PDU);
6924 static void dissect_UniversalPersonalName_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
6925 dissect_x411_UniversalPersonalName(FALSE, tvb, 0, pinfo, tree, hf_x411_UniversalPersonalName_PDU);
6927 static void dissect_TeletexOrganizationalUnitNames_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
6928 dissect_x411_TeletexOrganizationalUnitNames(FALSE, tvb, 0, pinfo, tree, hf_x411_TeletexOrganizationalUnitNames_PDU);
6930 static void dissect_UniversalOrganizationalUnitNames_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
6931 dissect_x411_UniversalOrganizationalUnitNames(FALSE, tvb, 0, pinfo, tree, hf_x411_UniversalOrganizationalUnitNames_PDU);
6933 static void dissect_PDSName_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
6934 dissect_x411_PDSName(FALSE, tvb, 0, pinfo, tree, hf_x411_PDSName_PDU);
6936 static void dissect_PhysicalDeliveryCountryName_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
6937 dissect_x411_PhysicalDeliveryCountryName(FALSE, tvb, 0, pinfo, tree, hf_x411_PhysicalDeliveryCountryName_PDU);
6939 static void dissect_PostalCode_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
6940 dissect_x411_PostalCode(FALSE, tvb, 0, pinfo, tree, hf_x411_PostalCode_PDU);
6942 static void dissect_PhysicalDeliveryOfficeName_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
6943 dissect_x411_PhysicalDeliveryOfficeName(FALSE, tvb, 0, pinfo, tree, hf_x411_PhysicalDeliveryOfficeName_PDU);
6945 static void dissect_ExtendedEncodedInformationType_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
6946 dissect_x411_ExtendedEncodedInformationType(FALSE, tvb, 0, pinfo, tree, hf_x411_ExtendedEncodedInformationType_PDU);
6950 /*--- End of included file: packet-x411-fn.c ---*/
6951 #line 80 "packet-x411-template.c"
6954 call_x411_oid_callback(char *base_oid, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6956 const char *name = NULL;
6957 char extension_oid[BER_MAX_OID_STR_LEN];
6959 sprintf(extension_oid, "%s.%d", base_oid, extension_id);
6961 name = get_ber_oid_name(extension_oid);
6962 proto_item_append_text(tree, " (%s)", name ? name : extension_oid);
6964 return call_ber_oid_callback(extension_oid, tvb, offset, pinfo, tree);
6970 * Dissect X411 MTS APDU
6973 dissect_x411_mts_apdu (tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
6975 proto_item *item=NULL;
6976 proto_tree *tree=NULL;
6978 /* save parent_tree so subdissectors can create new top nodes */
6979 top_tree=parent_tree;
6982 item = proto_tree_add_item(parent_tree, proto_x411, tvb, 0, -1, FALSE);
6983 tree = proto_item_add_subtree(item, ett_x411);
6986 if (check_col(pinfo->cinfo, COL_PROTOCOL))
6987 col_set_str(pinfo->cinfo, COL_PROTOCOL, "P1");
6988 if (check_col(pinfo->cinfo, COL_INFO))
6989 col_set_str(pinfo->cinfo, COL_INFO, "Transfer");
6991 return dissect_x411_MTS_APDU (FALSE, tvb, 0, pinfo, tree, hf_x411_MTS_APDU_PDU);
6995 * Dissect X411 PDUs inside a PPDU.
6998 dissect_x411(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
7002 proto_item *item=NULL;
7003 proto_tree *tree=NULL;
7004 int (*x411_dissector)(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) = NULL;
7008 /* save parent_tree so subdissectors can create new top nodes */
7009 top_tree=parent_tree;
7011 /* do we have operation information from the ROS dissector? */
7012 if( !pinfo->private_data ){
7014 proto_tree_add_text(parent_tree, tvb, offset, -1,
7015 "Internal error: can't get operation information from ROS dissector.");
7019 session = ( (struct SESSION_DATA_STRUCTURE*)(pinfo->private_data) );
7023 item = proto_tree_add_item(parent_tree, proto_x411, tvb, 0, -1, FALSE);
7024 tree = proto_item_add_subtree(item, ett_x411);
7026 if (check_col(pinfo->cinfo, COL_PROTOCOL))
7027 col_set_str(pinfo->cinfo, COL_PROTOCOL, "P1");
7028 if (check_col(pinfo->cinfo, COL_INFO))
7029 col_clear(pinfo->cinfo, COL_INFO);
7031 switch(session->ros_op & ROS_OP_MASK) {
7032 case (ROS_OP_BIND | ROS_OP_ARGUMENT): /* BindInvoke */
7033 x411_dissector = dissect_x411_MTABindArgument;
7034 x411_op_name = "Bind-Argument";
7035 hf_x411_index = hf_x411_MTABindArgument_PDU;
7037 case (ROS_OP_BIND | ROS_OP_RESULT): /* BindResult */
7038 x411_dissector = dissect_x411_MTABindResult;
7039 x411_op_name = "Bind-Result";
7040 hf_x411_index = hf_x411_MTABindResult_PDU;
7042 case (ROS_OP_BIND | ROS_OP_ERROR): /* BindError */
7043 x411_dissector = dissect_x411_MTABindError;
7044 x411_op_name = "Bind-Error";
7045 hf_x411_index = hf_x411_MTABindError_PDU;
7047 case (ROS_OP_INVOKE | ROS_OP_ARGUMENT): /* Invoke Argument */
7048 x411_dissector = dissect_x411_MTS_APDU;
7049 x411_op_name = "Transfer";
7050 hf_x411_index = hf_x411_MTS_APDU_PDU;
7053 proto_tree_add_text(tree, tvb, offset, -1,"Unsupported X411 PDU");
7057 if (check_col(pinfo->cinfo, COL_INFO))
7058 col_add_str(pinfo->cinfo, COL_INFO, x411_op_name);
7060 while (tvb_reported_length_remaining(tvb, offset) > 0){
7062 offset=(*x411_dissector)(FALSE, tvb, offset, pinfo , tree, hf_x411_index);
7063 if(offset == old_offset){
7064 proto_tree_add_text(tree, tvb, offset, -1,"Internal error, zero-byte X411 PDU");
7065 offset = tvb_length(tvb);
7072 /*--- proto_register_x411 -------------------------------------------*/
7073 void proto_register_x411(void) {
7075 /* List of fields */
7076 static hf_register_info hf[] =
7079 /*--- Included file: packet-x411-hfarr.c ---*/
7080 #line 1 "packet-x411-hfarr.c"
7081 { &hf_x411_MTABindArgument_PDU,
7082 { "MTABindArgument", "x411.MTABindArgument",
7083 FT_UINT32, BASE_DEC, VALS(x411_MTABindArgument_vals), 0,
7084 "MTABindArgument", HFILL }},
7085 { &hf_x411_MTABindResult_PDU,
7086 { "MTABindResult", "x411.MTABindResult",
7087 FT_UINT32, BASE_DEC, VALS(x411_MTABindResult_vals), 0,
7088 "MTABindResult", HFILL }},
7089 { &hf_x411_MTABindError_PDU,
7090 { "MTABindError", "x411.MTABindError",
7091 FT_UINT32, BASE_DEC, VALS(x411_MTABindError_vals), 0,
7092 "MTABindError", HFILL }},
7093 { &hf_x411_MTS_APDU_PDU,
7094 { "MTS-APDU", "x411.MTS_APDU",
7095 FT_UINT32, BASE_DEC, VALS(x411_MTS_APDU_vals), 0,
7096 "MTS-APDU", HFILL }},
7097 { &hf_x411_InternalTraceInformation_PDU,
7098 { "InternalTraceInformation", "x411.InternalTraceInformation",
7099 FT_UINT32, BASE_DEC, NULL, 0,
7100 "InternalTraceInformation", HFILL }},
7101 { &hf_x411_TraceInformation_PDU,
7102 { "TraceInformation", "x411.TraceInformation",
7103 FT_UINT32, BASE_DEC, NULL, 0,
7104 "TraceInformation", HFILL }},
7105 { &hf_x411_ReportDeliveryArgument_PDU,
7106 { "ReportDeliveryArgument", "x411.ReportDeliveryArgument",
7107 FT_NONE, BASE_NONE, NULL, 0,
7108 "ReportDeliveryArgument", HFILL }},
7109 { &hf_x411_ExtendedContentType_PDU,
7110 { "ExtendedContentType", "x411.ExtendedContentType",
7111 FT_OID, BASE_NONE, NULL, 0,
7112 "ExtendedContentType", HFILL }},
7113 { &hf_x411_ContentLength_PDU,
7114 { "ContentLength", "x411.ContentLength",
7115 FT_UINT32, BASE_DEC, NULL, 0,
7116 "ContentLength", HFILL }},
7117 { &hf_x411_RecipientReassignmentProhibited_PDU,
7118 { "RecipientReassignmentProhibited", "x411.RecipientReassignmentProhibited",
7119 FT_UINT32, BASE_DEC, VALS(x411_RecipientReassignmentProhibited_vals), 0,
7120 "RecipientReassignmentProhibited", HFILL }},
7121 { &hf_x411_MTSOriginatorRequestedAlternateRecipient_PDU,
7122 { "MTSOriginatorRequestedAlternateRecipient", "x411.MTSOriginatorRequestedAlternateRecipient",
7123 FT_NONE, BASE_NONE, NULL, 0,
7124 "MTSOriginatorRequestedAlternateRecipient", HFILL }},
7125 { &hf_x411_DLExpansionProhibited_PDU,
7126 { "DLExpansionProhibited", "x411.DLExpansionProhibited",
7127 FT_UINT32, BASE_DEC, VALS(x411_DLExpansionProhibited_vals), 0,
7128 "DLExpansionProhibited", HFILL }},
7129 { &hf_x411_ConversionWithLossProhibited_PDU,
7130 { "ConversionWithLossProhibited", "x411.ConversionWithLossProhibited",
7131 FT_UINT32, BASE_DEC, VALS(x411_ConversionWithLossProhibited_vals), 0,
7132 "ConversionWithLossProhibited", HFILL }},
7133 { &hf_x411_LatestDeliveryTime_PDU,
7134 { "LatestDeliveryTime", "x411.LatestDeliveryTime",
7135 FT_STRING, BASE_NONE, NULL, 0,
7136 "LatestDeliveryTime", HFILL }},
7137 { &hf_x411_RequestedDeliveryMethod_PDU,
7138 { "RequestedDeliveryMethod", "x411.RequestedDeliveryMethod",
7139 FT_UINT32, BASE_DEC, NULL, 0,
7140 "RequestedDeliveryMethod", HFILL }},
7141 { &hf_x411_PhysicalForwardingProhibited_PDU,
7142 { "PhysicalForwardingProhibited", "x411.PhysicalForwardingProhibited",
7143 FT_UINT32, BASE_DEC, VALS(x411_PhysicalForwardingProhibited_vals), 0,
7144 "PhysicalForwardingProhibited", HFILL }},
7145 { &hf_x411_PhysicalForwardingAddressRequest_PDU,
7146 { "PhysicalForwardingAddressRequest", "x411.PhysicalForwardingAddressRequest",
7147 FT_UINT32, BASE_DEC, VALS(x411_PhysicalForwardingAddressRequest_vals), 0,
7148 "PhysicalForwardingAddressRequest", HFILL }},
7149 { &hf_x411_PhysicalDeliveryModes_PDU,
7150 { "PhysicalDeliveryModes", "x411.PhysicalDeliveryModes",
7151 FT_BYTES, BASE_HEX, NULL, 0,
7152 "PhysicalDeliveryModes", HFILL }},
7153 { &hf_x411_RegisteredMailType_PDU,
7154 { "RegisteredMailType", "x411.RegisteredMailType",
7155 FT_UINT32, BASE_DEC, VALS(x411_RegisteredMailType_vals), 0,
7156 "RegisteredMailType", HFILL }},
7157 { &hf_x411_RecipientNumberForAdvice_PDU,
7158 { "RecipientNumberForAdvice", "x411.RecipientNumberForAdvice",
7159 FT_STRING, BASE_NONE, NULL, 0,
7160 "RecipientNumberForAdvice", HFILL }},
7161 { &hf_x411_PhysicalRenditionAttributes_PDU,
7162 { "PhysicalRenditionAttributes", "x411.PhysicalRenditionAttributes",
7163 FT_OID, BASE_NONE, NULL, 0,
7164 "PhysicalRenditionAttributes", HFILL }},
7165 { &hf_x411_OriginatorReturnAddress_PDU,
7166 { "OriginatorReturnAddress", "x411.OriginatorReturnAddress",
7167 FT_NONE, BASE_NONE, NULL, 0,
7168 "OriginatorReturnAddress", HFILL }},
7169 { &hf_x411_PhysicalDeliveryReportRequest_PDU,
7170 { "PhysicalDeliveryReportRequest", "x411.PhysicalDeliveryReportRequest",
7171 FT_INT32, BASE_DEC, VALS(x411_PhysicalDeliveryReportRequest_vals), 0,
7172 "PhysicalDeliveryReportRequest", HFILL }},
7173 { &hf_x411_OriginatorCertificate_PDU,
7174 { "OriginatorCertificate", "x411.OriginatorCertificate",
7175 FT_NONE, BASE_NONE, NULL, 0,
7176 "OriginatorCertificate", HFILL }},
7177 { &hf_x411_ContentConfidentialityAlgorithmIdentifier_PDU,
7178 { "ContentConfidentialityAlgorithmIdentifier", "x411.ContentConfidentialityAlgorithmIdentifier",
7179 FT_NONE, BASE_NONE, NULL, 0,
7180 "ContentConfidentialityAlgorithmIdentifier", HFILL }},
7181 { &hf_x411_ContentIntegrityCheck_PDU,
7182 { "ContentIntegrityCheck", "x411.ContentIntegrityCheck",
7183 FT_NONE, BASE_NONE, NULL, 0,
7184 "ContentIntegrityCheck", HFILL }},
7185 { &hf_x411_MessageOriginAuthenticationCheck_PDU,
7186 { "MessageOriginAuthenticationCheck", "x411.MessageOriginAuthenticationCheck",
7187 FT_NONE, BASE_NONE, NULL, 0,
7188 "MessageOriginAuthenticationCheck", HFILL }},
7189 { &hf_x411_MessageSecurityLabel_PDU,
7190 { "MessageSecurityLabel", "x411.MessageSecurityLabel",
7191 FT_NONE, BASE_NONE, NULL, 0,
7192 "MessageSecurityLabel", HFILL }},
7193 { &hf_x411_ProofOfSubmissionRequest_PDU,
7194 { "ProofOfSubmissionRequest", "x411.ProofOfSubmissionRequest",
7195 FT_UINT32, BASE_DEC, VALS(x411_ProofOfSubmissionRequest_vals), 0,
7196 "ProofOfSubmissionRequest", HFILL }},
7197 { &hf_x411_ProofOfDeliveryRequest_PDU,
7198 { "ProofOfDeliveryRequest", "x411.ProofOfDeliveryRequest",
7199 FT_UINT32, BASE_DEC, VALS(x411_ProofOfDeliveryRequest_vals), 0,
7200 "ProofOfDeliveryRequest", HFILL }},
7201 { &hf_x411_ContentCorrelator_PDU,
7202 { "ContentCorrelator", "x411.ContentCorrelator",
7203 FT_UINT32, BASE_DEC, VALS(x411_ContentCorrelator_vals), 0,
7204 "ContentCorrelator", HFILL }},
7205 { &hf_x411_ProbeOriginAuthenticationCheck_PDU,
7206 { "ProbeOriginAuthenticationCheck", "x411.ProbeOriginAuthenticationCheck",
7207 FT_NONE, BASE_NONE, NULL, 0,
7208 "ProbeOriginAuthenticationCheck", HFILL }},
7209 { &hf_x411_RedirectionHistory_PDU,
7210 { "RedirectionHistory", "x411.RedirectionHistory",
7211 FT_UINT32, BASE_DEC, NULL, 0,
7212 "RedirectionHistory", HFILL }},
7213 { &hf_x411_DLExpansionHistory_PDU,
7214 { "DLExpansionHistory", "x411.DLExpansionHistory",
7215 FT_UINT32, BASE_DEC, NULL, 0,
7216 "DLExpansionHistory", HFILL }},
7217 { &hf_x411_PhysicalForwardingAddress_PDU,
7218 { "PhysicalForwardingAddress", "x411.PhysicalForwardingAddress",
7219 FT_NONE, BASE_NONE, NULL, 0,
7220 "PhysicalForwardingAddress", HFILL }},
7221 { &hf_x411_OriginatorAndDLExpansionHistory_PDU,
7222 { "OriginatorAndDLExpansionHistory", "x411.OriginatorAndDLExpansionHistory",
7223 FT_UINT32, BASE_DEC, NULL, 0,
7224 "OriginatorAndDLExpansionHistory", HFILL }},
7225 { &hf_x411_ReportingDLName_PDU,
7226 { "ReportingDLName", "x411.ReportingDLName",
7227 FT_NONE, BASE_NONE, NULL, 0,
7228 "ReportingDLName", HFILL }},
7229 { &hf_x411_ReportingMTACertificate_PDU,
7230 { "ReportingMTACertificate", "x411.ReportingMTACertificate",
7231 FT_NONE, BASE_NONE, NULL, 0,
7232 "ReportingMTACertificate", HFILL }},
7233 { &hf_x411_ReportOriginAuthenticationCheck_PDU,
7234 { "ReportOriginAuthenticationCheck", "x411.ReportOriginAuthenticationCheck",
7235 FT_NONE, BASE_NONE, NULL, 0,
7236 "ReportOriginAuthenticationCheck", HFILL }},
7237 { &hf_x411_ProofOfSubmission_PDU,
7238 { "ProofOfSubmission", "x411.ProofOfSubmission",
7239 FT_NONE, BASE_NONE, NULL, 0,
7240 "ProofOfSubmission", HFILL }},
7241 { &hf_x411_ReportingMTAName_PDU,
7242 { "ReportingMTAName", "x411.ReportingMTAName",
7243 FT_NONE, BASE_NONE, NULL, 0,
7244 "ReportingMTAName", HFILL }},
7245 { &hf_x411_ExtendedCertificates_PDU,
7246 { "ExtendedCertificates", "x411.ExtendedCertificates",
7247 FT_UINT32, BASE_DEC, NULL, 0,
7248 "ExtendedCertificates", HFILL }},
7249 { &hf_x411_DLExemptedRecipients_PDU,
7250 { "DLExemptedRecipients", "x411.DLExemptedRecipients",
7251 FT_UINT32, BASE_DEC, NULL, 0,
7252 "DLExemptedRecipients", HFILL }},
7253 { &hf_x411_CertificateSelectors_PDU,
7254 { "CertificateSelectors", "x411.CertificateSelectors",
7255 FT_NONE, BASE_NONE, NULL, 0,
7256 "CertificateSelectors", HFILL }},
7257 { &hf_x411_ORName_PDU,
7258 { "ORName", "x411.ORName",
7259 FT_NONE, BASE_NONE, NULL, 0,
7261 { &hf_x411_ORAddress_PDU,
7262 { "ORAddress", "x411.ORAddress",
7263 FT_NONE, BASE_NONE, NULL, 0,
7264 "ORAddress", HFILL }},
7265 { &hf_x411_CommonName_PDU,
7266 { "CommonName", "x411.CommonName",
7267 FT_STRING, BASE_NONE, NULL, 0,
7268 "CommonName", HFILL }},
7269 { &hf_x411_TeletexCommonName_PDU,
7270 { "TeletexCommonName", "x411.TeletexCommonName",
7271 FT_STRING, BASE_NONE, NULL, 0,
7272 "TeletexCommonName", HFILL }},
7273 { &hf_x411_UniversalCommonName_PDU,
7274 { "UniversalCommonName", "x411.UniversalCommonName",
7275 FT_NONE, BASE_NONE, NULL, 0,
7276 "UniversalCommonName", HFILL }},
7277 { &hf_x411_TeletexOrganizationName_PDU,
7278 { "TeletexOrganizationName", "x411.TeletexOrganizationName",
7279 FT_STRING, BASE_NONE, NULL, 0,
7280 "TeletexOrganizationName", HFILL }},
7281 { &hf_x411_UniversalOrganizationName_PDU,
7282 { "UniversalOrganizationName", "x411.UniversalOrganizationName",
7283 FT_NONE, BASE_NONE, NULL, 0,
7284 "UniversalOrganizationName", HFILL }},
7285 { &hf_x411_TeletexPersonalName_PDU,
7286 { "TeletexPersonalName", "x411.TeletexPersonalName",
7287 FT_NONE, BASE_NONE, NULL, 0,
7288 "TeletexPersonalName", HFILL }},
7289 { &hf_x411_UniversalPersonalName_PDU,
7290 { "UniversalPersonalName", "x411.UniversalPersonalName",
7291 FT_NONE, BASE_NONE, NULL, 0,
7292 "UniversalPersonalName", HFILL }},
7293 { &hf_x411_TeletexOrganizationalUnitNames_PDU,
7294 { "TeletexOrganizationalUnitNames", "x411.TeletexOrganizationalUnitNames",
7295 FT_UINT32, BASE_DEC, NULL, 0,
7296 "TeletexOrganizationalUnitNames", HFILL }},
7297 { &hf_x411_UniversalOrganizationalUnitNames_PDU,
7298 { "UniversalOrganizationalUnitNames", "x411.UniversalOrganizationalUnitNames",
7299 FT_UINT32, BASE_DEC, NULL, 0,
7300 "UniversalOrganizationalUnitNames", HFILL }},
7301 { &hf_x411_PDSName_PDU,
7302 { "PDSName", "x411.PDSName",
7303 FT_STRING, BASE_NONE, NULL, 0,
7304 "PDSName", HFILL }},
7305 { &hf_x411_PhysicalDeliveryCountryName_PDU,
7306 { "PhysicalDeliveryCountryName", "x411.PhysicalDeliveryCountryName",
7307 FT_UINT32, BASE_DEC, VALS(x411_PhysicalDeliveryCountryName_vals), 0,
7308 "PhysicalDeliveryCountryName", HFILL }},
7309 { &hf_x411_PostalCode_PDU,
7310 { "PostalCode", "x411.PostalCode",
7311 FT_UINT32, BASE_DEC, VALS(x411_PostalCode_vals), 0,
7312 "PostalCode", HFILL }},
7313 { &hf_x411_PhysicalDeliveryOfficeName_PDU,
7314 { "PhysicalDeliveryOfficeName", "x411.PhysicalDeliveryOfficeName",
7315 FT_NONE, BASE_NONE, NULL, 0,
7316 "PhysicalDeliveryOfficeName", HFILL }},
7317 { &hf_x411_ExtendedEncodedInformationType_PDU,
7318 { "ExtendedEncodedInformationType", "x411.ExtendedEncodedInformationType",
7319 FT_OID, BASE_NONE, NULL, 0,
7320 "ExtendedEncodedInformationType", HFILL }},
7321 { &hf_x411_unauthenticated,
7322 { "unauthenticated", "x411.unauthenticated",
7323 FT_NONE, BASE_NONE, NULL, 0,
7325 { &hf_x411_authenticated_argument,
7326 { "authenticated", "x411.authenticated",
7327 FT_NONE, BASE_NONE, NULL, 0,
7328 "MTABindArgument/authenticated", HFILL }},
7329 { &hf_x411_authenticated_initiator_name,
7330 { "initiator-name", "x411.initiator_name",
7331 FT_STRING, BASE_NONE, NULL, 0,
7332 "MTABindArgument/authenticated/initiator-name", HFILL }},
7333 { &hf_x411_initiator_credentials,
7334 { "initiator-credentials", "x411.initiator_credentials",
7335 FT_UINT32, BASE_DEC, VALS(x411_Credentials_vals), 0,
7337 { &hf_x411_security_context,
7338 { "security-context", "x411.security_context",
7339 FT_UINT32, BASE_DEC, NULL, 0,
7341 { &hf_x411_authenticated_result,
7342 { "authenticated", "x411.authenticated",
7343 FT_NONE, BASE_NONE, NULL, 0,
7344 "MTABindResult/authenticated", HFILL }},
7345 { &hf_x411_authenticated_responder_name,
7346 { "responder-name", "x411.responder_name",
7347 FT_STRING, BASE_NONE, NULL, 0,
7348 "MTABindResult/authenticated/responder-name", HFILL }},
7349 { &hf_x411_responder_credentials,
7350 { "responder-credentials", "x411.responder_credentials",
7351 FT_UINT32, BASE_DEC, VALS(x411_Credentials_vals), 0,
7354 { "message", "x411.message",
7355 FT_NONE, BASE_NONE, NULL, 0,
7356 "MTS-APDU/message", HFILL }},
7358 { "probe", "x411.probe",
7359 FT_NONE, BASE_NONE, NULL, 0,
7360 "MTS-APDU/probe", HFILL }},
7362 { "report", "x411.report",
7363 FT_NONE, BASE_NONE, NULL, 0,
7364 "MTS-APDU/report", HFILL }},
7365 { &hf_x411_message_envelope,
7366 { "envelope", "x411.envelope",
7367 FT_NONE, BASE_NONE, NULL, 0,
7368 "Message/envelope", HFILL }},
7370 { "content", "x411.content",
7371 FT_BYTES, BASE_HEX, NULL, 0,
7373 { &hf_x411_report_envelope,
7374 { "envelope", "x411.envelope",
7375 FT_NONE, BASE_NONE, NULL, 0,
7376 "Report/envelope", HFILL }},
7377 { &hf_x411_report_content,
7378 { "content", "x411.content",
7379 FT_NONE, BASE_NONE, NULL, 0,
7380 "Report/content", HFILL }},
7381 { &hf_x411_message_identifier,
7382 { "message-identifier", "x411.message_identifier",
7383 FT_NONE, BASE_NONE, NULL, 0,
7384 "MessageTransferEnvelope/message-identifier", HFILL }},
7385 { &hf_x411_mta_originator_name,
7386 { "originator-name", "x411.originator_name",
7387 FT_NONE, BASE_NONE, NULL, 0,
7389 { &hf_x411_original_encoded_information_types,
7390 { "original-encoded-information-types", "x411.original_encoded_information_types",
7391 FT_NONE, BASE_NONE, NULL, 0,
7393 { &hf_x411_content_type,
7394 { "content-type", "x411.content_type",
7395 FT_UINT32, BASE_DEC, VALS(x411_ContentType_vals), 0,
7397 { &hf_x411_content_identifier,
7398 { "content-identifier", "x411.content_identifier",
7399 FT_STRING, BASE_NONE, NULL, 0,
7401 { &hf_x411_priority,
7402 { "priority", "x411.priority",
7403 FT_UINT32, BASE_DEC, VALS(x411_Priority_vals), 0,
7405 { &hf_x411_per_message_indicators,
7406 { "per-message-indicators", "x411.per_message_indicators",
7407 FT_BYTES, BASE_HEX, NULL, 0,
7409 { &hf_x411_deferred_delivery_time,
7410 { "deferred-delivery-time", "x411.deferred_delivery_time",
7411 FT_STRING, BASE_NONE, NULL, 0,
7413 { &hf_x411_per_domain_bilateral_information,
7414 { "per-domain-bilateral-information", "x411.per_domain_bilateral_information",
7415 FT_UINT32, BASE_DEC, NULL, 0,
7417 { &hf_x411_per_domain_bilateral_information_item,
7418 { "Item", "x411.per_domain_bilateral_information_item",
7419 FT_NONE, BASE_NONE, NULL, 0,
7421 { &hf_x411_trace_information,
7422 { "trace-information", "x411.trace_information",
7423 FT_UINT32, BASE_DEC, NULL, 0,
7425 { &hf_x411_extensions,
7426 { "extensions", "x411.extensions",
7427 FT_UINT32, BASE_DEC, NULL, 0,
7429 { &hf_x411_extensions_item,
7430 { "Item", "x411.extensions_item",
7431 FT_NONE, BASE_NONE, NULL, 0,
7433 { &hf_x411_per_recipient_message_fields,
7434 { "per-recipient-fields", "x411.per_recipient_fields",
7435 FT_UINT32, BASE_DEC, NULL, 0,
7436 "MessageTransferEnvelope/per-recipient-fields", HFILL }},
7437 { &hf_x411_per_recipient_message_fields_item,
7438 { "Item", "x411.per_recipient_fields_item",
7439 FT_NONE, BASE_NONE, NULL, 0,
7440 "MessageTransferEnvelope/per-recipient-fields/_item", HFILL }},
7441 { &hf_x411_recipient_name,
7442 { "recipient-name", "x411.recipient_name",
7443 FT_NONE, BASE_NONE, NULL, 0,
7445 { &hf_x411_originally_specified_recipient_number,
7446 { "originally-specified-recipient-number", "x411.originally_specified_recipient_number",
7447 FT_INT32, BASE_DEC, NULL, 0,
7449 { &hf_x411_per_recipient_indicators,
7450 { "per-recipient-indicators", "x411.per_recipient_indicators",
7451 FT_BYTES, BASE_HEX, NULL, 0,
7453 { &hf_x411_explicit_conversion,
7454 { "explicit-conversion", "x411.explicit_conversion",
7455 FT_UINT32, BASE_DEC, VALS(x411_ExplicitConversion_vals), 0,
7457 { &hf_x411_probe_identifier,
7458 { "probe-identifier", "x411.probe_identifier",
7459 FT_NONE, BASE_NONE, NULL, 0,
7460 "ProbeTransferEnvelope/probe-identifier", HFILL }},
7461 { &hf_x411_content_length,
7462 { "content-length", "x411.content_length",
7463 FT_UINT32, BASE_DEC, NULL, 0,
7465 { &hf_x411_per_recipient_probe_transfer_fields,
7466 { "per-recipient-fields", "x411.per_recipient_fields",
7467 FT_UINT32, BASE_DEC, NULL, 0,
7468 "ProbeTransferEnvelope/per-recipient-fields", HFILL }},
7469 { &hf_x411_per_recipient_probe_transfer_fields_item,
7470 { "Item", "x411.per_recipient_fields_item",
7471 FT_NONE, BASE_NONE, NULL, 0,
7472 "ProbeTransferEnvelope/per-recipient-fields/_item", HFILL }},
7473 { &hf_x411_report_identifier,
7474 { "report-identifier", "x411.report_identifier",
7475 FT_NONE, BASE_NONE, NULL, 0,
7476 "ReportTransferEnvelope/report-identifier", HFILL }},
7477 { &hf_x411_report_destination_name,
7478 { "report-destination-name", "x411.report_destination_name",
7479 FT_NONE, BASE_NONE, NULL, 0,
7480 "ReportTransferEnvelope/report-destination-name", HFILL }},
7481 { &hf_x411_subject_identifier,
7482 { "subject-identifier", "x411.subject_identifier",
7483 FT_NONE, BASE_NONE, NULL, 0,
7484 "ReportTransferContent/subject-identifier", HFILL }},
7485 { &hf_x411_subject_intermediate_trace_information,
7486 { "subject-intermediate-trace-information", "x411.subject_intermediate_trace_information",
7487 FT_UINT32, BASE_DEC, NULL, 0,
7488 "ReportTransferContent/subject-intermediate-trace-information", HFILL }},
7489 { &hf_x411_returned_content,
7490 { "returned-content", "x411.returned_content",
7491 FT_BYTES, BASE_HEX, NULL, 0,
7493 { &hf_x411_additional_information,
7494 { "additional-information", "x411.additional_information",
7495 FT_NONE, BASE_NONE, NULL, 0,
7496 "ReportTransferContent/additional-information", HFILL }},
7497 { &hf_x411_per_recipient_report_fields,
7498 { "per-recipient-fields", "x411.per_recipient_fields",
7499 FT_UINT32, BASE_DEC, NULL, 0,
7500 "ReportTransferContent/per-recipient-fields", HFILL }},
7501 { &hf_x411_per_recipient_fields_item,
7502 { "Item", "x411.per_recipient_fields_item",
7503 FT_NONE, BASE_NONE, NULL, 0,
7504 "ReportTransferContent/per-recipient-fields/_item", HFILL }},
7505 { &hf_x411_mta_actual_recipient_name,
7506 { "actual-recipient-name", "x411.actual_recipient_name",
7507 FT_NONE, BASE_NONE, NULL, 0,
7508 "PerRecipientReportTransferFields/actual-recipient-name", HFILL }},
7509 { &hf_x411_last_trace_information,
7510 { "last-trace-information", "x411.last_trace_information",
7511 FT_NONE, BASE_NONE, NULL, 0,
7512 "PerRecipientReportTransferFields/last-trace-information", HFILL }},
7513 { &hf_x411_report_originally_intended_recipient_name,
7514 { "originally-intended-recipient-name", "x411.originally_intended_recipient_name",
7515 FT_NONE, BASE_NONE, NULL, 0,
7516 "PerRecipientReportTransferFields/originally-intended-recipient-name", HFILL }},
7517 { &hf_x411_supplementary_information,
7518 { "supplementary-information", "x411.supplementary_information",
7519 FT_STRING, BASE_NONE, NULL, 0,
7521 { &hf_x411_country_name,
7522 { "country-name", "x411.country_name",
7523 FT_UINT32, BASE_DEC, VALS(x411_CountryName_vals), 0,
7525 { &hf_x411_bilateral_domain,
7526 { "domain", "x411.domain",
7527 FT_UINT32, BASE_DEC, VALS(x411_T_domain_vals), 0,
7528 "PerDomainBilateralInformation/domain", HFILL }},
7529 { &hf_x411_administration_domain_name,
7530 { "administration-domain-name", "x411.administration_domain_name",
7531 FT_UINT32, BASE_DEC, VALS(x411_AdministrationDomainName_vals), 0,
7533 { &hf_x411_private_domain,
7534 { "private-domain", "x411.private_domain",
7535 FT_NONE, BASE_NONE, NULL, 0,
7536 "PerDomainBilateralInformation/domain/private-domain", HFILL }},
7537 { &hf_x411_private_domain_identifier,
7538 { "private-domain-identifier", "x411.private_domain_identifier",
7539 FT_UINT32, BASE_DEC, VALS(x411_PrivateDomainIdentifier_vals), 0,
7541 { &hf_x411_arrival_time,
7542 { "arrival-time", "x411.arrival_time",
7543 FT_STRING, BASE_NONE, NULL, 0,
7545 { &hf_x411_converted_encoded_information_types,
7546 { "converted-encoded-information-types", "x411.converted_encoded_information_types",
7547 FT_NONE, BASE_NONE, NULL, 0,
7549 { &hf_x411_trace_report_type,
7550 { "report-type", "x411.report_type",
7551 FT_UINT32, BASE_DEC, VALS(x411_ReportType_vals), 0,
7552 "LastTraceInformation/report-type", HFILL }},
7553 { &hf_x411_InternalTraceInformation_item,
7554 { "Item", "x411.InternalTraceInformation_item",
7555 FT_NONE, BASE_NONE, NULL, 0,
7556 "InternalTraceInformation/_item", HFILL }},
7557 { &hf_x411_global_domain_identifier,
7558 { "global-domain-identifier", "x411.global_domain_identifier",
7559 FT_NONE, BASE_NONE, NULL, 0,
7561 { &hf_x411_mta_name,
7562 { "mta-name", "x411.mta_name",
7563 FT_STRING, BASE_NONE, NULL, 0,
7565 { &hf_x411_mta_supplied_information,
7566 { "mta-supplied-information", "x411.mta_supplied_information",
7567 FT_NONE, BASE_NONE, NULL, 0,
7568 "InternalTraceInformationElement/mta-supplied-information", HFILL }},
7569 { &hf_x411_routing_action,
7570 { "routing-action", "x411.routing_action",
7571 FT_UINT32, BASE_DEC, VALS(x411_RoutingAction_vals), 0,
7573 { &hf_x411_attempted,
7574 { "attempted", "x411.attempted",
7575 FT_UINT32, BASE_DEC, VALS(x411_T_attempted_vals), 0,
7576 "MTASuppliedInformation/attempted", HFILL }},
7578 { "mta", "x411.mta",
7579 FT_STRING, BASE_NONE, NULL, 0,
7580 "MTASuppliedInformation/attempted/mta", HFILL }},
7582 { "domain", "x411.domain",
7583 FT_NONE, BASE_NONE, NULL, 0,
7585 { &hf_x411_deferred_time,
7586 { "deferred-time", "x411.deferred_time",
7587 FT_STRING, BASE_NONE, NULL, 0,
7589 { &hf_x411_other_actions,
7590 { "other-actions", "x411.other_actions",
7591 FT_BYTES, BASE_HEX, NULL, 0,
7593 { &hf_x411_TraceInformation_item,
7594 { "Item", "x411.TraceInformation_item",
7595 FT_NONE, BASE_NONE, NULL, 0,
7596 "TraceInformation/_item", HFILL }},
7597 { &hf_x411_domain_supplied_information,
7598 { "domain-supplied-information", "x411.domain_supplied_information",
7599 FT_NONE, BASE_NONE, NULL, 0,
7600 "TraceInformationElement/domain-supplied-information", HFILL }},
7601 { &hf_x411_attempted_domain,
7602 { "attempted-domain", "x411.attempted_domain",
7603 FT_NONE, BASE_NONE, NULL, 0,
7604 "DomainSuppliedInformation/attempted-domain", HFILL }},
7605 { &hf_x411_initiator_name,
7606 { "initiator-name", "x411.initiator_name",
7607 FT_UINT32, BASE_DEC, VALS(x411_ObjectName_vals), 0,
7608 "MTSBindArgument/initiator-name", HFILL }},
7609 { &hf_x411_messages_waiting,
7610 { "messages-waiting", "x411.messages_waiting",
7611 FT_NONE, BASE_NONE, NULL, 0,
7613 { &hf_x411_responder_name,
7614 { "responder-name", "x411.responder_name",
7615 FT_UINT32, BASE_DEC, VALS(x411_ObjectName_vals), 0,
7616 "MTSBindResult/responder-name", HFILL }},
7617 { &hf_x411_user_agent,
7618 { "user-agent", "x411.user_agent",
7619 FT_NONE, BASE_NONE, NULL, 0,
7620 "ObjectName/user-agent", HFILL }},
7622 { "mTA", "x411.mTA",
7623 FT_STRING, BASE_NONE, NULL, 0,
7624 "ObjectName/mTA", HFILL }},
7625 { &hf_x411_message_store,
7626 { "message-store", "x411.message_store",
7627 FT_NONE, BASE_NONE, NULL, 0,
7628 "ObjectName/message-store", HFILL }},
7630 { "urgent", "x411.urgent",
7631 FT_NONE, BASE_NONE, NULL, 0,
7632 "MessagesWaiting/urgent", HFILL }},
7634 { "normal", "x411.normal",
7635 FT_NONE, BASE_NONE, NULL, 0,
7636 "MessagesWaiting/normal", HFILL }},
7637 { &hf_x411_non_urgent,
7638 { "non-urgent", "x411.non_urgent",
7639 FT_NONE, BASE_NONE, NULL, 0,
7640 "MessagesWaiting/non-urgent", HFILL }},
7641 { &hf_x411_messages,
7642 { "messages", "x411.messages",
7643 FT_INT32, BASE_DEC, NULL, 0,
7644 "DeliveryQueue/messages", HFILL }},
7645 { &hf_x411_delivery_queue_octets,
7646 { "octets", "x411.octets",
7647 FT_INT32, BASE_DEC, NULL, 0,
7648 "DeliveryQueue/octets", HFILL }},
7650 { "simple", "x411.simple",
7651 FT_UINT32, BASE_DEC, VALS(x411_Password_vals), 0,
7652 "Credentials/simple", HFILL }},
7653 { &hf_x411_protected,
7654 { "protected", "x411.protected",
7655 FT_NONE, BASE_NONE, NULL, 0,
7656 "Credentials/protected", HFILL }},
7657 { &hf_x411_ia5_string,
7658 { "ia5-string", "x411.ia5_string",
7659 FT_STRING, BASE_NONE, NULL, 0,
7660 "Password/ia5-string", HFILL }},
7661 { &hf_x411_octet_string,
7662 { "octet-string", "x411.octet_string",
7663 FT_BYTES, BASE_HEX, NULL, 0,
7664 "Password/octet-string", HFILL }},
7665 { &hf_x411_signature,
7666 { "signature", "x411.signature",
7667 FT_NONE, BASE_NONE, NULL, 0,
7668 "ProtectedPassword/signature", HFILL }},
7670 { "time1", "x411.time1",
7671 FT_STRING, BASE_NONE, NULL, 0,
7672 "ProtectedPassword/time1", HFILL }},
7674 { "time2", "x411.time2",
7675 FT_STRING, BASE_NONE, NULL, 0,
7676 "ProtectedPassword/time2", HFILL }},
7678 { "random1", "x411.random1",
7679 FT_BYTES, BASE_HEX, NULL, 0,
7680 "ProtectedPassword/random1", HFILL }},
7682 { "random2", "x411.random2",
7683 FT_BYTES, BASE_HEX, NULL, 0,
7684 "ProtectedPassword/random2", HFILL }},
7685 { &hf_x411_algorithmIdentifier,
7686 { "algorithmIdentifier", "x411.algorithmIdentifier",
7687 FT_NONE, BASE_NONE, NULL, 0,
7688 "Signature/algorithmIdentifier", HFILL }},
7689 { &hf_x411_encrypted,
7690 { "encrypted", "x411.encrypted",
7691 FT_BYTES, BASE_HEX, NULL, 0,
7692 "Signature/encrypted", HFILL }},
7693 { &hf_x411_SecurityContext_item,
7694 { "Item", "x411.SecurityContext_item",
7695 FT_NONE, BASE_NONE, NULL, 0,
7696 "SecurityContext/_item", HFILL }},
7697 { &hf_x411_message_submission_envelope,
7698 { "envelope", "x411.envelope",
7699 FT_NONE, BASE_NONE, NULL, 0,
7700 "MessageSubmissionArgument/envelope", HFILL }},
7701 { &hf_x411_message_submission_identifier,
7702 { "message-submission-identifier", "x411.message_submission_identifier",
7703 FT_NONE, BASE_NONE, NULL, 0,
7704 "MessageSubmissionResult/message-submission-identifier", HFILL }},
7705 { &hf_x411_message_submission_time,
7706 { "message-submission-time", "x411.message_submission_time",
7707 FT_STRING, BASE_NONE, NULL, 0,
7709 { &hf_x411_probe_submission_identifier,
7710 { "probe-submission-identifier", "x411.probe_submission_identifier",
7711 FT_NONE, BASE_NONE, NULL, 0,
7712 "ProbeSubmissionResult/probe-submission-identifier", HFILL }},
7713 { &hf_x411_probe_submission_time,
7714 { "probe-submission-time", "x411.probe_submission_time",
7715 FT_STRING, BASE_NONE, NULL, 0,
7716 "ProbeSubmissionResult/probe-submission-time", HFILL }},
7717 { &hf_x411_ImproperlySpecifiedRecipients_item,
7718 { "Item", "x411.ImproperlySpecifiedRecipients_item",
7719 FT_NONE, BASE_NONE, NULL, 0,
7720 "ImproperlySpecifiedRecipients/_item", HFILL }},
7721 { &hf_x411_waiting_operations,
7722 { "waiting-operations", "x411.waiting_operations",
7723 FT_BYTES, BASE_HEX, NULL, 0,
7725 { &hf_x411_waiting_messages,
7726 { "waiting-messages", "x411.waiting_messages",
7727 FT_BYTES, BASE_HEX, NULL, 0,
7729 { &hf_x411_waiting_content_types,
7730 { "waiting-content-types", "x411.waiting_content_types",
7731 FT_UINT32, BASE_DEC, NULL, 0,
7733 { &hf_x411_waiting_content_types_item,
7734 { "Item", "x411.waiting_content_types_item",
7735 FT_UINT32, BASE_DEC, VALS(x411_ContentType_vals), 0,
7737 { &hf_x411_waiting_encoded_information_types,
7738 { "waiting-encoded-information-types", "x411.waiting_encoded_information_types",
7739 FT_NONE, BASE_NONE, NULL, 0,
7741 { &hf_x411_message_delivery_identifier,
7742 { "message-delivery-identifier", "x411.message_delivery_identifier",
7743 FT_NONE, BASE_NONE, NULL, 0,
7745 { &hf_x411_message_delivery_time,
7746 { "message-delivery-time", "x411.message_delivery_time",
7747 FT_STRING, BASE_NONE, NULL, 0,
7749 { &hf_x411_other_fields,
7750 { "other-fields", "x411.other_fields",
7751 FT_NONE, BASE_NONE, NULL, 0,
7753 { &hf_x411_recipient_certificate,
7754 { "recipient-certificate", "x411.recipient_certificate",
7755 FT_NONE, BASE_NONE, NULL, 0,
7757 { &hf_x411_proof_of_delivery,
7758 { "proof-of-delivery", "x411.proof_of_delivery",
7759 FT_NONE, BASE_NONE, NULL, 0,
7760 "MessageDeliveryResult/proof-of-delivery", HFILL }},
7761 { &hf_x411_subject_submission_identifier,
7762 { "subject-submission-identifier", "x411.subject_submission_identifier",
7763 FT_NONE, BASE_NONE, NULL, 0,
7765 { &hf_x411_per_recipient_report_delivery_fields,
7766 { "per-recipient-fields", "x411.per_recipient_fields",
7767 FT_UINT32, BASE_DEC, NULL, 0,
7769 { &hf_x411_per_recipient_report_delivery_fields_item,
7770 { "Item", "x411.per_recipient_fields_item",
7771 FT_NONE, BASE_NONE, NULL, 0,
7773 { &hf_x411_empty_result,
7774 { "empty-result", "x411.empty_result",
7775 FT_NONE, BASE_NONE, NULL, 0,
7777 { &hf_x411_restrict,
7778 { "restrict", "x411.restrict",
7779 FT_BOOLEAN, 8, NULL, 0,
7781 { &hf_x411_permissible_operations,
7782 { "permissible-operations", "x411.permissible_operations",
7783 FT_BYTES, BASE_HEX, NULL, 0,
7785 { &hf_x411_permissible_maximum_content_length,
7786 { "permissible-maximum-content-length", "x411.permissible_maximum_content_length",
7787 FT_UINT32, BASE_DEC, NULL, 0,
7789 { &hf_x411_permissible_lowest_priority,
7790 { "permissible-lowest-priority", "x411.permissible_lowest_priority",
7791 FT_UINT32, BASE_DEC, VALS(x411_Priority_vals), 0,
7793 { &hf_x411_permissible_content_types,
7794 { "permissible-content-types", "x411.permissible_content_types",
7795 FT_UINT32, BASE_DEC, NULL, 0,
7797 { &hf_x411_permissible_encoded_information_types,
7798 { "permissible-encoded-information-types", "x411.permissible_encoded_information_types",
7799 FT_NONE, BASE_NONE, NULL, 0,
7801 { &hf_x411_permissible_security_context,
7802 { "permissible-security-context", "x411.permissible_security_context",
7803 FT_UINT32, BASE_DEC, NULL, 0,
7805 { &hf_x411_refused_argument,
7806 { "refused-argument", "x411.refused_argument",
7807 FT_UINT32, BASE_DEC, VALS(x411_T_refused_argument_vals), 0,
7808 "RefusedOperation/refused-argument", HFILL }},
7809 { &hf_x411_built_in_argument,
7810 { "built-in-argument", "x411.built_in_argument",
7811 FT_UINT32, BASE_DEC, VALS(x411_RefusedArgument_vals), 0,
7812 "RefusedOperation/refused-argument/built-in-argument", HFILL }},
7813 { &hf_x411_refused_extension,
7814 { "refused-extension", "x411.refused_extension",
7815 FT_NONE, BASE_NONE, NULL, 0,
7816 "RefusedOperation/refused-argument/refused-extension", HFILL }},
7817 { &hf_x411_refusal_reason,
7818 { "refusal-reason", "x411.refusal_reason",
7819 FT_UINT32, BASE_DEC, VALS(x411_RefusalReason_vals), 0,
7820 "RefusedOperation/refusal-reason", HFILL }},
7821 { &hf_x411_user_name,
7822 { "user-name", "x411.user_name",
7823 FT_NONE, BASE_NONE, NULL, 0,
7824 "RegisterArgument/user-name", HFILL }},
7825 { &hf_x411_user_address,
7826 { "user-address", "x411.user_address",
7827 FT_UINT32, BASE_DEC, VALS(x411_UserAddress_vals), 0,
7828 "RegisterArgument/user-address", HFILL }},
7829 { &hf_x411_deliverable_class,
7830 { "deliverable-class", "x411.deliverable_class",
7831 FT_UINT32, BASE_DEC, NULL, 0,
7832 "RegisterArgument/deliverable-class", HFILL }},
7833 { &hf_x411_deliverable_class_item,
7834 { "Item", "x411.deliverable_class_item",
7835 FT_NONE, BASE_NONE, NULL, 0,
7836 "RegisterArgument/deliverable-class/_item", HFILL }},
7837 { &hf_x411_default_delivery_controls,
7838 { "default-delivery-controls", "x411.default_delivery_controls",
7839 FT_NONE, BASE_NONE, NULL, 0,
7840 "RegisterArgument/default-delivery-controls", HFILL }},
7841 { &hf_x411_redirections,
7842 { "redirections", "x411.redirections",
7843 FT_UINT32, BASE_DEC, NULL, 0,
7844 "RegisterArgument/redirections", HFILL }},
7845 { &hf_x411_restricted_delivery,
7846 { "restricted-delivery", "x411.restricted_delivery",
7847 FT_UINT32, BASE_DEC, NULL, 0,
7848 "RegisterArgument/restricted-delivery", HFILL }},
7849 { &hf_x411_retrieve_registrations,
7850 { "retrieve-registrations", "x411.retrieve_registrations",
7851 FT_NONE, BASE_NONE, NULL, 0,
7852 "RegisterArgument/retrieve-registrations", HFILL }},
7853 { &hf_x411_non_empty_result,
7854 { "non-empty-result", "x411.non_empty_result",
7855 FT_NONE, BASE_NONE, NULL, 0,
7856 "RegisterResult/non-empty-result", HFILL }},
7857 { &hf_x411_registered_information,
7858 { "registered-information", "x411.registered_information",
7859 FT_NONE, BASE_NONE, NULL, 0,
7860 "RegisterResult/non-empty-result/registered-information", HFILL }},
7861 { &hf_x411_old_credentials,
7862 { "old-credentials", "x411.old_credentials",
7863 FT_UINT32, BASE_DEC, VALS(x411_Credentials_vals), 0,
7864 "ChangeCredentialsArgument/old-credentials", HFILL }},
7865 { &hf_x411_new_credentials,
7866 { "new-credentials", "x411.new_credentials",
7867 FT_UINT32, BASE_DEC, VALS(x411_Credentials_vals), 0,
7868 "ChangeCredentialsArgument/new-credentials", HFILL }},
7870 { "x121", "x411.x121",
7871 FT_NONE, BASE_NONE, NULL, 0,
7872 "UserAddress/x121", HFILL }},
7873 { &hf_x411_x121_address,
7874 { "x121-address", "x411.x121_address",
7875 FT_STRING, BASE_NONE, NULL, 0,
7876 "UserAddress/x121/x121-address", HFILL }},
7878 { "tsap-id", "x411.tsap_id",
7879 FT_STRING, BASE_NONE, NULL, 0,
7880 "UserAddress/x121/tsap-id", HFILL }},
7881 { &hf_x411_presentation,
7882 { "presentation", "x411.presentation",
7883 FT_NONE, BASE_NONE, NULL, 0,
7884 "UserAddress/presentation", HFILL }},
7885 { &hf_x411_Redirections_item,
7886 { "Item", "x411.Redirections_item",
7887 FT_NONE, BASE_NONE, NULL, 0,
7888 "Redirections/_item", HFILL }},
7889 { &hf_x411_redirection_classes,
7890 { "redirection-classes", "x411.redirection_classes",
7891 FT_UINT32, BASE_DEC, NULL, 0,
7892 "RecipientRedirection/redirection-classes", HFILL }},
7893 { &hf_x411_redirection_classes_item,
7894 { "Item", "x411.redirection_classes_item",
7895 FT_NONE, BASE_NONE, NULL, 0,
7896 "RecipientRedirection/redirection-classes/_item", HFILL }},
7897 { &hf_x411_recipient_assigned_alternate_recipient,
7898 { "recipient-assigned-alternate-recipient", "x411.recipient_assigned_alternate_recipient",
7899 FT_NONE, BASE_NONE, NULL, 0,
7900 "RecipientRedirection/recipient-assigned-alternate-recipient", HFILL }},
7901 { &hf_x411_content_types,
7902 { "content-types", "x411.content_types",
7903 FT_UINT32, BASE_DEC, NULL, 0,
7904 "MessageClass/content-types", HFILL }},
7905 { &hf_x411_maximum_content_length,
7906 { "maximum-content-length", "x411.maximum_content_length",
7907 FT_UINT32, BASE_DEC, NULL, 0,
7908 "MessageClass/maximum-content-length", HFILL }},
7909 { &hf_x411_encoded_information_types_constraints,
7910 { "encoded-information-types-constraints", "x411.encoded_information_types_constraints",
7911 FT_NONE, BASE_NONE, NULL, 0,
7912 "MessageClass/encoded-information-types-constraints", HFILL }},
7913 { &hf_x411_security_labels,
7914 { "security-labels", "x411.security_labels",
7915 FT_UINT32, BASE_DEC, NULL, 0,
7916 "MessageClass/security-labels", HFILL }},
7917 { &hf_x411_class_priority,
7918 { "priority", "x411.priority",
7919 FT_UINT32, BASE_DEC, NULL, 0,
7920 "MessageClass/priority", HFILL }},
7921 { &hf_x411_priority_item,
7922 { "Item", "x411.priority_item",
7923 FT_UINT32, BASE_DEC, VALS(x411_Priority_vals), 0,
7924 "MessageClass/priority/_item", HFILL }},
7926 { "objects", "x411.objects",
7927 FT_UINT32, BASE_DEC, VALS(x411_T_objects_vals), 0,
7928 "MessageClass/objects", HFILL }},
7929 { &hf_x411_applies_only_to,
7930 { "applies-only-to", "x411.applies_only_to",
7931 FT_UINT32, BASE_DEC, NULL, 0,
7932 "MessageClass/applies-only-to", HFILL }},
7933 { &hf_x411_applies_only_to_item,
7934 { "Item", "x411.applies_only_to_item",
7935 FT_NONE, BASE_NONE, NULL, 0,
7936 "MessageClass/applies-only-to/_item", HFILL }},
7937 { &hf_x411_unacceptable_eits,
7938 { "unacceptable-eits", "x411.unacceptable_eits",
7939 FT_UINT32, BASE_DEC, NULL, 0,
7940 "EncodedInformationTypesConstraints/unacceptable-eits", HFILL }},
7941 { &hf_x411_acceptable_eits,
7942 { "acceptable-eits", "x411.acceptable_eits",
7943 FT_UINT32, BASE_DEC, NULL, 0,
7944 "EncodedInformationTypesConstraints/acceptable-eits", HFILL }},
7945 { &hf_x411_exclusively_acceptable_eits,
7946 { "exclusively-acceptable-eits", "x411.exclusively_acceptable_eits",
7947 FT_UINT32, BASE_DEC, NULL, 0,
7948 "EncodedInformationTypesConstraints/exclusively-acceptable-eits", HFILL }},
7949 { &hf_x411_RestrictedDelivery_item,
7950 { "Item", "x411.RestrictedDelivery_item",
7951 FT_NONE, BASE_NONE, NULL, 0,
7952 "RestrictedDelivery/_item", HFILL }},
7953 { &hf_x411_permitted,
7954 { "permitted", "x411.permitted",
7955 FT_BOOLEAN, 8, NULL, 0,
7956 "Restriction/permitted", HFILL }},
7957 { &hf_x411_source_type,
7958 { "source-type", "x411.source_type",
7959 FT_BYTES, BASE_HEX, NULL, 0,
7960 "Restriction/source-type", HFILL }},
7961 { &hf_x411_source_name,
7962 { "source-name", "x411.source_name",
7963 FT_UINT32, BASE_DEC, VALS(x411_ExactOrPattern_vals), 0,
7964 "Restriction/source-name", HFILL }},
7965 { &hf_x411_exact_match,
7966 { "exact-match", "x411.exact_match",
7967 FT_NONE, BASE_NONE, NULL, 0,
7968 "ExactOrPattern/exact-match", HFILL }},
7969 { &hf_x411_pattern_match,
7970 { "pattern-match", "x411.pattern_match",
7971 FT_NONE, BASE_NONE, NULL, 0,
7972 "ExactOrPattern/pattern-match", HFILL }},
7973 { &hf_x411_standard_parameters,
7974 { "standard-parameters", "x411.standard_parameters",
7975 FT_BYTES, BASE_HEX, NULL, 0,
7976 "RegistrationTypes/standard-parameters", HFILL }},
7977 { &hf_x411_type_extensions,
7978 { "extensions", "x411.extensions",
7979 FT_UINT32, BASE_DEC, NULL, 0,
7980 "RegistrationTypes/extensions", HFILL }},
7981 { &hf_x411_type_extensions_item,
7982 { "Item", "x411.extensions_item",
7983 FT_NONE, BASE_NONE, NULL, 0,
7984 "RegistrationTypes/extensions/_item", HFILL }},
7985 { &hf_x411_mts_originator_name,
7986 { "originator-name", "x411.originator_name",
7987 FT_NONE, BASE_NONE, NULL, 0,
7989 { &hf_x411_per_recipient_message_submission_fields,
7990 { "per-recipient-fields", "x411.per_recipient_fields",
7991 FT_UINT32, BASE_DEC, NULL, 0,
7992 "MessageSubmissionEnvelope/per-recipient-fields", HFILL }},
7993 { &hf_x411_per_recipient_message_submission_fields_item,
7994 { "Item", "x411.per_recipient_fields_item",
7995 FT_NONE, BASE_NONE, NULL, 0,
7996 "MessageSubmissionEnvelope/per-recipient-fields/_item", HFILL }},
7997 { &hf_x411_submission_recipient_name,
7998 { "recipient-name", "x411.recipient_name",
7999 FT_NONE, BASE_NONE, NULL, 0,
8000 "PerRecipientMessageSubmissionFields/recipient-name", HFILL }},
8001 { &hf_x411_originator_report_request,
8002 { "originator-report-request", "x411.originator_report_request",
8003 FT_BYTES, BASE_HEX, NULL, 0,
8005 { &hf_x411_per_recipient_probe_submission_fields,
8006 { "per-recipient-fields", "x411.per_recipient_fields",
8007 FT_UINT32, BASE_DEC, NULL, 0,
8008 "ProbeSubmissionEnvelope/per-recipient-fields", HFILL }},
8009 { &hf_x411_per_recipient_probe_submission_fields_item,
8010 { "Item", "x411.per_recipient_fields_item",
8011 FT_NONE, BASE_NONE, NULL, 0,
8012 "ProbeSubmissionEnvelope/per-recipient-fields/_item", HFILL }},
8013 { &hf_x411_probe_recipient_name,
8014 { "recipient-name", "x411.recipient_name",
8015 FT_NONE, BASE_NONE, NULL, 0,
8016 "PerRecipientProbeSubmissionFields/recipient-name", HFILL }},
8017 { &hf_x411_delivered_content_type,
8018 { "content-type", "x411.content_type",
8019 FT_UINT32, BASE_DEC, VALS(x411_DeliveredContentType_vals), 0,
8020 "OtherMessageDeliveryFields/content-type", HFILL }},
8021 { &hf_x411_originator_name,
8022 { "originator-name", "x411.originator_name",
8023 FT_NONE, BASE_NONE, NULL, 0,
8024 "OtherMessageDeliveryFields/originator-name", HFILL }},
8025 { &hf_x411_delivery_flags,
8026 { "delivery-flags", "x411.delivery_flags",
8027 FT_BYTES, BASE_HEX, NULL, 0,
8028 "OtherMessageDeliveryFields/delivery-flags", HFILL }},
8029 { &hf_x411_other_recipient_names,
8030 { "other-recipient-names", "x411.other_recipient_names",
8031 FT_UINT32, BASE_DEC, NULL, 0,
8032 "OtherMessageDeliveryFields/other-recipient-names", HFILL }},
8033 { &hf_x411_this_recipient_name,
8034 { "this-recipient-name", "x411.this_recipient_name",
8035 FT_NONE, BASE_NONE, NULL, 0,
8036 "OtherMessageDeliveryFields/this-recipient-name", HFILL }},
8037 { &hf_x411_originally_intended_recipient_name,
8038 { "originally-intended-recipient-name", "x411.originally_intended_recipient_name",
8039 FT_NONE, BASE_NONE, NULL, 0,
8041 { &hf_x411_actual_recipient_name,
8042 { "actual-recipient-name", "x411.actual_recipient_name",
8043 FT_NONE, BASE_NONE, NULL, 0,
8045 { &hf_x411_delivery_report_type,
8046 { "report-type", "x411.report_type",
8047 FT_UINT32, BASE_DEC, VALS(x411_ReportType_vals), 0,
8048 "PerRecipientReportDeliveryFields/report-type", HFILL }},
8049 { &hf_x411_delivery,
8050 { "delivery", "x411.delivery",
8051 FT_NONE, BASE_NONE, NULL, 0,
8052 "ReportType/delivery", HFILL }},
8053 { &hf_x411_non_delivery,
8054 { "non-delivery", "x411.non_delivery",
8055 FT_NONE, BASE_NONE, NULL, 0,
8056 "ReportType/non-delivery", HFILL }},
8057 { &hf_x411_type_of_MTS_user,
8058 { "type-of-MTS-user", "x411.type_of_MTS_user",
8059 FT_UINT32, BASE_DEC, VALS(x411_TypeOfMTSUser_vals), 0,
8061 { &hf_x411_non_delivery_reason_code,
8062 { "non-delivery-reason-code", "x411.non_delivery_reason_code",
8063 FT_UINT32, BASE_DEC, VALS(x411_NonDeliveryReasonCode_vals), 0,
8065 { &hf_x411_non_delivery_diagnostic_code,
8066 { "non-delivery-diagnostic-code", "x411.non_delivery_diagnostic_code",
8067 FT_UINT32, BASE_DEC, VALS(x411_NonDeliveryDiagnosticCode_vals), 0,
8069 { &hf_x411_ContentTypes_item,
8070 { "Item", "x411.ContentTypes_item",
8071 FT_UINT32, BASE_DEC, VALS(x411_ContentType_vals), 0,
8072 "ContentTypes/_item", HFILL }},
8073 { &hf_x411_built_in,
8074 { "built-in", "x411.built_in",
8075 FT_INT32, BASE_DEC, VALS(x411_BuiltInContentType_vals), 0,
8077 { &hf_x411_extended,
8078 { "extended", "x411.extended",
8079 FT_OID, BASE_NONE, NULL, 0,
8081 { &hf_x411_OtherRecipientNames_item,
8082 { "Item", "x411.OtherRecipientNames_item",
8083 FT_NONE, BASE_NONE, NULL, 0,
8084 "OtherRecipientNames/_item", HFILL }},
8085 { &hf_x411_standard_extension,
8086 { "standard-extension", "x411.standard_extension",
8087 FT_INT32, BASE_DEC, NULL, 0,
8088 "ExtensionType/standard-extension", HFILL }},
8089 { &hf_x411_private_extension,
8090 { "private-extension", "x411.private_extension",
8091 FT_OID, BASE_NONE, NULL, 0,
8092 "ExtensionType/private-extension", HFILL }},
8093 { &hf_x411_extension_type,
8094 { "type", "x411.type",
8095 FT_UINT32, BASE_DEC, VALS(x411_ExtensionType_vals), 0,
8096 "ExtensionField/type", HFILL }},
8097 { &hf_x411_criticality,
8098 { "criticality", "x411.criticality",
8099 FT_BYTES, BASE_HEX, NULL, 0,
8100 "ExtensionField/criticality", HFILL }},
8101 { &hf_x411_extension_value,
8102 { "value", "x411.value",
8103 FT_NONE, BASE_NONE, NULL, 0,
8104 "ExtensionField/value", HFILL }},
8105 { &hf_x411_RequestedDeliveryMethod_item,
8106 { "Item", "x411.RequestedDeliveryMethod_item",
8107 FT_UINT32, BASE_DEC, VALS(x411_RequestedDeliveryMethod_item_vals), 0,
8108 "RequestedDeliveryMethod/_item", HFILL }},
8110 { "ia5text", "x411.ia5text",
8111 FT_STRING, BASE_NONE, NULL, 0,
8112 "ContentCorrelator/ia5text", HFILL }},
8114 { "octets", "x411.octets",
8115 FT_BYTES, BASE_HEX, NULL, 0,
8116 "ContentCorrelator/octets", HFILL }},
8117 { &hf_x411_RedirectionHistory_item,
8118 { "Item", "x411.RedirectionHistory_item",
8119 FT_NONE, BASE_NONE, NULL, 0,
8120 "RedirectionHistory/_item", HFILL }},
8121 { &hf_x411_intended_recipient_name,
8122 { "intended-recipient-name", "x411.intended_recipient_name",
8123 FT_NONE, BASE_NONE, NULL, 0,
8124 "Redirection/intended-recipient-name", HFILL }},
8125 { &hf_x411_redirection_reason,
8126 { "redirection-reason", "x411.redirection_reason",
8127 FT_UINT32, BASE_DEC, VALS(x411_RedirectionReason_vals), 0,
8128 "Redirection/redirection-reason", HFILL }},
8129 { &hf_x411_intended_recipient,
8130 { "intended-recipient", "x411.intended_recipient",
8131 FT_NONE, BASE_NONE, NULL, 0,
8132 "IntendedRecipientName/intended-recipient", HFILL }},
8133 { &hf_x411_redirection_time,
8134 { "redirection-time", "x411.redirection_time",
8135 FT_STRING, BASE_NONE, NULL, 0,
8136 "IntendedRecipientName/redirection-time", HFILL }},
8137 { &hf_x411_DLExpansionHistory_item,
8138 { "Item", "x411.DLExpansionHistory_item",
8139 FT_NONE, BASE_NONE, NULL, 0,
8140 "DLExpansionHistory/_item", HFILL }},
8143 FT_NONE, BASE_NONE, NULL, 0,
8144 "DLExpansion/dl", HFILL }},
8145 { &hf_x411_dl_expansion_time,
8146 { "dl-expansion-time", "x411.dl_expansion_time",
8147 FT_STRING, BASE_NONE, NULL, 0,
8148 "DLExpansion/dl-expansion-time", HFILL }},
8149 { &hf_x411_OriginatorAndDLExpansionHistory_item,
8150 { "Item", "x411.OriginatorAndDLExpansionHistory_item",
8151 FT_NONE, BASE_NONE, NULL, 0,
8152 "OriginatorAndDLExpansionHistory/_item", HFILL }},
8153 { &hf_x411_originator_or_dl_name,
8154 { "originator-or-dl-name", "x411.originator_or_dl_name",
8155 FT_NONE, BASE_NONE, NULL, 0,
8156 "OriginatorAndDLExpansion/originator-or-dl-name", HFILL }},
8157 { &hf_x411_origination_or_expansion_time,
8158 { "origination-or-expansion-time", "x411.origination_or_expansion_time",
8159 FT_STRING, BASE_NONE, NULL, 0,
8160 "OriginatorAndDLExpansion/origination-or-expansion-time", HFILL }},
8161 { &hf_x411_report_type,
8162 { "report-type", "x411.report_type",
8163 FT_UINT32, BASE_DEC, VALS(x411_T_report_type_vals), 0,
8164 "PerRecipientReportFields/report-type", HFILL }},
8165 { &hf_x411_report_type_delivery,
8166 { "delivery", "x411.delivery",
8167 FT_NONE, BASE_NONE, NULL, 0,
8168 "PerRecipientReportFields/report-type/delivery", HFILL }},
8169 { &hf_x411_non_delivery_report,
8170 { "non-delivery", "x411.non_delivery",
8171 FT_NONE, BASE_NONE, NULL, 0,
8172 "PerRecipientReportFields/report-type/non-delivery", HFILL }},
8173 { &hf_x411_mta_directory_name,
8174 { "mta-directory-name", "x411.mta_directory_name",
8175 FT_UINT32, BASE_DEC, VALS(x509if_Name_vals), 0,
8176 "ReportingMTAName/mta-directory-name", HFILL }},
8177 { &hf_x411_ExtendedCertificates_item,
8178 { "Item", "x411.ExtendedCertificates_item",
8179 FT_UINT32, BASE_DEC, VALS(x411_ExtendedCertificate_vals), 0,
8180 "ExtendedCertificates/_item", HFILL }},
8181 { &hf_x411_directory_entry,
8182 { "directory-entry", "x411.directory_entry",
8183 FT_UINT32, BASE_DEC, VALS(x509if_Name_vals), 0,
8184 "ExtendedCertificate/directory-entry", HFILL }},
8185 { &hf_x411_certificate,
8186 { "certificate", "x411.certificate",
8187 FT_NONE, BASE_NONE, NULL, 0,
8188 "ExtendedCertificate/certificate", HFILL }},
8189 { &hf_x411_DLExemptedRecipients_item,
8190 { "Item", "x411.DLExemptedRecipients_item",
8191 FT_NONE, BASE_NONE, NULL, 0,
8192 "DLExemptedRecipients/_item", HFILL }},
8193 { &hf_x411_encryption_recipient,
8194 { "encryption-recipient", "x411.encryption_recipient",
8195 FT_NONE, BASE_NONE, NULL, 0,
8196 "CertificateSelectors/encryption-recipient", HFILL }},
8197 { &hf_x411_encryption_originator,
8198 { "encryption-originator", "x411.encryption_originator",
8199 FT_NONE, BASE_NONE, NULL, 0,
8200 "CertificateSelectors/encryption-originator", HFILL }},
8201 { &hf_x411_content_integrity_check,
8202 { "content-integrity-check", "x411.content_integrity_check",
8203 FT_NONE, BASE_NONE, NULL, 0,
8204 "CertificateSelectors/content-integrity-check", HFILL }},
8205 { &hf_x411_token_signature,
8206 { "token-signature", "x411.token_signature",
8207 FT_NONE, BASE_NONE, NULL, 0,
8208 "CertificateSelectors/token-signature", HFILL }},
8209 { &hf_x411_message_origin_authentication,
8210 { "message-origin-authentication", "x411.message_origin_authentication",
8211 FT_NONE, BASE_NONE, NULL, 0,
8212 "CertificateSelectors/message-origin-authentication", HFILL }},
8213 { &hf_x411_local_identifier,
8214 { "local-identifier", "x411.local_identifier",
8215 FT_STRING, BASE_NONE, NULL, 0,
8216 "MTSIdentifier/local-identifier", HFILL }},
8218 { "numeric", "x411.numeric",
8219 FT_STRING, BASE_NONE, NULL, 0,
8221 { &hf_x411_printable,
8222 { "printable", "x411.printable",
8223 FT_STRING, BASE_NONE, NULL, 0,
8225 { &hf_x411_built_in_standard_attributes,
8226 { "built-in-standard-attributes", "x411.built_in_standard_attributes",
8227 FT_NONE, BASE_NONE, NULL, 0,
8229 { &hf_x411_built_in_domain_defined_attributes,
8230 { "built-in-domain-defined-attributes", "x411.built_in_domain_defined_attributes",
8231 FT_UINT32, BASE_DEC, NULL, 0,
8233 { &hf_x411_extension_attributes,
8234 { "extension-attributes", "x411.extension_attributes",
8235 FT_UINT32, BASE_DEC, NULL, 0,
8237 { &hf_x411_directory_name,
8238 { "directory-name", "x411.directory_name",
8239 FT_UINT32, BASE_DEC, VALS(x509if_Name_vals), 0,
8240 "ORName/directory-name", HFILL }},
8241 { &hf_x411_network_address,
8242 { "network-address", "x411.network_address",
8243 FT_STRING, BASE_NONE, NULL, 0,
8244 "BuiltInStandardAttributes/network-address", HFILL }},
8245 { &hf_x411_terminal_identifier,
8246 { "terminal-identifier", "x411.terminal_identifier",
8247 FT_STRING, BASE_NONE, NULL, 0,
8248 "BuiltInStandardAttributes/terminal-identifier", HFILL }},
8249 { &hf_x411_private_domain_name,
8250 { "private-domain-name", "x411.private_domain_name",
8251 FT_UINT32, BASE_DEC, VALS(x411_PrivateDomainName_vals), 0,
8252 "BuiltInStandardAttributes/private-domain-name", HFILL }},
8253 { &hf_x411_organization_name,
8254 { "organization-name", "x411.organization_name",
8255 FT_STRING, BASE_NONE, NULL, 0,
8256 "BuiltInStandardAttributes/organization-name", HFILL }},
8257 { &hf_x411_numeric_user_identifier,
8258 { "numeric-user-identifier", "x411.numeric_user_identifier",
8259 FT_STRING, BASE_NONE, NULL, 0,
8260 "BuiltInStandardAttributes/numeric-user-identifier", HFILL }},
8261 { &hf_x411_personal_name,
8262 { "personal-name", "x411.personal_name",
8263 FT_NONE, BASE_NONE, NULL, 0,
8264 "BuiltInStandardAttributes/personal-name", HFILL }},
8265 { &hf_x411_organizational_unit_names,
8266 { "organizational-unit-names", "x411.organizational_unit_names",
8267 FT_UINT32, BASE_DEC, NULL, 0,
8268 "BuiltInStandardAttributes/organizational-unit-names", HFILL }},
8269 { &hf_x411_x121_dcc_code,
8270 { "x121-dcc-code", "x411.x121_dcc_code",
8271 FT_STRING, BASE_NONE, NULL, 0,
8273 { &hf_x411_iso_3166_alpha2_code,
8274 { "iso-3166-alpha2-code", "x411.iso_3166_alpha2_code",
8275 FT_STRING, BASE_NONE, NULL, 0,
8277 { &hf_x411_printable_surname,
8278 { "surname", "x411.surname",
8279 FT_STRING, BASE_NONE, NULL, 0,
8280 "PersonalName/surname", HFILL }},
8281 { &hf_x411_printable_given_name,
8282 { "given-name", "x411.given_name",
8283 FT_STRING, BASE_NONE, NULL, 0,
8284 "PersonalName/given-name", HFILL }},
8285 { &hf_x411_printable_initials,
8286 { "initials", "x411.initials",
8287 FT_STRING, BASE_NONE, NULL, 0,
8288 "PersonalName/initials", HFILL }},
8289 { &hf_x411_printable_generation_qualifier,
8290 { "generation-qualifier", "x411.generation_qualifier",
8291 FT_STRING, BASE_NONE, NULL, 0,
8292 "PersonalName/generation-qualifier", HFILL }},
8293 { &hf_x411_OrganizationalUnitNames_item,
8294 { "Item", "x411.OrganizationalUnitNames_item",
8295 FT_STRING, BASE_NONE, NULL, 0,
8296 "OrganizationalUnitNames/_item", HFILL }},
8297 { &hf_x411_BuiltInDomainDefinedAttributes_item,
8298 { "Item", "x411.BuiltInDomainDefinedAttributes_item",
8299 FT_NONE, BASE_NONE, NULL, 0,
8300 "BuiltInDomainDefinedAttributes/_item", HFILL }},
8301 { &hf_x411_printable_type,
8302 { "type", "x411.type",
8303 FT_STRING, BASE_NONE, NULL, 0,
8304 "BuiltInDomainDefinedAttribute/type", HFILL }},
8305 { &hf_x411_printable_value,
8306 { "value", "x411.value",
8307 FT_STRING, BASE_NONE, NULL, 0,
8308 "BuiltInDomainDefinedAttribute/value", HFILL }},
8309 { &hf_x411_ExtensionAttributes_item,
8310 { "Item", "x411.ExtensionAttributes_item",
8311 FT_NONE, BASE_NONE, NULL, 0,
8312 "ExtensionAttributes/_item", HFILL }},
8313 { &hf_x411_extension_attribute_type,
8314 { "extension-attribute-type", "x411.extension_attribute_type",
8315 FT_INT32, BASE_DEC, NULL, 0,
8316 "ExtensionAttribute/extension-attribute-type", HFILL }},
8317 { &hf_x411_extension_attribute_value,
8318 { "extension-attribute-value", "x411.extension_attribute_value",
8319 FT_NONE, BASE_NONE, NULL, 0,
8320 "ExtensionAttribute/extension-attribute-value", HFILL }},
8321 { &hf_x411_teletex_surname,
8322 { "surname", "x411.surname",
8323 FT_STRING, BASE_NONE, NULL, 0,
8324 "TeletexPersonalName/surname", HFILL }},
8325 { &hf_x411_teletex_given_name,
8326 { "given-name", "x411.given_name",
8327 FT_STRING, BASE_NONE, NULL, 0,
8328 "TeletexPersonalName/given-name", HFILL }},
8329 { &hf_x411_teletex_initials,
8330 { "initials", "x411.initials",
8331 FT_STRING, BASE_NONE, NULL, 0,
8332 "TeletexPersonalName/initials", HFILL }},
8333 { &hf_x411_teletex_generation_qualifier,
8334 { "generation-qualifier", "x411.generation_qualifier",
8335 FT_STRING, BASE_NONE, NULL, 0,
8336 "TeletexPersonalName/generation-qualifier", HFILL }},
8337 { &hf_x411_universal_surname,
8338 { "surname", "x411.surname",
8339 FT_NONE, BASE_NONE, NULL, 0,
8340 "UniversalPersonalName/surname", HFILL }},
8341 { &hf_x411_universal_given_name,
8342 { "given-name", "x411.given_name",
8343 FT_NONE, BASE_NONE, NULL, 0,
8344 "UniversalPersonalName/given-name", HFILL }},
8345 { &hf_x411_universal_initials,
8346 { "initials", "x411.initials",
8347 FT_NONE, BASE_NONE, NULL, 0,
8348 "UniversalPersonalName/initials", HFILL }},
8349 { &hf_x411_universal_generation_qualifier,
8350 { "generation-qualifier", "x411.generation_qualifier",
8351 FT_NONE, BASE_NONE, NULL, 0,
8352 "UniversalPersonalName/generation-qualifier", HFILL }},
8353 { &hf_x411_TeletexOrganizationalUnitNames_item,
8354 { "Item", "x411.TeletexOrganizationalUnitNames_item",
8355 FT_STRING, BASE_NONE, NULL, 0,
8356 "TeletexOrganizationalUnitNames/_item", HFILL }},
8357 { &hf_x411_UniversalOrganizationalUnitNames_item,
8358 { "Item", "x411.UniversalOrganizationalUnitNames_item",
8359 FT_NONE, BASE_NONE, NULL, 0,
8360 "UniversalOrganizationalUnitNames/_item", HFILL }},
8361 { &hf_x411_character_encoding,
8362 { "character-encoding", "x411.character_encoding",
8363 FT_UINT32, BASE_DEC, VALS(x411_T_character_encoding_vals), 0,
8364 "UniversalOrBMPString/character-encoding", HFILL }},
8365 { &hf_x411_two_octets,
8366 { "two-octets", "x411.two_octets",
8367 FT_STRING, BASE_NONE, NULL, 0,
8368 "UniversalOrBMPString/character-encoding/two-octets", HFILL }},
8369 { &hf_x411_four_octets,
8370 { "four-octets", "x411.four_octets",
8371 FT_STRING, BASE_NONE, NULL, 0,
8372 "UniversalOrBMPString/character-encoding/four-octets", HFILL }},
8373 { &hf_x411_iso_639_language_code,
8374 { "iso-639-language-code", "x411.iso_639_language_code",
8375 FT_STRING, BASE_NONE, NULL, 0,
8376 "UniversalOrBMPString/iso-639-language-code", HFILL }},
8377 { &hf_x411_numeric_code,
8378 { "numeric-code", "x411.numeric_code",
8379 FT_STRING, BASE_NONE, NULL, 0,
8380 "PostalCode/numeric-code", HFILL }},
8381 { &hf_x411_printable_code,
8382 { "printable-code", "x411.printable_code",
8383 FT_STRING, BASE_NONE, NULL, 0,
8384 "PostalCode/printable-code", HFILL }},
8385 { &hf_x411_printable_address,
8386 { "printable-address", "x411.printable_address",
8387 FT_UINT32, BASE_DEC, NULL, 0,
8388 "UnformattedPostalAddress/printable-address", HFILL }},
8389 { &hf_x411_printable_address_item,
8390 { "Item", "x411.printable_address_item",
8391 FT_STRING, BASE_NONE, NULL, 0,
8392 "UnformattedPostalAddress/printable-address/_item", HFILL }},
8393 { &hf_x411_teletex_string,
8394 { "teletex-string", "x411.teletex_string",
8395 FT_STRING, BASE_NONE, NULL, 0,
8397 { &hf_x411_printable_string,
8398 { "printable-string", "x411.printable_string",
8399 FT_STRING, BASE_NONE, NULL, 0,
8400 "PDSParameter/printable-string", HFILL }},
8401 { &hf_x411_e163_4_address,
8402 { "e163-4-address", "x411.e163_4_address",
8403 FT_NONE, BASE_NONE, NULL, 0,
8404 "ExtendedNetworkAddress/e163-4-address", HFILL }},
8406 { "number", "x411.number",
8407 FT_STRING, BASE_NONE, NULL, 0,
8408 "ExtendedNetworkAddress/e163-4-address/number", HFILL }},
8409 { &hf_x411_sub_address,
8410 { "sub-address", "x411.sub_address",
8411 FT_STRING, BASE_NONE, NULL, 0,
8412 "ExtendedNetworkAddress/e163-4-address/sub-address", HFILL }},
8413 { &hf_x411_psap_address,
8414 { "psap-address", "x411.psap_address",
8415 FT_NONE, BASE_NONE, NULL, 0,
8416 "ExtendedNetworkAddress/psap-address", HFILL }},
8417 { &hf_x411_TeletexDomainDefinedAttributes_item,
8418 { "Item", "x411.TeletexDomainDefinedAttributes_item",
8419 FT_NONE, BASE_NONE, NULL, 0,
8420 "TeletexDomainDefinedAttributes/_item", HFILL }},
8422 { "type", "x411.type",
8423 FT_STRING, BASE_NONE, NULL, 0,
8424 "TeletexDomainDefinedAttribute/type", HFILL }},
8425 { &hf_x411_teletex_value,
8426 { "value", "x411.value",
8427 FT_STRING, BASE_NONE, NULL, 0,
8428 "TeletexDomainDefinedAttribute/value", HFILL }},
8429 { &hf_x411_UniversalDomainDefinedAttributes_item,
8430 { "Item", "x411.UniversalDomainDefinedAttributes_item",
8431 FT_NONE, BASE_NONE, NULL, 0,
8432 "UniversalDomainDefinedAttributes/_item", HFILL }},
8433 { &hf_x411_universal_type,
8434 { "type", "x411.type",
8435 FT_NONE, BASE_NONE, NULL, 0,
8436 "UniversalDomainDefinedAttribute/type", HFILL }},
8437 { &hf_x411_universal_value,
8438 { "value", "x411.value",
8439 FT_NONE, BASE_NONE, NULL, 0,
8440 "UniversalDomainDefinedAttribute/value", HFILL }},
8441 { &hf_x411_built_in_encoded_information_types,
8442 { "built-in-encoded-information-types", "x411.built_in_encoded_information_types",
8443 FT_BYTES, BASE_HEX, NULL, 0,
8444 "EncodedInformationTypes/built-in-encoded-information-types", HFILL }},
8445 { &hf_x411_g3_facsimile,
8446 { "g3-facsimile", "x411.g3_facsimile",
8447 FT_BYTES, BASE_HEX, NULL, 0,
8450 { "teletex", "x411.teletex",
8451 FT_NONE, BASE_NONE, NULL, 0,
8453 { &hf_x411_extended_encoded_information_types,
8454 { "extended-encoded-information-types", "x411.extended_encoded_information_types",
8455 FT_UINT32, BASE_DEC, NULL, 0,
8456 "EncodedInformationTypes/extended-encoded-information-types", HFILL }},
8457 { &hf_x411_ExtendedEncodedInformationTypes_item,
8458 { "Item", "x411.ExtendedEncodedInformationTypes_item",
8459 FT_OID, BASE_NONE, NULL, 0,
8460 "ExtendedEncodedInformationTypes/_item", HFILL }},
8461 { &hf_x411_graphic_character_sets,
8462 { "graphic-character-sets", "x411.graphic_character_sets",
8463 FT_STRING, BASE_NONE, NULL, 0,
8464 "TeletexNonBasicParameters/graphic-character-sets", HFILL }},
8465 { &hf_x411_control_character_sets,
8466 { "control-character-sets", "x411.control_character_sets",
8467 FT_STRING, BASE_NONE, NULL, 0,
8468 "TeletexNonBasicParameters/control-character-sets", HFILL }},
8469 { &hf_x411_page_formats,
8470 { "page-formats", "x411.page_formats",
8471 FT_BYTES, BASE_HEX, NULL, 0,
8472 "TeletexNonBasicParameters/page-formats", HFILL }},
8473 { &hf_x411_miscellaneous_terminal_capabilities,
8474 { "miscellaneous-terminal-capabilities", "x411.miscellaneous_terminal_capabilities",
8475 FT_STRING, BASE_NONE, NULL, 0,
8476 "TeletexNonBasicParameters/miscellaneous-terminal-capabilities", HFILL }},
8477 { &hf_x411_private_use,
8478 { "private-use", "x411.private_use",
8479 FT_BYTES, BASE_HEX, NULL, 0,
8480 "TeletexNonBasicParameters/private-use", HFILL }},
8481 { &hf_x411_security_policy_identifier,
8482 { "security-policy-identifier", "x411.security_policy_identifier",
8483 FT_OID, BASE_NONE, NULL, 0,
8484 "SecurityLabel/security-policy-identifier", HFILL }},
8485 { &hf_x411_security_classification,
8486 { "security-classification", "x411.security_classification",
8487 FT_UINT32, BASE_DEC, VALS(x411_SecurityClassification_vals), 0,
8488 "SecurityLabel/security-classification", HFILL }},
8489 { &hf_x411_privacy_mark,
8490 { "privacy-mark", "x411.privacy_mark",
8491 FT_STRING, BASE_NONE, NULL, 0,
8492 "SecurityLabel/privacy-mark", HFILL }},
8493 { &hf_x411_security_categories,
8494 { "security-categories", "x411.security_categories",
8495 FT_UINT32, BASE_DEC, NULL, 0,
8496 "SecurityLabel/security-categories", HFILL }},
8497 { &hf_x411_SecurityCategories_item,
8498 { "Item", "x411.SecurityCategories_item",
8499 FT_NONE, BASE_NONE, NULL, 0,
8500 "SecurityCategories/_item", HFILL }},
8501 { &hf_x411_category_type,
8502 { "type", "x411.type",
8503 FT_OID, BASE_NONE, NULL, 0,
8504 "SecurityCategory/type", HFILL }},
8505 { &hf_x411_category_value,
8506 { "value", "x411.value",
8507 FT_NONE, BASE_NONE, NULL, 0,
8508 "SecurityCategory/value", HFILL }},
8509 { &hf_x411_PerRecipientIndicators_responsibility,
8510 { "responsibility", "x411.responsibility",
8511 FT_BOOLEAN, 8, NULL, 0x80,
8513 { &hf_x411_PerRecipientIndicators_originating_MTA_report,
8514 { "originating-MTA-report", "x411.originating-MTA-report",
8515 FT_BOOLEAN, 8, NULL, 0x40,
8517 { &hf_x411_PerRecipientIndicators_originating_MTA_non_delivery_report,
8518 { "originating-MTA-non-delivery-report", "x411.originating-MTA-non-delivery-report",
8519 FT_BOOLEAN, 8, NULL, 0x20,
8521 { &hf_x411_PerRecipientIndicators_originator_report,
8522 { "originator-report", "x411.originator-report",
8523 FT_BOOLEAN, 8, NULL, 0x10,
8525 { &hf_x411_PerRecipientIndicators_originator_non_delivery_report,
8526 { "originator-non-delivery-report", "x411.originator-non-delivery-report",
8527 FT_BOOLEAN, 8, NULL, 0x08,
8529 { &hf_x411_PerRecipientIndicators_reserved_5,
8530 { "reserved-5", "x411.reserved-5",
8531 FT_BOOLEAN, 8, NULL, 0x04,
8533 { &hf_x411_PerRecipientIndicators_reserved_6,
8534 { "reserved-6", "x411.reserved-6",
8535 FT_BOOLEAN, 8, NULL, 0x02,
8537 { &hf_x411_PerRecipientIndicators_reserved_7,
8538 { "reserved-7", "x411.reserved-7",
8539 FT_BOOLEAN, 8, NULL, 0x01,
8541 { &hf_x411_OtherActions_redirected,
8542 { "redirected", "x411.redirected",
8543 FT_BOOLEAN, 8, NULL, 0x80,
8545 { &hf_x411_OtherActions_dl_operation,
8546 { "dl-operation", "x411.dl-operation",
8547 FT_BOOLEAN, 8, NULL, 0x40,
8549 { &hf_x411_Operations_probe_submission_or_report_delivery,
8550 { "probe-submission-or-report-delivery", "x411.probe-submission-or-report-delivery",
8551 FT_BOOLEAN, 8, NULL, 0x80,
8553 { &hf_x411_Operations_message_submission_or_message_delivery,
8554 { "message-submission-or-message-delivery", "x411.message-submission-or-message-delivery",
8555 FT_BOOLEAN, 8, NULL, 0x40,
8557 { &hf_x411_WaitingMessages_long_content,
8558 { "long-content", "x411.long-content",
8559 FT_BOOLEAN, 8, NULL, 0x80,
8561 { &hf_x411_WaitingMessages_low_priority,
8562 { "low-priority", "x411.low-priority",
8563 FT_BOOLEAN, 8, NULL, 0x40,
8565 { &hf_x411_WaitingMessages_other_security_labels,
8566 { "other-security-labels", "x411.other-security-labels",
8567 FT_BOOLEAN, 8, NULL, 0x20,
8569 { &hf_x411_T_source_type_originated_by,
8570 { "originated-by", "x411.originated-by",
8571 FT_BOOLEAN, 8, NULL, 0x80,
8573 { &hf_x411_T_source_type_redirected_by,
8574 { "redirected-by", "x411.redirected-by",
8575 FT_BOOLEAN, 8, NULL, 0x40,
8577 { &hf_x411_T_source_type_dl_expanded_by,
8578 { "dl-expanded-by", "x411.dl-expanded-by",
8579 FT_BOOLEAN, 8, NULL, 0x20,
8581 { &hf_x411_T_standard_parameters_user_name,
8582 { "user-name", "x411.user-name",
8583 FT_BOOLEAN, 8, NULL, 0x80,
8585 { &hf_x411_T_standard_parameters_user_address,
8586 { "user-address", "x411.user-address",
8587 FT_BOOLEAN, 8, NULL, 0x40,
8589 { &hf_x411_T_standard_parameters_deliverable_class,
8590 { "deliverable-class", "x411.deliverable-class",
8591 FT_BOOLEAN, 8, NULL, 0x20,
8593 { &hf_x411_T_standard_parameters_default_delivery_controls,
8594 { "default-delivery-controls", "x411.default-delivery-controls",
8595 FT_BOOLEAN, 8, NULL, 0x10,
8597 { &hf_x411_T_standard_parameters_redirections,
8598 { "redirections", "x411.redirections",
8599 FT_BOOLEAN, 8, NULL, 0x08,
8601 { &hf_x411_T_standard_parameters_restricted_delivery,
8602 { "restricted-delivery", "x411.restricted-delivery",
8603 FT_BOOLEAN, 8, NULL, 0x04,
8605 { &hf_x411_PerMessageIndicators_disclosure_of_other_recipients,
8606 { "disclosure-of-other-recipients", "x411.disclosure-of-other-recipients",
8607 FT_BOOLEAN, 8, NULL, 0x80,
8609 { &hf_x411_PerMessageIndicators_implicit_conversion_prohibited,
8610 { "implicit-conversion-prohibited", "x411.implicit-conversion-prohibited",
8611 FT_BOOLEAN, 8, NULL, 0x40,
8613 { &hf_x411_PerMessageIndicators_alternate_recipient_allowed,
8614 { "alternate-recipient-allowed", "x411.alternate-recipient-allowed",
8615 FT_BOOLEAN, 8, NULL, 0x20,
8617 { &hf_x411_PerMessageIndicators_content_return_request,
8618 { "content-return-request", "x411.content-return-request",
8619 FT_BOOLEAN, 8, NULL, 0x10,
8621 { &hf_x411_PerMessageIndicators_reserved,
8622 { "reserved", "x411.reserved",
8623 FT_BOOLEAN, 8, NULL, 0x08,
8625 { &hf_x411_PerMessageIndicators_bit_5,
8626 { "bit-5", "x411.bit-5",
8627 FT_BOOLEAN, 8, NULL, 0x04,
8629 { &hf_x411_PerMessageIndicators_bit_6,
8630 { "bit-6", "x411.bit-6",
8631 FT_BOOLEAN, 8, NULL, 0x02,
8633 { &hf_x411_PerMessageIndicators_service_message,
8634 { "service-message", "x411.service-message",
8635 FT_BOOLEAN, 8, NULL, 0x01,
8637 { &hf_x411_OriginatorReportRequest_report,
8638 { "report", "x411.report",
8639 FT_BOOLEAN, 8, NULL, 0x10,
8641 { &hf_x411_OriginatorReportRequest_non_delivery_report,
8642 { "non-delivery-report", "x411.non-delivery-report",
8643 FT_BOOLEAN, 8, NULL, 0x08,
8645 { &hf_x411_DeliveryFlags_implicit_conversion_prohibited,
8646 { "implicit-conversion-prohibited", "x411.implicit-conversion-prohibited",
8647 FT_BOOLEAN, 8, NULL, 0x40,
8649 { &hf_x411_Criticality_for_submission,
8650 { "for-submission", "x411.for-submission",
8651 FT_BOOLEAN, 8, NULL, 0x80,
8653 { &hf_x411_Criticality_for_transfer,
8654 { "for-transfer", "x411.for-transfer",
8655 FT_BOOLEAN, 8, NULL, 0x40,
8657 { &hf_x411_Criticality_for_delivery,
8658 { "for-delivery", "x411.for-delivery",
8659 FT_BOOLEAN, 8, NULL, 0x20,
8661 { &hf_x411_PhysicalDeliveryModes_ordinary_mail,
8662 { "ordinary-mail", "x411.ordinary-mail",
8663 FT_BOOLEAN, 8, NULL, 0x80,
8665 { &hf_x411_PhysicalDeliveryModes_special_delivery,
8666 { "special-delivery", "x411.special-delivery",
8667 FT_BOOLEAN, 8, NULL, 0x40,
8669 { &hf_x411_PhysicalDeliveryModes_express_mail,
8670 { "express-mail", "x411.express-mail",
8671 FT_BOOLEAN, 8, NULL, 0x20,
8673 { &hf_x411_PhysicalDeliveryModes_counter_collection,
8674 { "counter-collection", "x411.counter-collection",
8675 FT_BOOLEAN, 8, NULL, 0x10,
8677 { &hf_x411_PhysicalDeliveryModes_counter_collection_with_telephone_advice,
8678 { "counter-collection-with-telephone-advice", "x411.counter-collection-with-telephone-advice",
8679 FT_BOOLEAN, 8, NULL, 0x08,
8681 { &hf_x411_PhysicalDeliveryModes_counter_collection_with_telex_advice,
8682 { "counter-collection-with-telex-advice", "x411.counter-collection-with-telex-advice",
8683 FT_BOOLEAN, 8, NULL, 0x04,
8685 { &hf_x411_PhysicalDeliveryModes_counter_collection_with_teletex_advice,
8686 { "counter-collection-with-teletex-advice", "x411.counter-collection-with-teletex-advice",
8687 FT_BOOLEAN, 8, NULL, 0x02,
8689 { &hf_x411_PhysicalDeliveryModes_bureau_fax_delivery,
8690 { "bureau-fax-delivery", "x411.bureau-fax-delivery",
8691 FT_BOOLEAN, 8, NULL, 0x01,
8693 { &hf_x411_BuiltInEncodedInformationTypes_unknown,
8694 { "unknown", "x411.unknown",
8695 FT_BOOLEAN, 8, NULL, 0x80,
8697 { &hf_x411_BuiltInEncodedInformationTypes_ia5_text,
8698 { "ia5-text", "x411.ia5-text",
8699 FT_BOOLEAN, 8, NULL, 0x20,
8701 { &hf_x411_BuiltInEncodedInformationTypes_g3_facsimile,
8702 { "g3-facsimile", "x411.g3-facsimile",
8703 FT_BOOLEAN, 8, NULL, 0x10,
8705 { &hf_x411_BuiltInEncodedInformationTypes_g4_class_1,
8706 { "g4-class-1", "x411.g4-class-1",
8707 FT_BOOLEAN, 8, NULL, 0x08,
8709 { &hf_x411_BuiltInEncodedInformationTypes_teletex,
8710 { "teletex", "x411.teletex",
8711 FT_BOOLEAN, 8, NULL, 0x04,
8713 { &hf_x411_BuiltInEncodedInformationTypes_videotex,
8714 { "videotex", "x411.videotex",
8715 FT_BOOLEAN, 8, NULL, 0x02,
8717 { &hf_x411_BuiltInEncodedInformationTypes_voice,
8718 { "voice", "x411.voice",
8719 FT_BOOLEAN, 8, NULL, 0x01,
8721 { &hf_x411_BuiltInEncodedInformationTypes_sfd,
8722 { "sfd", "x411.sfd",
8723 FT_BOOLEAN, 8, NULL, 0x80,
8725 { &hf_x411_BuiltInEncodedInformationTypes_mixed_mode,
8726 { "mixed-mode", "x411.mixed-mode",
8727 FT_BOOLEAN, 8, NULL, 0x40,
8729 { &hf_x411_G3FacsimileNonBasicParameters_two_dimensional,
8730 { "two-dimensional", "x411.two-dimensional",
8731 FT_BOOLEAN, 8, NULL, 0x80,
8733 { &hf_x411_G3FacsimileNonBasicParameters_fine_resolution,
8734 { "fine-resolution", "x411.fine-resolution",
8735 FT_BOOLEAN, 8, NULL, 0x40,
8737 { &hf_x411_G3FacsimileNonBasicParameters_unlimited_length,
8738 { "unlimited-length", "x411.unlimited-length",
8739 FT_BOOLEAN, 8, NULL, 0x08,
8741 { &hf_x411_G3FacsimileNonBasicParameters_b4_length,
8742 { "b4-length", "x411.b4-length",
8743 FT_BOOLEAN, 8, NULL, 0x04,
8745 { &hf_x411_G3FacsimileNonBasicParameters_a3_width,
8746 { "a3-width", "x411.a3-width",
8747 FT_BOOLEAN, 8, NULL, 0x02,
8749 { &hf_x411_G3FacsimileNonBasicParameters_b4_width,
8750 { "b4-width", "x411.b4-width",
8751 FT_BOOLEAN, 8, NULL, 0x01,
8753 { &hf_x411_G3FacsimileNonBasicParameters_t6_coding,
8754 { "t6-coding", "x411.t6-coding",
8755 FT_BOOLEAN, 8, NULL, 0x40,
8757 { &hf_x411_G3FacsimileNonBasicParameters_uncompressed,
8758 { "uncompressed", "x411.uncompressed",
8759 FT_BOOLEAN, 8, NULL, 0x02,
8761 { &hf_x411_G3FacsimileNonBasicParameters_width_middle_864_of_1728,
8762 { "width-middle-864-of-1728", "x411.width-middle-864-of-1728",
8763 FT_BOOLEAN, 8, NULL, 0x04,
8765 { &hf_x411_G3FacsimileNonBasicParameters_width_middle_1216_of_1728,
8766 { "width-middle-1216-of-1728", "x411.width-middle-1216-of-1728",
8767 FT_BOOLEAN, 8, NULL, 0x02,
8769 { &hf_x411_G3FacsimileNonBasicParameters_resolution_type,
8770 { "resolution-type", "x411.resolution-type",
8771 FT_BOOLEAN, 8, NULL, 0x08,
8773 { &hf_x411_G3FacsimileNonBasicParameters_resolution_400x400,
8774 { "resolution-400x400", "x411.resolution-400x400",
8775 FT_BOOLEAN, 8, NULL, 0x04,
8777 { &hf_x411_G3FacsimileNonBasicParameters_resolution_300x300,
8778 { "resolution-300x300", "x411.resolution-300x300",
8779 FT_BOOLEAN, 8, NULL, 0x02,
8781 { &hf_x411_G3FacsimileNonBasicParameters_resolution_8x15,
8782 { "resolution-8x15", "x411.resolution-8x15",
8783 FT_BOOLEAN, 8, NULL, 0x01,
8785 { &hf_x411_G3FacsimileNonBasicParameters_edi,
8786 { "edi", "x411.edi",
8787 FT_BOOLEAN, 8, NULL, 0x40,
8789 { &hf_x411_G3FacsimileNonBasicParameters_dtm,
8790 { "dtm", "x411.dtm",
8791 FT_BOOLEAN, 8, NULL, 0x20,
8793 { &hf_x411_G3FacsimileNonBasicParameters_bft,
8794 { "bft", "x411.bft",
8795 FT_BOOLEAN, 8, NULL, 0x10,
8797 { &hf_x411_G3FacsimileNonBasicParameters_mixed_mode,
8798 { "mixed-mode", "x411.mixed-mode",
8799 FT_BOOLEAN, 8, NULL, 0x20,
8801 { &hf_x411_G3FacsimileNonBasicParameters_character_mode,
8802 { "character-mode", "x411.character-mode",
8803 FT_BOOLEAN, 8, NULL, 0x08,
8805 { &hf_x411_G3FacsimileNonBasicParameters_twelve_bits,
8806 { "twelve-bits", "x411.twelve-bits",
8807 FT_BOOLEAN, 8, NULL, 0x40,
8809 { &hf_x411_G3FacsimileNonBasicParameters_preferred_huffmann,
8810 { "preferred-huffmann", "x411.preferred-huffmann",
8811 FT_BOOLEAN, 8, NULL, 0x20,
8813 { &hf_x411_G3FacsimileNonBasicParameters_full_colour,
8814 { "full-colour", "x411.full-colour",
8815 FT_BOOLEAN, 8, NULL, 0x10,
8817 { &hf_x411_G3FacsimileNonBasicParameters_jpeg,
8818 { "jpeg", "x411.jpeg",
8819 FT_BOOLEAN, 8, NULL, 0x08,
8821 { &hf_x411_G3FacsimileNonBasicParameters_processable_mode_26,
8822 { "processable-mode-26", "x411.processable-mode-26",
8823 FT_BOOLEAN, 8, NULL, 0x01,
8826 /*--- End of included file: packet-x411-hfarr.c ---*/
8827 #line 207 "packet-x411-template.c"
8830 /* List of subtrees */
8831 static gint *ett[] = {
8834 /*--- Included file: packet-x411-ettarr.c ---*/
8835 #line 1 "packet-x411-ettarr.c"
8836 &ett_x411_MTABindArgument,
8837 &ett_x411_AuthenticatedArgument,
8838 &ett_x411_MTABindResult,
8839 &ett_x411_AuthenticatedResult,
8843 &ett_x411_MessageTransferEnvelope,
8844 &ett_x411_SEQUENCE_OF_PerDomainBilateralInformation,
8845 &ett_x411_SET_OF_ExtensionField,
8846 &ett_x411_SEQUENCE_OF_PerRecipientMessageTransferFields,
8847 &ett_x411_PerRecipientMessageTransferFields,
8848 &ett_x411_ProbeTransferEnvelope,
8849 &ett_x411_SEQUENCE_OF_PerRecipientProbeTransferFields,
8850 &ett_x411_PerRecipientProbeTransferFields,
8851 &ett_x411_ReportTransferEnvelope,
8852 &ett_x411_ReportTransferContent,
8853 &ett_x411_SEQUENCE_OF_PerRecipientReportTransferFields,
8854 &ett_x411_PerRecipientReportTransferFields,
8855 &ett_x411_PerDomainBilateralInformation,
8857 &ett_x411_T_private_domain,
8858 &ett_x411_PerRecipientIndicators,
8859 &ett_x411_LastTraceInformation,
8860 &ett_x411_InternalTraceInformation,
8861 &ett_x411_InternalTraceInformationElement,
8862 &ett_x411_MTASuppliedInformation,
8863 &ett_x411_T_attempted,
8864 &ett_x411_TraceInformation,
8865 &ett_x411_TraceInformationElement,
8866 &ett_x411_DomainSuppliedInformation,
8867 &ett_x411_OtherActions,
8868 &ett_x411_MTSBindArgument,
8869 &ett_x411_MTSBindResult,
8870 &ett_x411_ObjectName,
8871 &ett_x411_MessagesWaiting,
8872 &ett_x411_DeliveryQueue,
8873 &ett_x411_Credentials,
8875 &ett_x411_ProtectedPassword,
8876 &ett_x411_Signature,
8877 &ett_x411_SecurityContext,
8878 &ett_x411_MessageSubmissionArgument,
8879 &ett_x411_MessageSubmissionResult,
8880 &ett_x411_ProbeSubmissionResult,
8881 &ett_x411_ImproperlySpecifiedRecipients,
8883 &ett_x411_SET_OF_ContentType,
8884 &ett_x411_Operations,
8885 &ett_x411_WaitingMessages,
8886 &ett_x411_MessageDeliveryArgument,
8887 &ett_x411_MessageDeliveryResult,
8888 &ett_x411_ReportDeliveryArgument,
8889 &ett_x411_SEQUENCE_OF_PerRecipientReportDeliveryFields,
8890 &ett_x411_ReportDeliveryResult,
8891 &ett_x411_DeliveryControlArgument,
8892 &ett_x411_DeliveryControlResult,
8893 &ett_x411_RefusedOperation,
8894 &ett_x411_T_refused_argument,
8896 &ett_x411_RegisterArgument,
8897 &ett_x411_SET_OF_DeliverableClass,
8898 &ett_x411_RegisterResult,
8899 &ett_x411_T_non_empty_result,
8900 &ett_x411_ChangeCredentialsArgument,
8901 &ett_x411_UserAddress,
8903 &ett_x411_Redirections,
8904 &ett_x411_RecipientRedirection,
8905 &ett_x411_SET_OF_RedirectionClass,
8906 &ett_x411_MessageClass,
8907 &ett_x411_SET_OF_Priority,
8908 &ett_x411_SEQUENCE_OF_Restriction,
8909 &ett_x411_EncodedInformationTypesConstraints,
8910 &ett_x411_RestrictedDelivery,
8911 &ett_x411_Restriction,
8912 &ett_x411_T_source_type,
8913 &ett_x411_ExactOrPattern,
8914 &ett_x411_RegistrationTypes,
8915 &ett_x411_T_standard_parameters,
8916 &ett_x411_T_extensions,
8917 &ett_x411_MessageSubmissionEnvelope,
8918 &ett_x411_SEQUENCE_OF_PerRecipientMessageSubmissionFields,
8919 &ett_x411_PerRecipientMessageSubmissionFields,
8920 &ett_x411_ProbeSubmissionEnvelope,
8921 &ett_x411_SEQUENCE_OF_PerRecipientProbeSubmissionFields,
8922 &ett_x411_PerRecipientProbeSubmissionFields,
8923 &ett_x411_MessageDeliveryEnvelope,
8924 &ett_x411_OtherMessageDeliveryFields,
8925 &ett_x411_ReportDeliveryEnvelope,
8926 &ett_x411_PerRecipientReportDeliveryFields,
8927 &ett_x411_ReportType,
8928 &ett_x411_DeliveryReport,
8929 &ett_x411_NonDeliveryReport,
8930 &ett_x411_ContentTypes,
8931 &ett_x411_ContentType,
8932 &ett_x411_DeliveredContentType,
8933 &ett_x411_PerMessageIndicators,
8934 &ett_x411_OriginatorReportRequest,
8935 &ett_x411_DeliveryFlags,
8936 &ett_x411_OtherRecipientNames,
8937 &ett_x411_ExtensionType,
8938 &ett_x411_Criticality,
8939 &ett_x411_ExtensionField,
8940 &ett_x411_RequestedDeliveryMethod,
8941 &ett_x411_PhysicalDeliveryModes,
8942 &ett_x411_ContentCorrelator,
8943 &ett_x411_RedirectionHistory,
8944 &ett_x411_Redirection,
8945 &ett_x411_IntendedRecipientName,
8946 &ett_x411_DLExpansionHistory,
8947 &ett_x411_DLExpansion,
8948 &ett_x411_OriginatorAndDLExpansionHistory,
8949 &ett_x411_OriginatorAndDLExpansion,
8950 &ett_x411_PerRecipientReportFields,
8951 &ett_x411_T_report_type,
8952 &ett_x411_PerRecipientDeliveryReportFields,
8953 &ett_x411_PerRecipientNonDeliveryReportFields,
8954 &ett_x411_ReportingMTAName,
8955 &ett_x411_ExtendedCertificates,
8956 &ett_x411_ExtendedCertificate,
8957 &ett_x411_DLExemptedRecipients,
8958 &ett_x411_CertificateSelectors,
8959 &ett_x411_MTSIdentifier,
8960 &ett_x411_GlobalDomainIdentifier,
8961 &ett_x411_PrivateDomainIdentifier,
8963 &ett_x411_ORAddress,
8964 &ett_x411_BuiltInStandardAttributes,
8965 &ett_x411_CountryName,
8966 &ett_x411_AdministrationDomainName,
8967 &ett_x411_PrivateDomainName,
8968 &ett_x411_PersonalName,
8969 &ett_x411_OrganizationalUnitNames,
8970 &ett_x411_BuiltInDomainDefinedAttributes,
8971 &ett_x411_BuiltInDomainDefinedAttribute,
8972 &ett_x411_ExtensionAttributes,
8973 &ett_x411_ExtensionAttribute,
8974 &ett_x411_TeletexPersonalName,
8975 &ett_x411_UniversalPersonalName,
8976 &ett_x411_TeletexOrganizationalUnitNames,
8977 &ett_x411_UniversalOrganizationalUnitNames,
8978 &ett_x411_UniversalOrBMPString,
8979 &ett_x411_T_character_encoding,
8980 &ett_x411_PhysicalDeliveryCountryName,
8981 &ett_x411_PostalCode,
8982 &ett_x411_UnformattedPostalAddress,
8983 &ett_x411_T_printable_address,
8984 &ett_x411_PDSParameter,
8985 &ett_x411_ExtendedNetworkAddress,
8986 &ett_x411_T_e163_4_address,
8987 &ett_x411_TeletexDomainDefinedAttributes,
8988 &ett_x411_TeletexDomainDefinedAttribute,
8989 &ett_x411_UniversalDomainDefinedAttributes,
8990 &ett_x411_UniversalDomainDefinedAttribute,
8991 &ett_x411_EncodedInformationTypes,
8992 &ett_x411_BuiltInEncodedInformationTypes,
8993 &ett_x411_ExtendedEncodedInformationTypes,
8994 &ett_x411_NonBasicParameters,
8995 &ett_x411_G3FacsimileNonBasicParameters,
8996 &ett_x411_TeletexNonBasicParameters,
8997 &ett_x411_SecurityLabel,
8998 &ett_x411_SecurityCategories,
8999 &ett_x411_SecurityCategory,
9001 /*--- End of included file: packet-x411-ettarr.c ---*/
9002 #line 213 "packet-x411-template.c"
9005 /* Register protocol */
9006 proto_x411 = proto_register_protocol(PNAME, PSNAME, PFNAME);
9007 register_dissector("x411", dissect_x411, proto_x411);
9008 /* Register fields and subtrees */
9009 proto_register_field_array(proto_x411, hf, array_length(hf));
9010 proto_register_subtree_array(ett, array_length(ett));
9015 /*--- proto_reg_handoff_x411 --- */
9016 void proto_reg_handoff_x411(void) {
9017 dissector_handle_t handle = NULL;
9020 /*--- Included file: packet-x411-dis-tab.c ---*/
9021 #line 1 "packet-x411-dis-tab.c"
9022 register_ber_oid_dissector("x411.extension.1", dissect_RecipientReassignmentProhibited_PDU, proto_x411, "recipient-reassignment-prohibited");
9023 register_ber_oid_dissector("x411.extension.2", dissect_MTSOriginatorRequestedAlternateRecipient_PDU, proto_x411, "originator-requested-alternate-recipient");
9024 register_ber_oid_dissector("x411.extension.3", dissect_DLExpansionProhibited_PDU, proto_x411, "dl-expansion-prohibited");
9025 register_ber_oid_dissector("x411.extension.4", dissect_ConversionWithLossProhibited_PDU, proto_x411, "conversion-with-loss-prohibited");
9026 register_ber_oid_dissector("x411.extension.5", dissect_LatestDeliveryTime_PDU, proto_x411, "latest-delivery-time");
9027 register_ber_oid_dissector("x411.extension.6", dissect_RequestedDeliveryMethod_PDU, proto_x411, "requested-delivery-method");
9028 register_ber_oid_dissector("x411.extension.7", dissect_PhysicalForwardingProhibited_PDU, proto_x411, "physical-forwarding-prohibited");
9029 register_ber_oid_dissector("x411.extension.8", dissect_PhysicalForwardingAddressRequest_PDU, proto_x411, "physical-forwarding-address-request");
9030 register_ber_oid_dissector("x411.extension.9", dissect_PhysicalDeliveryModes_PDU, proto_x411, "physical-delivery-modes");
9031 register_ber_oid_dissector("x411.extension.10", dissect_RegisteredMailType_PDU, proto_x411, "registered-mail-type");
9032 register_ber_oid_dissector("x411.extension.11", dissect_RecipientNumberForAdvice_PDU, proto_x411, "recipient-number-for-advice");
9033 register_ber_oid_dissector("x411.extension.12", dissect_PhysicalRenditionAttributes_PDU, proto_x411, "physical-rendition-attributes");
9034 register_ber_oid_dissector("x411.extension.13", dissect_OriginatorReturnAddress_PDU, proto_x411, "originator-return-address");
9035 register_ber_oid_dissector("x411.extension.14", dissect_PhysicalDeliveryReportRequest_PDU, proto_x411, "physical-delivery-report-request");
9036 register_ber_oid_dissector("x411.extension.15", dissect_OriginatorCertificate_PDU, proto_x411, "originator-certificate");
9037 register_ber_oid_dissector("x411.extension.17", dissect_ContentConfidentialityAlgorithmIdentifier_PDU, proto_x411, "content-confidentiality-algorithm-identifier");
9038 register_ber_oid_dissector("x411.extension.18", dissect_ContentIntegrityCheck_PDU, proto_x411, "content-integrity-check");
9039 register_ber_oid_dissector("x411.extension.19", dissect_MessageOriginAuthenticationCheck_PDU, proto_x411, "message-origin-authentication-check");
9040 register_ber_oid_dissector("x411.extension.20", dissect_MessageSecurityLabel_PDU, proto_x411, "message-security-label");
9041 register_ber_oid_dissector("x411.extension.21", dissect_ProofOfSubmissionRequest_PDU, proto_x411, "proof-of-submission-request");
9042 register_ber_oid_dissector("x411.extension.22", dissect_ProofOfDeliveryRequest_PDU, proto_x411, "proof-of-delivery-request");
9043 register_ber_oid_dissector("x411.extension.23", dissect_ContentCorrelator_PDU, proto_x411, "content-correlator");
9044 register_ber_oid_dissector("x411.extension.24", dissect_ProbeOriginAuthenticationCheck_PDU, proto_x411, "probe-origin-authentication-check");
9045 register_ber_oid_dissector("x411.extension.25", dissect_RedirectionHistory_PDU, proto_x411, "redirection-history");
9046 register_ber_oid_dissector("x411.extension.26", dissect_DLExpansionHistory_PDU, proto_x411, "dl-expansion-history");
9047 register_ber_oid_dissector("x411.extension.27", dissect_PhysicalForwardingAddress_PDU, proto_x411, "physical-forwarding-address");
9048 register_ber_oid_dissector("x411.extension.30", dissect_OriginatorAndDLExpansionHistory_PDU, proto_x411, "originator-and-DL-expansion-history");
9049 register_ber_oid_dissector("x411.extension.31", dissect_ReportingDLName_PDU, proto_x411, "reporting-DL-name");
9050 register_ber_oid_dissector("x411.extension.32", dissect_ReportingMTACertificate_PDU, proto_x411, "reporting-MTA-certificate");
9051 register_ber_oid_dissector("x411.extension.33", dissect_ReportOriginAuthenticationCheck_PDU, proto_x411, "report-origin-authentication-check");
9052 register_ber_oid_dissector("x411.extension.35", dissect_ProofOfSubmission_PDU, proto_x411, "proof-of-submission");
9053 register_ber_oid_dissector("x411.extension.37", dissect_TraceInformation_PDU, proto_x411, "trace-information");
9054 register_ber_oid_dissector("x411.extension.38", dissect_InternalTraceInformation_PDU, proto_x411, "internal-trace-information");
9055 register_ber_oid_dissector("x411.extension.39", dissect_ReportingMTAName_PDU, proto_x411, "reporting-MTA-name");
9056 register_ber_oid_dissector("x411.extension.40", dissect_ExtendedCertificates_PDU, proto_x411, "multiple-originator-certificates");
9057 register_ber_oid_dissector("x411.extension.42", dissect_DLExemptedRecipients_PDU, proto_x411, "dl-exempted-recipients");
9058 register_ber_oid_dissector("x411.extension.45", dissect_CertificateSelectors_PDU, proto_x411, "certificate-selectors");
9059 register_ber_oid_dissector("x411.extension-attribute.1", dissect_CommonName_PDU, proto_x411, "common-name");
9060 register_ber_oid_dissector("x411.extension-attribute.2", dissect_TeletexCommonName_PDU, proto_x411, "teletex-common-name");
9061 register_ber_oid_dissector("x411.extension-attribute.3", dissect_TeletexOrganizationName_PDU, proto_x411, "teletex-organization-name");
9062 register_ber_oid_dissector("x411.extension-attribute.4", dissect_TeletexPersonalName_PDU, proto_x411, "teletex-personal-name");
9063 register_ber_oid_dissector("x411.extension-attribute.5", dissect_TeletexOrganizationalUnitNames_PDU, proto_x411, "teletex-organizational-unit-names");
9064 register_ber_oid_dissector("x411.extension-attribute.7", dissect_PDSName_PDU, proto_x411, "pds-name");
9065 register_ber_oid_dissector("x411.extension-attribute.8", dissect_PhysicalDeliveryCountryName_PDU, proto_x411, "physical-delivery-country-name");
9066 register_ber_oid_dissector("x411.extension-attribute.9", dissect_PostalCode_PDU, proto_x411, "postal-code");
9067 register_ber_oid_dissector("x411.extension-attribute.10", dissect_PhysicalDeliveryOfficeName_PDU, proto_x411, "physical-delivery-office-name");
9068 register_ber_oid_dissector("x411.extension-attribute.24", dissect_UniversalCommonName_PDU, proto_x411, "universal-common-name");
9069 register_ber_oid_dissector("x411.extension-attribute.25", dissect_UniversalOrganizationName_PDU, proto_x411, "universal-organization-name");
9070 register_ber_oid_dissector("x411.extension-attribute.26", dissect_UniversalPersonalName_PDU, proto_x411, "universal-personal-name");
9071 register_ber_oid_dissector("x411.extension-attribute.27", dissect_UniversalOrganizationalUnitNames_PDU, proto_x411, "universal-organizational-unit-names");
9072 register_ber_oid_dissector("2.6.1.4.14", dissect_ReportDeliveryArgument_PDU, proto_x411, "id-et-report");
9073 register_ber_oid_dissector("2.6.5.2.0", dissect_ContentLength_PDU, proto_x411, "id-at-mhs-maximum-content-length");
9074 register_ber_oid_dissector("2.6.5.2.1", dissect_ExtendedContentType_PDU, proto_x411, "id-at-mhs-deliverable-content-types");
9075 register_ber_oid_dissector("2.6.5.2.2", dissect_ExtendedEncodedInformationType_PDU, proto_x411, "id-at-mhs-exclusively-acceptable-eits");
9076 register_ber_oid_dissector("2.6.5.2.3", dissect_ORName_PDU, proto_x411, "id-at-mhs-dl-members");
9077 register_ber_oid_dissector("2.6.5.2.6", dissect_ORAddress_PDU, proto_x411, "id-at-mhs-or-addresses");
9078 register_ber_oid_dissector("2.6.5.2.9", dissect_ExtendedContentType_PDU, proto_x411, "id-at-mhs-supported-content-types");
9079 register_ber_oid_dissector("2.6.5.2.12", dissect_ORName_PDU, proto_x411, "id-at-mhs-dl-archive-service");
9080 register_ber_oid_dissector("2.6.5.2.15", dissect_ORName_PDU, proto_x411, "id-at-mhs-dl-subscription-service");
9081 register_ber_oid_dissector("2.6.5.2.17", dissect_ExtendedEncodedInformationType_PDU, proto_x411, "id-at-mhs-acceptable-eits");
9082 register_ber_oid_dissector("2.6.5.2.18", dissect_ExtendedEncodedInformationType_PDU, proto_x411, "id-at-mhs-unacceptable-eits");
9083 register_ber_oid_dissector("2.16.840.1.101.2.1.5.47", dissect_ORName_PDU, proto_x411, "id-at-aLExemptedAddressProcessor");
9084 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");
9087 /*--- End of included file: packet-x411-dis-tab.c ---*/
9088 #line 230 "packet-x411-template.c"
9090 /* APPLICATION CONTEXT */
9092 register_ber_oid_name("2.6.0.1.6", "id-ac-mts-transfer");
9094 /* ABSTRACT SYNTAXES */
9096 if((handle = find_dissector("x411")) != NULL) {
9097 register_rtse_oid_dissector_handle("2.6.0.2.12", handle, 0, "id-as-mta-rtse", TRUE);
9098 register_rtse_oid_dissector_handle("2.6.0.2.7", handle, 0, "id-as-mtse", FALSE);
9100 register_rtse_oid_dissector_handle("applicationProtocol.1", handle, 0, "mts-transfer-protocol-1984", FALSE);
9101 register_rtse_oid_dissector_handle("applicationProtocol.12", handle, 0, "mta-transfer-protocol", FALSE);