1 /* Do not modify this file. */
2 /* It is created automatically by the ASN.1 to Wireshark dissector compiler */
4 /* ../../tools/asn2wrs.py -b -e -p x411 -c x411.cnf -s packet-x411-template x411.asn */
6 /* Input file: packet-x411-template.c */
8 #line 1 "packet-x411-template.c"
10 * Routines for X.411 (X.400 Message Transfer) packet dissection
15 * Wireshark - Network traffic analyzer
16 * By Gerald Combs <gerald@wireshark.org>
17 * Copyright 1998 Gerald Combs
19 * This program is free software; you can redistribute it and/or
20 * modify it under the terms of the GNU General Public License
21 * as published by the Free Software Foundation; either version 2
22 * of the License, or (at your option) any later version.
24 * This program is distributed in the hope that it will be useful,
25 * but WITHOUT ANY WARRANTY; without even the implied warranty of
26 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
27 * GNU General Public License for more details.
29 * You should have received a copy of the GNU General Public License
30 * along with this program; if not, write to the Free Software
31 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
39 #include <epan/packet.h>
40 #include <epan/prefs.h>
41 #include <epan/conversation.h>
42 #include <epan/oid_resolv.h>
43 #include <epan/asn1.h>
48 #include "packet-ber.h"
49 #include "packet-acse.h"
50 #include "packet-ros.h"
51 #include "packet-rtse.h"
53 #include "packet-x509af.h"
54 #include "packet-x509ce.h"
55 #include "packet-x509if.h"
56 #include "packet-x509sat.h"
58 #include "packet-x411.h"
59 #include <epan/emem.h>
60 #include <epan/strutil.h>
62 #define PNAME "X.411 Message Transfer Service"
66 static guint global_x411_tcp_port = 102;
67 static guint tcp_port = 0;
68 static dissector_handle_t tpkt_handle = NULL;
69 void prefs_register_x411(void); /* forwad declaration for use in preferences registration */
71 /* Initialize the protocol and registered fields */
74 static struct SESSION_DATA_STRUCTURE* session = NULL;
75 static int extension_id = -1; /* integer extension id */
76 static const char *object_identifier_id; /* extensions identifier */
77 static const char *content_type_id; /* content type identifier */
79 #define MAX_ORA_STR_LEN 256
80 static char *oraddress = NULL;
81 static gboolean doing_address=FALSE;
82 static gboolean doing_subjectid=FALSE;
83 static proto_item *address_item;
85 static proto_tree *top_tree=NULL;
88 call_x411_oid_callback(char *base_oid, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
91 /*--- Included file: packet-x411-hf.c ---*/
92 #line 1 "packet-x411-hf.c"
93 static int hf_x411_MTABindArgument_PDU = -1; /* MTABindArgument */
94 static int hf_x411_MTABindResult_PDU = -1; /* MTABindResult */
95 static int hf_x411_MTABindError_PDU = -1; /* MTABindError */
96 static int hf_x411_MTS_APDU_PDU = -1; /* MTS_APDU */
97 static int hf_x411_InternalTraceInformation_PDU = -1; /* InternalTraceInformation */
98 static int hf_x411_TraceInformation_PDU = -1; /* TraceInformation */
99 static int hf_x411_ReportDeliveryArgument_PDU = -1; /* ReportDeliveryArgument */
100 static int hf_x411_RecipientCertificate_PDU = -1; /* RecipientCertificate */
101 static int hf_x411_ProofOfDelivery_PDU = -1; /* ProofOfDelivery */
102 static int hf_x411_ExtendedContentType_PDU = -1; /* ExtendedContentType */
103 static int hf_x411_ContentLength_PDU = -1; /* ContentLength */
104 static int hf_x411_RecipientReassignmentProhibited_PDU = -1; /* RecipientReassignmentProhibited */
105 static int hf_x411_MTSOriginatorRequestedAlternateRecipient_PDU = -1; /* MTSOriginatorRequestedAlternateRecipient */
106 static int hf_x411_DLExpansionProhibited_PDU = -1; /* DLExpansionProhibited */
107 static int hf_x411_ConversionWithLossProhibited_PDU = -1; /* ConversionWithLossProhibited */
108 static int hf_x411_LatestDeliveryTime_PDU = -1; /* LatestDeliveryTime */
109 static int hf_x411_RequestedDeliveryMethod_PDU = -1; /* RequestedDeliveryMethod */
110 static int hf_x411_PhysicalForwardingProhibited_PDU = -1; /* PhysicalForwardingProhibited */
111 static int hf_x411_PhysicalForwardingAddressRequest_PDU = -1; /* PhysicalForwardingAddressRequest */
112 static int hf_x411_PhysicalDeliveryModes_PDU = -1; /* PhysicalDeliveryModes */
113 static int hf_x411_RegisteredMailType_PDU = -1; /* RegisteredMailType */
114 static int hf_x411_RecipientNumberForAdvice_PDU = -1; /* RecipientNumberForAdvice */
115 static int hf_x411_PhysicalRenditionAttributes_PDU = -1; /* PhysicalRenditionAttributes */
116 static int hf_x411_OriginatorReturnAddress_PDU = -1; /* OriginatorReturnAddress */
117 static int hf_x411_PhysicalDeliveryReportRequest_PDU = -1; /* PhysicalDeliveryReportRequest */
118 static int hf_x411_OriginatorCertificate_PDU = -1; /* OriginatorCertificate */
119 static int hf_x411_MessageToken_PDU = -1; /* MessageToken */
120 static int hf_x411_ContentConfidentialityAlgorithmIdentifier_PDU = -1; /* ContentConfidentialityAlgorithmIdentifier */
121 static int hf_x411_ContentIntegrityCheck_PDU = -1; /* ContentIntegrityCheck */
122 static int hf_x411_MessageOriginAuthenticationCheck_PDU = -1; /* MessageOriginAuthenticationCheck */
123 static int hf_x411_MessageSecurityLabel_PDU = -1; /* MessageSecurityLabel */
124 static int hf_x411_ProofOfSubmissionRequest_PDU = -1; /* ProofOfSubmissionRequest */
125 static int hf_x411_ProofOfDeliveryRequest_PDU = -1; /* ProofOfDeliveryRequest */
126 static int hf_x411_ContentCorrelator_PDU = -1; /* ContentCorrelator */
127 static int hf_x411_ProbeOriginAuthenticationCheck_PDU = -1; /* ProbeOriginAuthenticationCheck */
128 static int hf_x411_RedirectionHistory_PDU = -1; /* RedirectionHistory */
129 static int hf_x411_DLExpansionHistory_PDU = -1; /* DLExpansionHistory */
130 static int hf_x411_PhysicalForwardingAddress_PDU = -1; /* PhysicalForwardingAddress */
131 static int hf_x411_OriginatorAndDLExpansionHistory_PDU = -1; /* OriginatorAndDLExpansionHistory */
132 static int hf_x411_ReportingDLName_PDU = -1; /* ReportingDLName */
133 static int hf_x411_ReportingMTACertificate_PDU = -1; /* ReportingMTACertificate */
134 static int hf_x411_ReportOriginAuthenticationCheck_PDU = -1; /* ReportOriginAuthenticationCheck */
135 static int hf_x411_ProofOfSubmission_PDU = -1; /* ProofOfSubmission */
136 static int hf_x411_ReportingMTAName_PDU = -1; /* ReportingMTAName */
137 static int hf_x411_ExtendedCertificates_PDU = -1; /* ExtendedCertificates */
138 static int hf_x411_DLExemptedRecipients_PDU = -1; /* DLExemptedRecipients */
139 static int hf_x411_CertificateSelectors_PDU = -1; /* CertificateSelectors */
140 static int hf_x411_ORName_PDU = -1; /* ORName */
141 static int hf_x411_ORAddress_PDU = -1; /* ORAddress */
142 static int hf_x411_CommonName_PDU = -1; /* CommonName */
143 static int hf_x411_TeletexCommonName_PDU = -1; /* TeletexCommonName */
144 static int hf_x411_UniversalCommonName_PDU = -1; /* UniversalCommonName */
145 static int hf_x411_TeletexOrganizationName_PDU = -1; /* TeletexOrganizationName */
146 static int hf_x411_UniversalOrganizationName_PDU = -1; /* UniversalOrganizationName */
147 static int hf_x411_TeletexPersonalName_PDU = -1; /* TeletexPersonalName */
148 static int hf_x411_UniversalPersonalName_PDU = -1; /* UniversalPersonalName */
149 static int hf_x411_TeletexOrganizationalUnitNames_PDU = -1; /* TeletexOrganizationalUnitNames */
150 static int hf_x411_UniversalOrganizationalUnitNames_PDU = -1; /* UniversalOrganizationalUnitNames */
151 static int hf_x411_PDSName_PDU = -1; /* PDSName */
152 static int hf_x411_PhysicalDeliveryCountryName_PDU = -1; /* PhysicalDeliveryCountryName */
153 static int hf_x411_PostalCode_PDU = -1; /* PostalCode */
154 static int hf_x411_PhysicalDeliveryOfficeName_PDU = -1; /* PhysicalDeliveryOfficeName */
155 static int hf_x411_ExtendedEncodedInformationType_PDU = -1; /* ExtendedEncodedInformationType */
156 static int hf_x411_MTANameAndOptionalGDI_PDU = -1; /* MTANameAndOptionalGDI */
157 static int hf_x411_AsymmetricToken_PDU = -1; /* AsymmetricToken */
158 static int hf_x411_BindTokenSignedData_PDU = -1; /* BindTokenSignedData */
159 static int hf_x411_MessageTokenSignedData_PDU = -1; /* MessageTokenSignedData */
160 static int hf_x411_MessageTokenEncryptedData_PDU = -1; /* MessageTokenEncryptedData */
161 static int hf_x411_BindTokenEncryptedData_PDU = -1; /* BindTokenEncryptedData */
162 static int hf_x411_unauthenticated = -1; /* NULL */
163 static int hf_x411_authenticated_argument = -1; /* AuthenticatedArgument */
164 static int hf_x411_authenticated_initiator_name = -1; /* MTAName */
165 static int hf_x411_initiator_credentials = -1; /* InitiatorCredentials */
166 static int hf_x411_security_context = -1; /* SecurityContext */
167 static int hf_x411_authenticated_result = -1; /* AuthenticatedResult */
168 static int hf_x411_authenticated_responder_name = -1; /* MTAName */
169 static int hf_x411_responder_credentials = -1; /* ResponderCredentials */
170 static int hf_x411_message = -1; /* Message */
171 static int hf_x411_report = -1; /* Report */
172 static int hf_x411_probe = -1; /* Probe */
173 static int hf_x411_message_envelope = -1; /* MessageTransferEnvelope */
174 static int hf_x411_content = -1; /* Content */
175 static int hf_x411_report_envelope = -1; /* ReportTransferEnvelope */
176 static int hf_x411_report_content = -1; /* ReportTransferContent */
177 static int hf_x411_message_identifier = -1; /* MessageIdentifier */
178 static int hf_x411_mta_originator_name = -1; /* MTAOriginatorName */
179 static int hf_x411_original_encoded_information_types = -1; /* OriginalEncodedInformationTypes */
180 static int hf_x411_content_type = -1; /* ContentType */
181 static int hf_x411_content_identifier = -1; /* ContentIdentifier */
182 static int hf_x411_priority = -1; /* Priority */
183 static int hf_x411_per_message_indicators = -1; /* PerMessageIndicators */
184 static int hf_x411_deferred_delivery_time = -1; /* DeferredDeliveryTime */
185 static int hf_x411_per_domain_bilateral_information = -1; /* SEQUENCE_OF_PerDomainBilateralInformation */
186 static int hf_x411_per_domain_bilateral_information_item = -1; /* PerDomainBilateralInformation */
187 static int hf_x411_trace_information = -1; /* TraceInformation */
188 static int hf_x411_extensions = -1; /* SET_OF_ExtensionField */
189 static int hf_x411_extensions_item = -1; /* ExtensionField */
190 static int hf_x411_per_recipient_message_fields = -1; /* SEQUENCE_OF_PerRecipientMessageTransferFields */
191 static int hf_x411_per_recipient_message_fields_item = -1; /* PerRecipientMessageTransferFields */
192 static int hf_x411_recipient_name = -1; /* MTARecipientName */
193 static int hf_x411_originally_specified_recipient_number = -1; /* OriginallySpecifiedRecipientNumber */
194 static int hf_x411_per_recipient_indicators = -1; /* PerRecipientIndicators */
195 static int hf_x411_explicit_conversion = -1; /* ExplicitConversion */
196 static int hf_x411_probe_identifier = -1; /* ProbeIdentifier */
197 static int hf_x411_content_length = -1; /* ContentLength */
198 static int hf_x411_per_recipient_probe_transfer_fields = -1; /* SEQUENCE_OF_PerRecipientProbeTransferFields */
199 static int hf_x411_per_recipient_probe_transfer_fields_item = -1; /* PerRecipientProbeTransferFields */
200 static int hf_x411_report_identifier = -1; /* ReportIdentifier */
201 static int hf_x411_report_destination_name = -1; /* ReportDestinationName */
202 static int hf_x411_subject_identifier = -1; /* SubjectIdentifier */
203 static int hf_x411_subject_intermediate_trace_information = -1; /* SubjectIntermediateTraceInformation */
204 static int hf_x411_returned_content = -1; /* Content */
205 static int hf_x411_additional_information = -1; /* AdditionalInformation */
206 static int hf_x411_per_recipient_report_fields = -1; /* SEQUENCE_OF_PerRecipientReportTransferFields */
207 static int hf_x411_per_recipient_report_fields_item = -1; /* PerRecipientReportTransferFields */
208 static int hf_x411_mta_actual_recipient_name = -1; /* MTAActualRecipientName */
209 static int hf_x411_last_trace_information = -1; /* LastTraceInformation */
210 static int hf_x411_report_originally_intended_recipient_name = -1; /* MTAOriginallyIntendedRecipientName */
211 static int hf_x411_supplementary_information = -1; /* SupplementaryInformation */
212 static int hf_x411_country_name = -1; /* CountryName */
213 static int hf_x411_bilateral_domain = -1; /* T_bilateral_domain */
214 static int hf_x411_administration_domain_name = -1; /* AdministrationDomainName */
215 static int hf_x411_private_domain = -1; /* T_private_domain */
216 static int hf_x411_private_domain_identifier = -1; /* PrivateDomainIdentifier */
217 static int hf_x411_bilateral_information = -1; /* T_bilateral_information */
218 static int hf_x411_arrival_time = -1; /* ArrivalTime */
219 static int hf_x411_converted_encoded_information_types = -1; /* ConvertedEncodedInformationTypes */
220 static int hf_x411_trace_report_type = -1; /* ReportType */
221 static int hf_x411_InternalTraceInformation_item = -1; /* InternalTraceInformationElement */
222 static int hf_x411_global_domain_identifier = -1; /* GlobalDomainIdentifier */
223 static int hf_x411_mta_name = -1; /* MTAName */
224 static int hf_x411_mta_supplied_information = -1; /* MTASuppliedInformation */
225 static int hf_x411_routing_action = -1; /* RoutingAction */
226 static int hf_x411_attempted = -1; /* T_attempted */
227 static int hf_x411_mta = -1; /* MTAName */
228 static int hf_x411_domain = -1; /* GlobalDomainIdentifier */
229 static int hf_x411_deferred_time = -1; /* DeferredTime */
230 static int hf_x411_other_actions = -1; /* OtherActions */
231 static int hf_x411_TraceInformation_item = -1; /* TraceInformationElement */
232 static int hf_x411_domain_supplied_information = -1; /* DomainSuppliedInformation */
233 static int hf_x411_attempted_domain = -1; /* GlobalDomainIdentifier */
234 static int hf_x411_initiator_name = -1; /* ObjectName */
235 static int hf_x411_messages_waiting = -1; /* MessagesWaiting */
236 static int hf_x411_responder_name = -1; /* ObjectName */
237 static int hf_x411_user_agent = -1; /* ORAddressAndOptionalDirectoryName */
238 static int hf_x411_mTA = -1; /* MTAName */
239 static int hf_x411_message_store = -1; /* ORAddressAndOptionalDirectoryName */
240 static int hf_x411_urgent = -1; /* DeliveryQueue */
241 static int hf_x411_normal = -1; /* DeliveryQueue */
242 static int hf_x411_non_urgent = -1; /* DeliveryQueue */
243 static int hf_x411_messages = -1; /* INTEGER */
244 static int hf_x411_delivery_queue_octets = -1; /* INTEGER */
245 static int hf_x411_simple = -1; /* Password */
246 static int hf_x411_strong = -1; /* StrongCredentials */
247 static int hf_x411_protected = -1; /* ProtectedPassword */
248 static int hf_x411_ia5_string = -1; /* IA5String */
249 static int hf_x411_octet_string = -1; /* OCTET_STRING */
250 static int hf_x411_bind_token = -1; /* Token */
251 static int hf_x411_certificate = -1; /* Certificates */
252 static int hf_x411_certificate_selector = -1; /* CertificateAssertion */
253 static int hf_x411_signature = -1; /* Signature */
254 static int hf_x411_time1 = -1; /* UTCTime */
255 static int hf_x411_time2 = -1; /* UTCTime */
256 static int hf_x411_random1 = -1; /* BIT_STRING */
257 static int hf_x411_random2 = -1; /* BIT_STRING */
258 static int hf_x411_algorithmIdentifier = -1; /* AlgorithmIdentifier */
259 static int hf_x411_encrypted = -1; /* BIT_STRING */
260 static int hf_x411_SecurityContext_item = -1; /* SecurityLabel */
261 static int hf_x411_message_submission_envelope = -1; /* MessageSubmissionEnvelope */
262 static int hf_x411_message_submission_identifier = -1; /* MessageSubmissionIdentifier */
263 static int hf_x411_message_submission_time = -1; /* MessageSubmissionTime */
264 static int hf_x411_probe_submission_identifier = -1; /* ProbeSubmissionIdentifier */
265 static int hf_x411_probe_submission_time = -1; /* ProbeSubmissionTime */
266 static int hf_x411_ImproperlySpecifiedRecipients_item = -1; /* MTSRecipientName */
267 static int hf_x411_waiting_operations = -1; /* Operations */
268 static int hf_x411_waiting_messages = -1; /* WaitingMessages */
269 static int hf_x411_waiting_content_types = -1; /* SET_OF_ContentType */
270 static int hf_x411_waiting_content_types_item = -1; /* ContentType */
271 static int hf_x411_waiting_encoded_information_types = -1; /* EncodedInformationTypes */
272 static int hf_x411_message_delivery_identifier = -1; /* MessageDeliveryIdentifier */
273 static int hf_x411_message_delivery_time = -1; /* MessageDeliveryTime */
274 static int hf_x411_other_fields = -1; /* OtherMessageDeliveryFields */
275 static int hf_x411_recipient_certificate = -1; /* RecipientCertificate */
276 static int hf_x411_proof_of_delivery = -1; /* ProofOfDelivery */
277 static int hf_x411_subject_submission_identifier = -1; /* SubjectSubmissionIdentifier */
278 static int hf_x411_per_recipient_report_delivery_fields = -1; /* SEQUENCE_OF_PerRecipientReportDeliveryFields */
279 static int hf_x411_per_recipient_report_delivery_fields_item = -1; /* PerRecipientReportDeliveryFields */
280 static int hf_x411_empty_result = -1; /* NULL */
281 static int hf_x411_restrict = -1; /* BOOLEAN */
282 static int hf_x411_permissible_operations = -1; /* Operations */
283 static int hf_x411_permissible_maximum_content_length = -1; /* ContentLength */
284 static int hf_x411_permissible_lowest_priority = -1; /* Priority */
285 static int hf_x411_permissible_content_types = -1; /* ContentTypes */
286 static int hf_x411_permissible_encoded_information_types = -1; /* PermissibleEncodedInformationTypes */
287 static int hf_x411_permissible_security_context = -1; /* SecurityContext */
288 static int hf_x411_refused_argument = -1; /* T_refused_argument */
289 static int hf_x411_built_in_argument = -1; /* RefusedArgument */
290 static int hf_x411_refused_extension = -1; /* T_refused_extension */
291 static int hf_x411_refusal_reason = -1; /* RefusalReason */
292 static int hf_x411_user_name = -1; /* UserName */
293 static int hf_x411_user_address = -1; /* UserAddress */
294 static int hf_x411_deliverable_class = -1; /* SET_OF_DeliverableClass */
295 static int hf_x411_deliverable_class_item = -1; /* DeliverableClass */
296 static int hf_x411_default_delivery_controls = -1; /* DefaultDeliveryControls */
297 static int hf_x411_redirections = -1; /* Redirections */
298 static int hf_x411_restricted_delivery = -1; /* RestrictedDelivery */
299 static int hf_x411_retrieve_registrations = -1; /* RegistrationTypes */
300 static int hf_x411_non_empty_result = -1; /* T_non_empty_result */
301 static int hf_x411_registered_information = -1; /* RegisterArgument */
302 static int hf_x411_old_credentials = -1; /* Credentials */
303 static int hf_x411_new_credentials = -1; /* Credentials */
304 static int hf_x411_x121 = -1; /* T_x121 */
305 static int hf_x411_x121_address = -1; /* AddrNumericString */
306 static int hf_x411_tsap_id = -1; /* PrintableString */
307 static int hf_x411_presentation = -1; /* PSAPAddress */
308 static int hf_x411_Redirections_item = -1; /* RecipientRedirection */
309 static int hf_x411_redirection_classes = -1; /* SET_OF_RedirectionClass */
310 static int hf_x411_redirection_classes_item = -1; /* RedirectionClass */
311 static int hf_x411_recipient_assigned_alternate_recipient = -1; /* RecipientAssignedAlternateRecipient */
312 static int hf_x411_content_types = -1; /* ContentTypes */
313 static int hf_x411_maximum_content_length = -1; /* ContentLength */
314 static int hf_x411_encoded_information_types_constraints = -1; /* EncodedInformationTypesConstraints */
315 static int hf_x411_security_labels = -1; /* SecurityContext */
316 static int hf_x411_class_priority = -1; /* SET_OF_Priority */
317 static int hf_x411_class_priority_item = -1; /* Priority */
318 static int hf_x411_objects = -1; /* T_objects */
319 static int hf_x411_applies_only_to = -1; /* SEQUENCE_OF_Restriction */
320 static int hf_x411_applies_only_to_item = -1; /* Restriction */
321 static int hf_x411_unacceptable_eits = -1; /* ExtendedEncodedInformationTypes */
322 static int hf_x411_acceptable_eits = -1; /* ExtendedEncodedInformationTypes */
323 static int hf_x411_exclusively_acceptable_eits = -1; /* ExtendedEncodedInformationTypes */
324 static int hf_x411_RestrictedDelivery_item = -1; /* Restriction */
325 static int hf_x411_permitted = -1; /* BOOLEAN */
326 static int hf_x411_source_type = -1; /* T_source_type */
327 static int hf_x411_source_name = -1; /* ExactOrPattern */
328 static int hf_x411_exact_match = -1; /* ORName */
329 static int hf_x411_pattern_match = -1; /* ORName */
330 static int hf_x411_standard_parameters = -1; /* T_standard_parameters */
331 static int hf_x411_type_extensions = -1; /* T_type_extensions */
332 static int hf_x411_type_extensions_item = -1; /* T_type_extensions_item */
333 static int hf_x411_mts_originator_name = -1; /* MTSOriginatorName */
334 static int hf_x411_per_recipient_message_submission_fields = -1; /* SEQUENCE_OF_PerRecipientMessageSubmissionFields */
335 static int hf_x411_per_recipient_message_submission_fields_item = -1; /* PerRecipientMessageSubmissionFields */
336 static int hf_x411_submission_recipient_name = -1; /* MTSRecipientName */
337 static int hf_x411_originator_report_request = -1; /* OriginatorReportRequest */
338 static int hf_x411_per_recipient_probe_submission_fields = -1; /* SEQUENCE_OF_PerRecipientProbeSubmissionFields */
339 static int hf_x411_per_recipient_probe_submission_fields_item = -1; /* PerRecipientProbeSubmissionFields */
340 static int hf_x411_probe_recipient_name = -1; /* MTSRecipientName */
341 static int hf_x411_delivered_content_type = -1; /* DeliveredContentType */
342 static int hf_x411_originator_name = -1; /* DeliveredOriginatorName */
343 static int hf_x411_delivery_flags = -1; /* DeliveryFlags */
344 static int hf_x411_other_recipient_names = -1; /* OtherRecipientNames */
345 static int hf_x411_this_recipient_name = -1; /* ThisRecipientName */
346 static int hf_x411_originally_intended_recipient_name = -1; /* MTSOriginallyIntendedRecipientName */
347 static int hf_x411_actual_recipient_name = -1; /* MTSActualRecipientName */
348 static int hf_x411_delivery_report_type = -1; /* ReportType */
349 static int hf_x411_delivery = -1; /* DeliveryReport */
350 static int hf_x411_non_delivery = -1; /* NonDeliveryReport */
351 static int hf_x411_type_of_MTS_user = -1; /* TypeOfMTSUser */
352 static int hf_x411_non_delivery_reason_code = -1; /* NonDeliveryReasonCode */
353 static int hf_x411_non_delivery_diagnostic_code = -1; /* NonDeliveryDiagnosticCode */
354 static int hf_x411_ContentTypes_item = -1; /* ContentType */
355 static int hf_x411_built_in = -1; /* BuiltInContentType */
356 static int hf_x411_extended = -1; /* ExtendedContentType */
357 static int hf_x411_OtherRecipientNames_item = -1; /* OtherRecipientName */
358 static int hf_x411_standard_extension = -1; /* T_standard_extension */
359 static int hf_x411_private_extension = -1; /* T_private_extension */
360 static int hf_x411_extension_type = -1; /* ExtensionType */
361 static int hf_x411_criticality = -1; /* Criticality */
362 static int hf_x411_extension_value = -1; /* ExtensionValue */
363 static int hf_x411_RequestedDeliveryMethod_item = -1; /* RequestedDeliveryMethod_item */
364 static int hf_x411_ia5text = -1; /* IA5String */
365 static int hf_x411_octets = -1; /* OCTET_STRING */
366 static int hf_x411_RedirectionHistory_item = -1; /* Redirection */
367 static int hf_x411_intended_recipient_name = -1; /* IntendedRecipientName */
368 static int hf_x411_redirection_reason = -1; /* RedirectionReason */
369 static int hf_x411_intended_recipient = -1; /* ORAddressAndOptionalDirectoryName */
370 static int hf_x411_redirection_time = -1; /* Time */
371 static int hf_x411_DLExpansionHistory_item = -1; /* DLExpansion */
372 static int hf_x411_dl = -1; /* ORAddressAndOptionalDirectoryName */
373 static int hf_x411_dl_expansion_time = -1; /* Time */
374 static int hf_x411_OriginatorAndDLExpansionHistory_item = -1; /* OriginatorAndDLExpansion */
375 static int hf_x411_originator_or_dl_name = -1; /* ORAddressAndOptionalDirectoryName */
376 static int hf_x411_origination_or_expansion_time = -1; /* Time */
377 static int hf_x411_report_type = -1; /* T_report_type */
378 static int hf_x411_report_type_delivery = -1; /* PerRecipientDeliveryReportFields */
379 static int hf_x411_non_delivery_report = -1; /* PerRecipientNonDeliveryReportFields */
380 static int hf_x411_mta_directory_name = -1; /* Name */
381 static int hf_x411_ExtendedCertificates_item = -1; /* ExtendedCertificate */
382 static int hf_x411_directory_entry = -1; /* Name */
383 static int hf_x411_DLExemptedRecipients_item = -1; /* ORAddressAndOrDirectoryName */
384 static int hf_x411_encryption_recipient = -1; /* CertificateAssertion */
385 static int hf_x411_encryption_originator = -1; /* CertificateAssertion */
386 static int hf_x411_selectors_content_integrity_check = -1; /* CertificateAssertion */
387 static int hf_x411_token_signature = -1; /* CertificateAssertion */
388 static int hf_x411_message_origin_authentication = -1; /* CertificateAssertion */
389 static int hf_x411_local_identifier = -1; /* LocalIdentifier */
390 static int hf_x411_numeric = -1; /* NumericString */
391 static int hf_x411_printable = -1; /* PrintableString */
392 static int hf_x411_built_in_standard_attributes = -1; /* BuiltInStandardAttributes */
393 static int hf_x411_built_in_domain_defined_attributes = -1; /* BuiltInDomainDefinedAttributes */
394 static int hf_x411_extension_attributes = -1; /* ExtensionAttributes */
395 static int hf_x411_directory_name = -1; /* Name */
396 static int hf_x411_network_address = -1; /* NetworkAddress */
397 static int hf_x411_terminal_identifier = -1; /* TerminalIdentifier */
398 static int hf_x411_private_domain_name = -1; /* PrivateDomainName */
399 static int hf_x411_organization_name = -1; /* OrganizationName */
400 static int hf_x411_numeric_user_identifier = -1; /* NumericUserIdentifier */
401 static int hf_x411_personal_name = -1; /* PersonalName */
402 static int hf_x411_organizational_unit_names = -1; /* OrganizationalUnitNames */
403 static int hf_x411_x121_dcc_code = -1; /* AddrNumericString */
404 static int hf_x411_iso_3166_alpha2_code = -1; /* PrintableString */
405 static int hf_x411_printable_surname = -1; /* T_printable_surname */
406 static int hf_x411_printable_given_name = -1; /* T_printable_given_name */
407 static int hf_x411_printable_initials = -1; /* T_printable_initials */
408 static int hf_x411_printable_generation_qualifier = -1; /* T_printable_generation_qualifier */
409 static int hf_x411_OrganizationalUnitNames_item = -1; /* OrganizationalUnitName */
410 static int hf_x411_BuiltInDomainDefinedAttributes_item = -1; /* BuiltInDomainDefinedAttribute */
411 static int hf_x411_printable_type = -1; /* T_printable_type */
412 static int hf_x411_printable_value = -1; /* T_printable_value */
413 static int hf_x411_ExtensionAttributes_item = -1; /* ExtensionAttribute */
414 static int hf_x411_extension_attribute_type = -1; /* INTEGER */
415 static int hf_x411_extension_attribute_value = -1; /* T_extension_attribute_value */
416 static int hf_x411_teletex_surname = -1; /* AddrTeletexString */
417 static int hf_x411_teletex_given_name = -1; /* AddrTeletexString */
418 static int hf_x411_teletex_initials = -1; /* AddrTeletexString */
419 static int hf_x411_teletex_generation_qualifier = -1; /* AddrTeletexString */
420 static int hf_x411_universal_surname = -1; /* UniversalOrBMPString */
421 static int hf_x411_universal_given_name = -1; /* UniversalOrBMPString */
422 static int hf_x411_universal_initials = -1; /* UniversalOrBMPString */
423 static int hf_x411_universal_generation_qualifier = -1; /* UniversalOrBMPString */
424 static int hf_x411_TeletexOrganizationalUnitNames_item = -1; /* TeletexOrganizationalUnitName */
425 static int hf_x411_UniversalOrganizationalUnitNames_item = -1; /* UniversalOrganizationalUnitName */
426 static int hf_x411_character_encoding = -1; /* T_character_encoding */
427 static int hf_x411_two_octets = -1; /* BMPString */
428 static int hf_x411_four_octets = -1; /* UniversalString */
429 static int hf_x411_iso_639_language_code = -1; /* PrintableString */
430 static int hf_x411_numeric_code = -1; /* AddrNumericString */
431 static int hf_x411_printable_code = -1; /* PrintableString */
432 static int hf_x411_printable_address = -1; /* T_printable_address */
433 static int hf_x411_printable_address_item = -1; /* PrintableString */
434 static int hf_x411_teletex_string = -1; /* TeletexString */
435 static int hf_x411_printable_string = -1; /* PrintableString */
436 static int hf_x411_e163_4_address = -1; /* T_e163_4_address */
437 static int hf_x411_number = -1; /* NumericString */
438 static int hf_x411_sub_address = -1; /* NumericString */
439 static int hf_x411_psap_address = -1; /* PresentationAddress */
440 static int hf_x411_TeletexDomainDefinedAttributes_item = -1; /* TeletexDomainDefinedAttribute */
441 static int hf_x411_type = -1; /* AddrTeletexString */
442 static int hf_x411_teletex_value = -1; /* AddrTeletexString */
443 static int hf_x411_UniversalDomainDefinedAttributes_item = -1; /* UniversalDomainDefinedAttribute */
444 static int hf_x411_universal_type = -1; /* UniversalOrBMPString */
445 static int hf_x411_universal_value = -1; /* UniversalOrBMPString */
446 static int hf_x411_built_in_encoded_information_types = -1; /* BuiltInEncodedInformationTypes */
447 static int hf_x411_g3_facsimile = -1; /* G3FacsimileNonBasicParameters */
448 static int hf_x411_teletex = -1; /* TeletexNonBasicParameters */
449 static int hf_x411_extended_encoded_information_types = -1; /* ExtendedEncodedInformationTypes */
450 static int hf_x411_ExtendedEncodedInformationTypes_item = -1; /* ExtendedEncodedInformationType */
451 static int hf_x411_graphic_character_sets = -1; /* TeletexString */
452 static int hf_x411_control_character_sets = -1; /* TeletexString */
453 static int hf_x411_page_formats = -1; /* OCTET_STRING */
454 static int hf_x411_miscellaneous_terminal_capabilities = -1; /* TeletexString */
455 static int hf_x411_private_use = -1; /* OCTET_STRING */
456 static int hf_x411_token_type_identifier = -1; /* TokenTypeIdentifier */
457 static int hf_x411_token = -1; /* TokenTypeData */
458 static int hf_x411_signature_algorithm_identifier = -1; /* AlgorithmIdentifier */
459 static int hf_x411_name = -1; /* T_name */
460 static int hf_x411_token_recipient_name = -1; /* MTSRecipientName */
461 static int hf_x411_token_mta = -1; /* MTANameAndOptionalGDI */
462 static int hf_x411_time = -1; /* Time */
463 static int hf_x411_signed_data = -1; /* TokenData */
464 static int hf_x411_encryption_algorithm_identifier = -1; /* AlgorithmIdentifier */
465 static int hf_x411_encrypted_data = -1; /* BIT_STRING */
466 static int hf_x411_asymmetric_token_data = -1; /* AsymmetricTokenData */
467 static int hf_x411_algorithm_identifier = -1; /* AlgorithmIdentifier */
468 static int hf_x411_token_data_type = -1; /* INTEGER */
469 static int hf_x411_value = -1; /* T_value */
470 static int hf_x411_content_confidentiality_algorithm_identifier = -1; /* ContentConfidentialityAlgorithmIdentifier */
471 static int hf_x411_content_integrity_check = -1; /* ContentIntegrityCheck */
472 static int hf_x411_message_security_label = -1; /* MessageSecurityLabel */
473 static int hf_x411_proof_of_delivery_request = -1; /* ProofOfDeliveryRequest */
474 static int hf_x411_message_sequence_number = -1; /* INTEGER */
475 static int hf_x411_content_confidentiality_key = -1; /* EncryptionKey */
476 static int hf_x411_content_integrity_key = -1; /* EncryptionKey */
477 static int hf_x411_security_policy_identifier = -1; /* SecurityPolicyIdentifier */
478 static int hf_x411_security_classification = -1; /* SecurityClassification */
479 static int hf_x411_privacy_mark = -1; /* PrivacyMark */
480 static int hf_x411_security_categories = -1; /* SecurityCategories */
481 static int hf_x411_SecurityCategories_item = -1; /* SecurityCategory */
482 static int hf_x411_category_type = -1; /* OBJECT_IDENTIFIER */
483 static int hf_x411_category_value = -1; /* CategoryValue */
485 static int hf_x411_PerRecipientIndicators_responsibility = -1;
486 static int hf_x411_PerRecipientIndicators_originating_MTA_report = -1;
487 static int hf_x411_PerRecipientIndicators_originating_MTA_non_delivery_report = -1;
488 static int hf_x411_PerRecipientIndicators_originator_report = -1;
489 static int hf_x411_PerRecipientIndicators_originator_non_delivery_report = -1;
490 static int hf_x411_PerRecipientIndicators_reserved_5 = -1;
491 static int hf_x411_PerRecipientIndicators_reserved_6 = -1;
492 static int hf_x411_PerRecipientIndicators_reserved_7 = -1;
493 static int hf_x411_OtherActions_redirected = -1;
494 static int hf_x411_OtherActions_dl_operation = -1;
495 static int hf_x411_Operations_probe_submission_or_report_delivery = -1;
496 static int hf_x411_Operations_message_submission_or_message_delivery = -1;
497 static int hf_x411_WaitingMessages_long_content = -1;
498 static int hf_x411_WaitingMessages_low_priority = -1;
499 static int hf_x411_WaitingMessages_other_security_labels = -1;
500 static int hf_x411_T_source_type_originated_by = -1;
501 static int hf_x411_T_source_type_redirected_by = -1;
502 static int hf_x411_T_source_type_dl_expanded_by = -1;
503 static int hf_x411_T_standard_parameters_user_name = -1;
504 static int hf_x411_T_standard_parameters_user_address = -1;
505 static int hf_x411_T_standard_parameters_deliverable_class = -1;
506 static int hf_x411_T_standard_parameters_default_delivery_controls = -1;
507 static int hf_x411_T_standard_parameters_redirections = -1;
508 static int hf_x411_T_standard_parameters_restricted_delivery = -1;
509 static int hf_x411_PerMessageIndicators_disclosure_of_other_recipients = -1;
510 static int hf_x411_PerMessageIndicators_implicit_conversion_prohibited = -1;
511 static int hf_x411_PerMessageIndicators_alternate_recipient_allowed = -1;
512 static int hf_x411_PerMessageIndicators_content_return_request = -1;
513 static int hf_x411_PerMessageIndicators_reserved = -1;
514 static int hf_x411_PerMessageIndicators_bit_5 = -1;
515 static int hf_x411_PerMessageIndicators_bit_6 = -1;
516 static int hf_x411_PerMessageIndicators_service_message = -1;
517 static int hf_x411_OriginatorReportRequest_report = -1;
518 static int hf_x411_OriginatorReportRequest_non_delivery_report = -1;
519 static int hf_x411_DeliveryFlags_implicit_conversion_prohibited = -1;
520 static int hf_x411_Criticality_for_submission = -1;
521 static int hf_x411_Criticality_for_transfer = -1;
522 static int hf_x411_Criticality_for_delivery = -1;
523 static int hf_x411_PhysicalDeliveryModes_ordinary_mail = -1;
524 static int hf_x411_PhysicalDeliveryModes_special_delivery = -1;
525 static int hf_x411_PhysicalDeliveryModes_express_mail = -1;
526 static int hf_x411_PhysicalDeliveryModes_counter_collection = -1;
527 static int hf_x411_PhysicalDeliveryModes_counter_collection_with_telephone_advice = -1;
528 static int hf_x411_PhysicalDeliveryModes_counter_collection_with_telex_advice = -1;
529 static int hf_x411_PhysicalDeliveryModes_counter_collection_with_teletex_advice = -1;
530 static int hf_x411_PhysicalDeliveryModes_bureau_fax_delivery = -1;
531 static int hf_x411_BuiltInEncodedInformationTypes_unknown = -1;
532 static int hf_x411_BuiltInEncodedInformationTypes_ia5_text = -1;
533 static int hf_x411_BuiltInEncodedInformationTypes_g3_facsimile = -1;
534 static int hf_x411_BuiltInEncodedInformationTypes_g4_class_1 = -1;
535 static int hf_x411_BuiltInEncodedInformationTypes_teletex = -1;
536 static int hf_x411_BuiltInEncodedInformationTypes_videotex = -1;
537 static int hf_x411_BuiltInEncodedInformationTypes_voice = -1;
538 static int hf_x411_BuiltInEncodedInformationTypes_sfd = -1;
539 static int hf_x411_BuiltInEncodedInformationTypes_mixed_mode = -1;
540 static int hf_x411_G3FacsimileNonBasicParameters_two_dimensional = -1;
541 static int hf_x411_G3FacsimileNonBasicParameters_fine_resolution = -1;
542 static int hf_x411_G3FacsimileNonBasicParameters_unlimited_length = -1;
543 static int hf_x411_G3FacsimileNonBasicParameters_b4_length = -1;
544 static int hf_x411_G3FacsimileNonBasicParameters_a3_width = -1;
545 static int hf_x411_G3FacsimileNonBasicParameters_b4_width = -1;
546 static int hf_x411_G3FacsimileNonBasicParameters_t6_coding = -1;
547 static int hf_x411_G3FacsimileNonBasicParameters_uncompressed = -1;
548 static int hf_x411_G3FacsimileNonBasicParameters_width_middle_864_of_1728 = -1;
549 static int hf_x411_G3FacsimileNonBasicParameters_width_middle_1216_of_1728 = -1;
550 static int hf_x411_G3FacsimileNonBasicParameters_resolution_type = -1;
551 static int hf_x411_G3FacsimileNonBasicParameters_resolution_400x400 = -1;
552 static int hf_x411_G3FacsimileNonBasicParameters_resolution_300x300 = -1;
553 static int hf_x411_G3FacsimileNonBasicParameters_resolution_8x15 = -1;
554 static int hf_x411_G3FacsimileNonBasicParameters_edi = -1;
555 static int hf_x411_G3FacsimileNonBasicParameters_dtm = -1;
556 static int hf_x411_G3FacsimileNonBasicParameters_bft = -1;
557 static int hf_x411_G3FacsimileNonBasicParameters_mixed_mode = -1;
558 static int hf_x411_G3FacsimileNonBasicParameters_character_mode = -1;
559 static int hf_x411_G3FacsimileNonBasicParameters_twelve_bits = -1;
560 static int hf_x411_G3FacsimileNonBasicParameters_preferred_huffmann = -1;
561 static int hf_x411_G3FacsimileNonBasicParameters_full_colour = -1;
562 static int hf_x411_G3FacsimileNonBasicParameters_jpeg = -1;
563 static int hf_x411_G3FacsimileNonBasicParameters_processable_mode_26 = -1;
565 /*--- End of included file: packet-x411-hf.c ---*/
566 #line 83 "packet-x411-template.c"
568 /* Initialize the subtree pointers */
569 static gint ett_x411 = -1;
570 static gint ett_x411_content_unknown = -1;
571 static gint ett_x411_bilateral_information = -1;
572 static gint ett_x411_additional_information = -1;
574 /*--- Included file: packet-x411-ett.c ---*/
575 #line 1 "packet-x411-ett.c"
576 static gint ett_x411_MTABindArgument = -1;
577 static gint ett_x411_AuthenticatedArgument = -1;
578 static gint ett_x411_MTABindResult = -1;
579 static gint ett_x411_AuthenticatedResult = -1;
580 static gint ett_x411_MTS_APDU = -1;
581 static gint ett_x411_Message = -1;
582 static gint ett_x411_Report = -1;
583 static gint ett_x411_MessageTransferEnvelope = -1;
584 static gint ett_x411_SEQUENCE_OF_PerDomainBilateralInformation = -1;
585 static gint ett_x411_SET_OF_ExtensionField = -1;
586 static gint ett_x411_SEQUENCE_OF_PerRecipientMessageTransferFields = -1;
587 static gint ett_x411_PerRecipientMessageTransferFields = -1;
588 static gint ett_x411_ProbeTransferEnvelope = -1;
589 static gint ett_x411_SEQUENCE_OF_PerRecipientProbeTransferFields = -1;
590 static gint ett_x411_PerRecipientProbeTransferFields = -1;
591 static gint ett_x411_ReportTransferEnvelope = -1;
592 static gint ett_x411_ReportTransferContent = -1;
593 static gint ett_x411_SEQUENCE_OF_PerRecipientReportTransferFields = -1;
594 static gint ett_x411_PerRecipientReportTransferFields = -1;
595 static gint ett_x411_PerDomainBilateralInformation = -1;
596 static gint ett_x411_T_bilateral_domain = -1;
597 static gint ett_x411_T_private_domain = -1;
598 static gint ett_x411_PerRecipientIndicators = -1;
599 static gint ett_x411_LastTraceInformation = -1;
600 static gint ett_x411_InternalTraceInformation = -1;
601 static gint ett_x411_InternalTraceInformationElement = -1;
602 static gint ett_x411_MTASuppliedInformation = -1;
603 static gint ett_x411_T_attempted = -1;
604 static gint ett_x411_TraceInformation = -1;
605 static gint ett_x411_TraceInformationElement = -1;
606 static gint ett_x411_DomainSuppliedInformation = -1;
607 static gint ett_x411_OtherActions = -1;
608 static gint ett_x411_MTSBindArgument = -1;
609 static gint ett_x411_MTSBindResult = -1;
610 static gint ett_x411_ObjectName = -1;
611 static gint ett_x411_MessagesWaiting = -1;
612 static gint ett_x411_DeliveryQueue = -1;
613 static gint ett_x411_Credentials = -1;
614 static gint ett_x411_Password = -1;
615 static gint ett_x411_StrongCredentials = -1;
616 static gint ett_x411_ProtectedPassword = -1;
617 static gint ett_x411_Signature = -1;
618 static gint ett_x411_SecurityContext = -1;
619 static gint ett_x411_MessageSubmissionArgument = -1;
620 static gint ett_x411_MessageSubmissionResult = -1;
621 static gint ett_x411_ProbeSubmissionResult = -1;
622 static gint ett_x411_ImproperlySpecifiedRecipients = -1;
623 static gint ett_x411_Waiting = -1;
624 static gint ett_x411_SET_OF_ContentType = -1;
625 static gint ett_x411_Operations = -1;
626 static gint ett_x411_WaitingMessages = -1;
627 static gint ett_x411_MessageDeliveryArgument = -1;
628 static gint ett_x411_MessageDeliveryResult = -1;
629 static gint ett_x411_ReportDeliveryArgument = -1;
630 static gint ett_x411_SEQUENCE_OF_PerRecipientReportDeliveryFields = -1;
631 static gint ett_x411_ReportDeliveryResult = -1;
632 static gint ett_x411_DeliveryControlArgument = -1;
633 static gint ett_x411_DeliveryControlResult = -1;
634 static gint ett_x411_RefusedOperation = -1;
635 static gint ett_x411_T_refused_argument = -1;
636 static gint ett_x411_Controls = -1;
637 static gint ett_x411_RegisterArgument = -1;
638 static gint ett_x411_SET_OF_DeliverableClass = -1;
639 static gint ett_x411_RegisterResult = -1;
640 static gint ett_x411_T_non_empty_result = -1;
641 static gint ett_x411_ChangeCredentialsArgument = -1;
642 static gint ett_x411_UserAddress = -1;
643 static gint ett_x411_T_x121 = -1;
644 static gint ett_x411_Redirections = -1;
645 static gint ett_x411_RecipientRedirection = -1;
646 static gint ett_x411_SET_OF_RedirectionClass = -1;
647 static gint ett_x411_MessageClass = -1;
648 static gint ett_x411_SET_OF_Priority = -1;
649 static gint ett_x411_SEQUENCE_OF_Restriction = -1;
650 static gint ett_x411_EncodedInformationTypesConstraints = -1;
651 static gint ett_x411_RestrictedDelivery = -1;
652 static gint ett_x411_Restriction = -1;
653 static gint ett_x411_T_source_type = -1;
654 static gint ett_x411_ExactOrPattern = -1;
655 static gint ett_x411_RegistrationTypes = -1;
656 static gint ett_x411_T_standard_parameters = -1;
657 static gint ett_x411_T_type_extensions = -1;
658 static gint ett_x411_MessageSubmissionEnvelope = -1;
659 static gint ett_x411_SEQUENCE_OF_PerRecipientMessageSubmissionFields = -1;
660 static gint ett_x411_PerRecipientMessageSubmissionFields = -1;
661 static gint ett_x411_ProbeSubmissionEnvelope = -1;
662 static gint ett_x411_SEQUENCE_OF_PerRecipientProbeSubmissionFields = -1;
663 static gint ett_x411_PerRecipientProbeSubmissionFields = -1;
664 static gint ett_x411_MessageDeliveryEnvelope = -1;
665 static gint ett_x411_OtherMessageDeliveryFields = -1;
666 static gint ett_x411_ReportDeliveryEnvelope = -1;
667 static gint ett_x411_PerRecipientReportDeliveryFields = -1;
668 static gint ett_x411_ReportType = -1;
669 static gint ett_x411_DeliveryReport = -1;
670 static gint ett_x411_NonDeliveryReport = -1;
671 static gint ett_x411_ContentTypes = -1;
672 static gint ett_x411_ContentType = -1;
673 static gint ett_x411_DeliveredContentType = -1;
674 static gint ett_x411_PerMessageIndicators = -1;
675 static gint ett_x411_OriginatorReportRequest = -1;
676 static gint ett_x411_DeliveryFlags = -1;
677 static gint ett_x411_OtherRecipientNames = -1;
678 static gint ett_x411_ExtensionType = -1;
679 static gint ett_x411_Criticality = -1;
680 static gint ett_x411_ExtensionField = -1;
681 static gint ett_x411_RequestedDeliveryMethod = -1;
682 static gint ett_x411_PhysicalDeliveryModes = -1;
683 static gint ett_x411_ContentCorrelator = -1;
684 static gint ett_x411_RedirectionHistory = -1;
685 static gint ett_x411_Redirection = -1;
686 static gint ett_x411_IntendedRecipientName = -1;
687 static gint ett_x411_DLExpansionHistory = -1;
688 static gint ett_x411_DLExpansion = -1;
689 static gint ett_x411_OriginatorAndDLExpansionHistory = -1;
690 static gint ett_x411_OriginatorAndDLExpansion = -1;
691 static gint ett_x411_PerRecipientReportFields = -1;
692 static gint ett_x411_T_report_type = -1;
693 static gint ett_x411_PerRecipientDeliveryReportFields = -1;
694 static gint ett_x411_PerRecipientNonDeliveryReportFields = -1;
695 static gint ett_x411_ReportingMTAName = -1;
696 static gint ett_x411_ExtendedCertificates = -1;
697 static gint ett_x411_ExtendedCertificate = -1;
698 static gint ett_x411_DLExemptedRecipients = -1;
699 static gint ett_x411_CertificateSelectors = -1;
700 static gint ett_x411_MTSIdentifier = -1;
701 static gint ett_x411_GlobalDomainIdentifier = -1;
702 static gint ett_x411_PrivateDomainIdentifier = -1;
703 static gint ett_x411_ORName = -1;
704 static gint ett_x411_ORAddress = -1;
705 static gint ett_x411_BuiltInStandardAttributes = -1;
706 static gint ett_x411_CountryName = -1;
707 static gint ett_x411_AdministrationDomainName = -1;
708 static gint ett_x411_PrivateDomainName = -1;
709 static gint ett_x411_PersonalName = -1;
710 static gint ett_x411_OrganizationalUnitNames = -1;
711 static gint ett_x411_BuiltInDomainDefinedAttributes = -1;
712 static gint ett_x411_BuiltInDomainDefinedAttribute = -1;
713 static gint ett_x411_ExtensionAttributes = -1;
714 static gint ett_x411_ExtensionAttribute = -1;
715 static gint ett_x411_TeletexPersonalName = -1;
716 static gint ett_x411_UniversalPersonalName = -1;
717 static gint ett_x411_TeletexOrganizationalUnitNames = -1;
718 static gint ett_x411_UniversalOrganizationalUnitNames = -1;
719 static gint ett_x411_UniversalOrBMPString = -1;
720 static gint ett_x411_T_character_encoding = -1;
721 static gint ett_x411_PhysicalDeliveryCountryName = -1;
722 static gint ett_x411_PostalCode = -1;
723 static gint ett_x411_UnformattedPostalAddress = -1;
724 static gint ett_x411_T_printable_address = -1;
725 static gint ett_x411_PDSParameter = -1;
726 static gint ett_x411_ExtendedNetworkAddress = -1;
727 static gint ett_x411_T_e163_4_address = -1;
728 static gint ett_x411_TeletexDomainDefinedAttributes = -1;
729 static gint ett_x411_TeletexDomainDefinedAttribute = -1;
730 static gint ett_x411_UniversalDomainDefinedAttributes = -1;
731 static gint ett_x411_UniversalDomainDefinedAttribute = -1;
732 static gint ett_x411_EncodedInformationTypes = -1;
733 static gint ett_x411_BuiltInEncodedInformationTypes = -1;
734 static gint ett_x411_ExtendedEncodedInformationTypes = -1;
735 static gint ett_x411_NonBasicParameters = -1;
736 static gint ett_x411_G3FacsimileNonBasicParameters = -1;
737 static gint ett_x411_TeletexNonBasicParameters = -1;
738 static gint ett_x411_Token = -1;
739 static gint ett_x411_AsymmetricTokenData = -1;
740 static gint ett_x411_T_name = -1;
741 static gint ett_x411_MTANameAndOptionalGDI = -1;
742 static gint ett_x411_AsymmetricToken = -1;
743 static gint ett_x411_TokenData = -1;
744 static gint ett_x411_MessageTokenSignedData = -1;
745 static gint ett_x411_MessageTokenEncryptedData = -1;
746 static gint ett_x411_SecurityLabel = -1;
747 static gint ett_x411_SecurityCategories = -1;
748 static gint ett_x411_SecurityCategory = -1;
750 /*--- End of included file: packet-x411-ett.c ---*/
751 #line 90 "packet-x411-template.c"
754 /*--- Included file: packet-x411-fn.c ---*/
755 #line 1 "packet-x411-fn.c"
756 /*--- Fields for imported types ---*/
758 static int dissect_certificate_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
759 return dissect_x509af_Certificates(TRUE, tvb, offset, actx, tree, hf_x411_certificate);
761 static int dissect_certificate_selector_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
762 return dissect_x509ce_CertificateAssertion(TRUE, tvb, offset, actx, tree, hf_x411_certificate_selector);
764 static int dissect_algorithmIdentifier(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
765 return dissect_x509af_AlgorithmIdentifier(FALSE, tvb, offset, actx, tree, hf_x411_algorithmIdentifier);
767 static int dissect_mta_directory_name_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
768 return dissect_x509if_Name(TRUE, tvb, offset, actx, tree, hf_x411_mta_directory_name);
770 static int dissect_directory_entry_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
771 return dissect_x509if_Name(TRUE, tvb, offset, actx, tree, hf_x411_directory_entry);
773 static int dissect_encryption_recipient_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
774 return dissect_x509ce_CertificateAssertion(TRUE, tvb, offset, actx, tree, hf_x411_encryption_recipient);
776 static int dissect_encryption_originator_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
777 return dissect_x509ce_CertificateAssertion(TRUE, tvb, offset, actx, tree, hf_x411_encryption_originator);
779 static int dissect_selectors_content_integrity_check_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
780 return dissect_x509ce_CertificateAssertion(TRUE, tvb, offset, actx, tree, hf_x411_selectors_content_integrity_check);
782 static int dissect_token_signature_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
783 return dissect_x509ce_CertificateAssertion(TRUE, tvb, offset, actx, tree, hf_x411_token_signature);
785 static int dissect_message_origin_authentication_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
786 return dissect_x509ce_CertificateAssertion(TRUE, tvb, offset, actx, tree, hf_x411_message_origin_authentication);
788 static int dissect_directory_name_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
789 return dissect_x509if_Name(TRUE, tvb, offset, actx, tree, hf_x411_directory_name);
791 static int dissect_psap_address_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
792 return dissect_x509sat_PresentationAddress(TRUE, tvb, offset, actx, tree, hf_x411_psap_address);
794 static int dissect_signature_algorithm_identifier(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
795 return dissect_x509af_AlgorithmIdentifier(FALSE, tvb, offset, actx, tree, hf_x411_signature_algorithm_identifier);
797 static int dissect_encryption_algorithm_identifier_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
798 return dissect_x509af_AlgorithmIdentifier(TRUE, tvb, offset, actx, tree, hf_x411_encryption_algorithm_identifier);
800 static int dissect_algorithm_identifier(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
801 return dissect_x509af_AlgorithmIdentifier(FALSE, tvb, offset, actx, tree, hf_x411_algorithm_identifier);
807 dissect_x411_NULL(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
808 offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
812 static int dissect_unauthenticated(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
813 return dissect_x411_NULL(FALSE, tvb, offset, actx, tree, hf_x411_unauthenticated);
815 static int dissect_empty_result(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
816 return dissect_x411_NULL(FALSE, tvb, offset, actx, tree, hf_x411_empty_result);
822 dissect_x411_MTAName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
824 tvbuff_t *mtaname = NULL;
826 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_IA5String,
827 actx, tree, tvb, offset, hf_index,
833 proto_item_append_text(address_item, " %s", tvb_format_text(mtaname, 0, tvb_length(mtaname)));
837 if (check_col(actx->pinfo->cinfo, COL_INFO) && mtaname) {
838 col_append_fstr(actx->pinfo->cinfo, COL_INFO, " %s", tvb_format_text(mtaname, 0, tvb_length(mtaname)));
847 static int dissect_authenticated_initiator_name_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
848 return dissect_x411_MTAName(TRUE, tvb, offset, actx, tree, hf_x411_authenticated_initiator_name);
850 static int dissect_authenticated_responder_name_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
851 return dissect_x411_MTAName(TRUE, tvb, offset, actx, tree, hf_x411_authenticated_responder_name);
853 static int dissect_mta_name(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
854 return dissect_x411_MTAName(FALSE, tvb, offset, actx, tree, hf_x411_mta_name);
856 static int dissect_mta(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
857 return dissect_x411_MTAName(FALSE, tvb, offset, actx, tree, hf_x411_mta);
859 static int dissect_mTA_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
860 return dissect_x411_MTAName(TRUE, tvb, offset, actx, tree, hf_x411_mTA);
866 dissect_x411_IA5String(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
867 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_IA5String,
868 actx, tree, tvb, offset, hf_index,
873 static int dissect_ia5_string(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
874 return dissect_x411_IA5String(FALSE, tvb, offset, actx, tree, hf_x411_ia5_string);
876 static int dissect_ia5text(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
877 return dissect_x411_IA5String(FALSE, tvb, offset, actx, tree, hf_x411_ia5text);
883 dissect_x411_OCTET_STRING(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
884 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
889 static int dissect_octet_string(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
890 return dissect_x411_OCTET_STRING(FALSE, tvb, offset, actx, tree, hf_x411_octet_string);
892 static int dissect_octets(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
893 return dissect_x411_OCTET_STRING(FALSE, tvb, offset, actx, tree, hf_x411_octets);
895 static int dissect_page_formats_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
896 return dissect_x411_OCTET_STRING(TRUE, tvb, offset, actx, tree, hf_x411_page_formats);
898 static int dissect_private_use_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
899 return dissect_x411_OCTET_STRING(TRUE, tvb, offset, actx, tree, hf_x411_private_use);
903 static const value_string x411_Password_vals[] = {
905 { 1, "octet-string" },
909 static const ber_old_choice_t Password_choice[] = {
910 { 0, BER_CLASS_UNI, BER_UNI_TAG_IA5String, BER_FLAGS_NOOWNTAG, dissect_ia5_string },
911 { 1, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_octet_string },
916 dissect_x411_Password(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
917 offset = dissect_ber_old_choice(actx, tree, tvb, offset,
918 Password_choice, hf_index, ett_x411_Password,
923 static int dissect_simple(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
924 return dissect_x411_Password(FALSE, tvb, offset, actx, tree, hf_x411_simple);
930 dissect_x411_TokenTypeIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
931 offset = dissect_ber_object_identifier_str(implicit_tag, actx, tree, tvb, offset, hf_index, &object_identifier_id);
935 static int dissect_token_type_identifier_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
936 return dissect_x411_TokenTypeIdentifier(TRUE, tvb, offset, actx, tree, hf_x411_token_type_identifier);
942 dissect_x411_TokenTypeData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
945 if(object_identifier_id)
946 call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree);
952 static int dissect_token_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
953 return dissect_x411_TokenTypeData(TRUE, tvb, offset, actx, tree, hf_x411_token);
957 static const ber_old_sequence_t Token_sequence[] = {
958 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_token_type_identifier_impl },
959 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_token_impl },
964 dissect_x411_Token(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
965 offset = dissect_ber_old_sequence(implicit_tag, actx, tree, tvb, offset,
966 Token_sequence, hf_index, ett_x411_Token);
970 static int dissect_bind_token_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
971 return dissect_x411_Token(TRUE, tvb, offset, actx, tree, hf_x411_bind_token);
975 static const ber_old_sequence_t StrongCredentials_set[] = {
976 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_bind_token_impl },
977 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_certificate_impl },
978 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_certificate_selector_impl },
983 dissect_x411_StrongCredentials(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
984 offset = dissect_ber_old_set(implicit_tag, actx, tree, tvb, offset,
985 StrongCredentials_set, hf_index, ett_x411_StrongCredentials);
989 static int dissect_strong_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
990 return dissect_x411_StrongCredentials(TRUE, tvb, offset, actx, tree, hf_x411_strong);
996 dissect_x411_BIT_STRING(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
997 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
1003 static int dissect_random1_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
1004 return dissect_x411_BIT_STRING(TRUE, tvb, offset, actx, tree, hf_x411_random1);
1006 static int dissect_random2_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
1007 return dissect_x411_BIT_STRING(TRUE, tvb, offset, actx, tree, hf_x411_random2);
1009 static int dissect_encrypted(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
1010 return dissect_x411_BIT_STRING(FALSE, tvb, offset, actx, tree, hf_x411_encrypted);
1012 static int dissect_encrypted_data_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
1013 return dissect_x411_BIT_STRING(TRUE, tvb, offset, actx, tree, hf_x411_encrypted_data);
1017 static const ber_old_sequence_t Signature_sequence[] = {
1018 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_algorithmIdentifier },
1019 { BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_encrypted },
1024 dissect_x411_Signature(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1025 offset = dissect_ber_old_sequence(implicit_tag, actx, tree, tvb, offset,
1026 Signature_sequence, hf_index, ett_x411_Signature);
1030 static int dissect_signature(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
1031 return dissect_x411_Signature(FALSE, tvb, offset, actx, tree, hf_x411_signature);
1037 dissect_x411_UTCTime(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1038 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_UTCTime,
1039 actx, tree, tvb, offset, hf_index,
1044 static int dissect_time1_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
1045 return dissect_x411_UTCTime(TRUE, tvb, offset, actx, tree, hf_x411_time1);
1047 static int dissect_time2_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
1048 return dissect_x411_UTCTime(TRUE, tvb, offset, actx, tree, hf_x411_time2);
1052 static const ber_old_sequence_t ProtectedPassword_set[] = {
1053 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_signature },
1054 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_time1_impl },
1055 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_time2_impl },
1056 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_random1_impl },
1057 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_random2_impl },
1062 dissect_x411_ProtectedPassword(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1063 offset = dissect_ber_old_set(implicit_tag, actx, tree, tvb, offset,
1064 ProtectedPassword_set, hf_index, ett_x411_ProtectedPassword);
1068 static int dissect_protected_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
1069 return dissect_x411_ProtectedPassword(TRUE, tvb, offset, actx, tree, hf_x411_protected);
1073 static const value_string x411_Credentials_vals[] = {
1080 static const ber_old_choice_t Credentials_choice[] = {
1081 { 0, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_simple },
1082 { 1, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_strong_impl },
1083 { 2, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_protected_impl },
1084 { 0, 0, 0, 0, NULL }
1088 dissect_x411_Credentials(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1089 #line 744 "x411.cnf"
1090 guint32 credentials;
1092 offset = dissect_ber_old_choice(actx, tree, tvb, offset,
1093 Credentials_choice, hf_index, ett_x411_Credentials,
1097 if (check_col(actx->pinfo->cinfo, COL_INFO)) {
1098 if(credentials == -1) credentials = 0;
1099 col_append_fstr(actx->pinfo->cinfo, COL_INFO, " %s", val_to_str(credentials, x411_Credentials_vals, "Credentials(%d)"));
1106 static int dissect_old_credentials_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
1107 return dissect_x411_Credentials(TRUE, tvb, offset, actx, tree, hf_x411_old_credentials);
1109 static int dissect_new_credentials_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
1110 return dissect_x411_Credentials(TRUE, tvb, offset, actx, tree, hf_x411_new_credentials);
1116 dissect_x411_InitiatorCredentials(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1117 offset = dissect_x411_Credentials(implicit_tag, tvb, offset, actx, tree, hf_index);
1121 static int dissect_initiator_credentials_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
1122 return dissect_x411_InitiatorCredentials(TRUE, tvb, offset, actx, tree, hf_x411_initiator_credentials);
1128 dissect_x411_SecurityPolicyIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1129 offset = dissect_ber_object_identifier(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
1133 static int dissect_security_policy_identifier(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
1134 return dissect_x411_SecurityPolicyIdentifier(FALSE, tvb, offset, actx, tree, hf_x411_security_policy_identifier);
1138 static const value_string x411_SecurityClassification_vals[] = {
1140 { 1, "unclassified" },
1141 { 2, "restricted" },
1142 { 3, "confidential" },
1144 { 5, "top-secret" },
1150 dissect_x411_SecurityClassification(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1151 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
1156 static int dissect_security_classification(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
1157 return dissect_x411_SecurityClassification(FALSE, tvb, offset, actx, tree, hf_x411_security_classification);
1163 dissect_x411_PrivacyMark(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1164 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
1165 actx, tree, tvb, offset, hf_index,
1170 static int dissect_privacy_mark(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
1171 return dissect_x411_PrivacyMark(FALSE, tvb, offset, actx, tree, hf_x411_privacy_mark);
1177 dissect_x411_OBJECT_IDENTIFIER(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1178 offset = dissect_ber_object_identifier(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
1182 static int dissect_category_type_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
1183 return dissect_x411_OBJECT_IDENTIFIER(TRUE, tvb, offset, actx, tree, hf_x411_category_type);
1189 dissect_x411_CategoryValue(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1190 #line 260 "x411.cnf"
1192 offset = dissect_unknown_ber(actx->pinfo, tvb, offset, tree);
1198 static int dissect_category_value_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
1199 return dissect_x411_CategoryValue(TRUE, tvb, offset, actx, tree, hf_x411_category_value);
1203 static const ber_old_sequence_t SecurityCategory_sequence[] = {
1204 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_category_type_impl },
1205 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_category_value_impl },
1210 dissect_x411_SecurityCategory(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1211 offset = dissect_ber_old_sequence(implicit_tag, actx, tree, tvb, offset,
1212 SecurityCategory_sequence, hf_index, ett_x411_SecurityCategory);
1216 static int dissect_SecurityCategories_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
1217 return dissect_x411_SecurityCategory(FALSE, tvb, offset, actx, tree, hf_x411_SecurityCategories_item);
1221 static const ber_old_sequence_t SecurityCategories_set_of[1] = {
1222 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_SecurityCategories_item },
1226 dissect_x411_SecurityCategories(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1227 offset = dissect_ber_old_set_of(implicit_tag, actx, tree, tvb, offset,
1228 SecurityCategories_set_of, hf_index, ett_x411_SecurityCategories);
1232 static int dissect_security_categories(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
1233 return dissect_x411_SecurityCategories(FALSE, tvb, offset, actx, tree, hf_x411_security_categories);
1237 static const ber_old_sequence_t SecurityLabel_set[] = {
1238 { BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_security_policy_identifier },
1239 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_security_classification },
1240 { BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_privacy_mark },
1241 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_security_categories },
1246 dissect_x411_SecurityLabel(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1247 offset = dissect_ber_old_set(implicit_tag, actx, tree, tvb, offset,
1248 SecurityLabel_set, hf_index, ett_x411_SecurityLabel);
1252 static int dissect_SecurityContext_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
1253 return dissect_x411_SecurityLabel(FALSE, tvb, offset, actx, tree, hf_x411_SecurityContext_item);
1257 static const ber_old_sequence_t SecurityContext_set_of[1] = {
1258 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_SecurityContext_item },
1262 dissect_x411_SecurityContext(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1263 offset = dissect_ber_old_set_of(implicit_tag, actx, tree, tvb, offset,
1264 SecurityContext_set_of, hf_index, ett_x411_SecurityContext);
1268 static int dissect_security_context_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
1269 return dissect_x411_SecurityContext(TRUE, tvb, offset, actx, tree, hf_x411_security_context);
1271 static int dissect_permissible_security_context_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
1272 return dissect_x411_SecurityContext(TRUE, tvb, offset, actx, tree, hf_x411_permissible_security_context);
1274 static int dissect_security_labels_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
1275 return dissect_x411_SecurityContext(TRUE, tvb, offset, actx, tree, hf_x411_security_labels);
1279 static const ber_old_sequence_t AuthenticatedArgument_set[] = {
1280 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_authenticated_initiator_name_impl },
1281 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_initiator_credentials_impl },
1282 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_security_context_impl },
1287 dissect_x411_AuthenticatedArgument(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1288 offset = dissect_ber_old_set(implicit_tag, actx, tree, tvb, offset,
1289 AuthenticatedArgument_set, hf_index, ett_x411_AuthenticatedArgument);
1293 static int dissect_authenticated_argument_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
1294 return dissect_x411_AuthenticatedArgument(TRUE, tvb, offset, actx, tree, hf_x411_authenticated_argument);
1298 static const value_string x411_MTABindArgument_vals[] = {
1299 { 0, "unauthenticated" },
1300 { 1, "authenticated" },
1304 static const ber_old_choice_t MTABindArgument_choice[] = {
1305 { 0, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_unauthenticated },
1306 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_authenticated_argument_impl },
1307 { 0, 0, 0, 0, NULL }
1311 dissect_x411_MTABindArgument(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1312 offset = dissect_ber_old_choice(actx, tree, tvb, offset,
1313 MTABindArgument_choice, hf_index, ett_x411_MTABindArgument,
1322 dissect_x411_ResponderCredentials(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1323 offset = dissect_x411_Credentials(implicit_tag, tvb, offset, actx, tree, hf_index);
1327 static int dissect_responder_credentials_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
1328 return dissect_x411_ResponderCredentials(TRUE, tvb, offset, actx, tree, hf_x411_responder_credentials);
1332 static const ber_old_sequence_t AuthenticatedResult_set[] = {
1333 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_authenticated_responder_name_impl },
1334 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_responder_credentials_impl },
1339 dissect_x411_AuthenticatedResult(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1340 offset = dissect_ber_old_set(implicit_tag, actx, tree, tvb, offset,
1341 AuthenticatedResult_set, hf_index, ett_x411_AuthenticatedResult);
1345 static int dissect_authenticated_result_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
1346 return dissect_x411_AuthenticatedResult(TRUE, tvb, offset, actx, tree, hf_x411_authenticated_result);
1350 static const value_string x411_MTABindResult_vals[] = {
1351 { 0, "unauthenticated" },
1352 { 1, "authenticated" },
1356 static const ber_old_choice_t MTABindResult_choice[] = {
1357 { 0, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_unauthenticated },
1358 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_authenticated_result_impl },
1359 { 0, 0, 0, 0, NULL }
1363 dissect_x411_MTABindResult(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1364 offset = dissect_ber_old_choice(actx, tree, tvb, offset,
1365 MTABindResult_choice, hf_index, ett_x411_MTABindResult,
1372 static const value_string x411_MTABindError_vals[] = {
1374 { 2, "authentication-error" },
1375 { 3, "unacceptable-dialogue-mode" },
1376 { 4, "unacceptable-security-context" },
1377 { 5, "inadequate-association-confidentiality" },
1383 dissect_x411_MTABindError(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1384 #line 727 "x411.cnf"
1386 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
1389 if((error != -1) && check_col(actx->pinfo->cinfo, COL_INFO))
1390 col_append_fstr(actx->pinfo->cinfo, COL_INFO, " (%s)", val_to_str(error, x411_MTABindError_vals, "error(%d)"));
1400 dissect_x411_AddrNumericString(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1401 #line 505 "x411.cnf"
1402 tvbuff_t *nstring = NULL;
1404 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_NumericString,
1405 actx, tree, tvb, offset, hf_index,
1409 if(doing_address && nstring)
1410 g_strlcat(oraddress, tvb_format_text(nstring, 0, tvb_length(nstring)), MAX_ORA_STR_LEN);
1416 static int dissect_x121_address(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
1417 return dissect_x411_AddrNumericString(FALSE, tvb, offset, actx, tree, hf_x411_x121_address);
1419 static int dissect_x121_dcc_code(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
1420 return dissect_x411_AddrNumericString(FALSE, tvb, offset, actx, tree, hf_x411_x121_dcc_code);
1422 static int dissect_numeric_code(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
1423 return dissect_x411_AddrNumericString(FALSE, tvb, offset, actx, tree, hf_x411_numeric_code);
1429 dissect_x411_PrintableString(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1430 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
1431 actx, tree, tvb, offset, hf_index,
1436 static int dissect_tsap_id(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
1437 return dissect_x411_PrintableString(FALSE, tvb, offset, actx, tree, hf_x411_tsap_id);
1439 static int dissect_printable(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
1440 return dissect_x411_PrintableString(FALSE, tvb, offset, actx, tree, hf_x411_printable);
1442 static int dissect_iso_3166_alpha2_code(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
1443 return dissect_x411_PrintableString(FALSE, tvb, offset, actx, tree, hf_x411_iso_3166_alpha2_code);
1445 static int dissect_iso_639_language_code(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
1446 return dissect_x411_PrintableString(FALSE, tvb, offset, actx, tree, hf_x411_iso_639_language_code);
1448 static int dissect_printable_code(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
1449 return dissect_x411_PrintableString(FALSE, tvb, offset, actx, tree, hf_x411_printable_code);
1451 static int dissect_printable_address_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
1452 return dissect_x411_PrintableString(FALSE, tvb, offset, actx, tree, hf_x411_printable_address_item);
1454 static int dissect_printable_string(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
1455 return dissect_x411_PrintableString(FALSE, tvb, offset, actx, tree, hf_x411_printable_string);
1459 static const value_string x411_CountryName_vals[] = {
1460 { 0, "x121-dcc-code" },
1461 { 1, "iso-3166-alpha2-code" },
1465 static const ber_old_choice_t CountryName_choice[] = {
1466 { 0, BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_NOOWNTAG, dissect_x121_dcc_code },
1467 { 1, BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_iso_3166_alpha2_code },
1468 { 0, 0, 0, 0, NULL }
1472 dissect_x411_CountryName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1473 #line 271 "x411.cnf"
1475 gboolean pc, ind_field;
1480 /* XXX asn2wrs can not yet handle tagged assignment yes so this
1481 * XXX is some conformance file magic to work around that bug
1483 offset = get_ber_identifier(tvb, offset, &class, &pc, &tag);
1484 offset = get_ber_length(tree, tvb, offset, &len1, &ind_field);
1488 g_strlcat(oraddress, "/C=", MAX_ORA_STR_LEN);
1490 offset = dissect_ber_old_choice(actx, tree, tvb, offset,
1491 CountryName_choice, hf_index, ett_x411_CountryName, NULL);
1499 static int dissect_country_name(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
1500 return dissect_x411_CountryName(FALSE, tvb, offset, actx, tree, hf_x411_country_name);
1506 dissect_x411_NumericString(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1507 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_NumericString,
1508 actx, tree, tvb, offset, hf_index,
1513 static int dissect_numeric(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
1514 return dissect_x411_NumericString(FALSE, tvb, offset, actx, tree, hf_x411_numeric);
1516 static int dissect_number_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
1517 return dissect_x411_NumericString(TRUE, tvb, offset, actx, tree, hf_x411_number);
1519 static int dissect_sub_address_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
1520 return dissect_x411_NumericString(TRUE, tvb, offset, actx, tree, hf_x411_sub_address);
1524 static const value_string x411_AdministrationDomainName_vals[] = {
1530 static const ber_old_choice_t AdministrationDomainName_choice[] = {
1531 { 0, BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_NOOWNTAG, dissect_numeric },
1532 { 1, BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_printable },
1533 { 0, 0, 0, 0, NULL }
1537 dissect_x411_AdministrationDomainName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1538 #line 293 "x411.cnf"
1540 gboolean pc, ind_field;
1545 /* XXX asn2wrs can not yet handle tagged assignment yes so this
1546 * XXX is some conformance file magic to work around that bug
1548 offset = get_ber_identifier(tvb, offset, &class, &pc, &tag);
1549 offset = get_ber_length(tree, tvb, offset, &len1, &ind_field);
1553 g_strlcat(oraddress, "/A=", MAX_ORA_STR_LEN);
1555 offset = dissect_ber_old_choice(actx, tree, tvb, offset,
1556 AdministrationDomainName_choice, hf_index, ett_x411_AdministrationDomainName, NULL);
1562 static int dissect_administration_domain_name(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
1563 return dissect_x411_AdministrationDomainName(FALSE, tvb, offset, actx, tree, hf_x411_administration_domain_name);
1565 static int dissect_administration_domain_name_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
1566 return dissect_x411_AdministrationDomainName(TRUE, tvb, offset, actx, tree, hf_x411_administration_domain_name);
1570 static const value_string x411_PrivateDomainIdentifier_vals[] = {
1576 static const ber_old_choice_t PrivateDomainIdentifier_choice[] = {
1577 { 0, BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_NOOWNTAG, dissect_numeric },
1578 { 1, BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_printable },
1579 { 0, 0, 0, 0, NULL }
1583 dissect_x411_PrivateDomainIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1584 #line 456 "x411.cnf"
1587 g_strlcat(oraddress, "/P=", MAX_ORA_STR_LEN);
1589 offset = dissect_ber_old_choice(actx, tree, tvb, offset,
1590 PrivateDomainIdentifier_choice, hf_index, ett_x411_PrivateDomainIdentifier,
1598 static int dissect_private_domain_identifier(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
1599 return dissect_x411_PrivateDomainIdentifier(FALSE, tvb, offset, actx, tree, hf_x411_private_domain_identifier);
1601 static int dissect_private_domain_identifier_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
1602 return dissect_x411_PrivateDomainIdentifier(TRUE, tvb, offset, actx, tree, hf_x411_private_domain_identifier);
1606 static const ber_old_sequence_t GlobalDomainIdentifier_sequence[] = {
1607 { BER_CLASS_APP, 1, BER_FLAGS_NOOWNTAG, dissect_country_name },
1608 { BER_CLASS_APP, 2, BER_FLAGS_NOOWNTAG, dissect_administration_domain_name },
1609 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_private_domain_identifier },
1614 dissect_x411_GlobalDomainIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1615 #line 607 "x411.cnf"
1617 oraddress = ep_alloc(MAX_ORA_STR_LEN); oraddress[0] = '\0';
1618 address_item = tree;
1620 offset = dissect_ber_old_sequence(implicit_tag, actx, tree, tvb, offset,
1621 GlobalDomainIdentifier_sequence, hf_index, ett_x411_GlobalDomainIdentifier);
1625 proto_item_append_text(address_item, " (%s/", oraddress);
1627 if(doing_subjectid && check_col(actx->pinfo->cinfo, COL_INFO)) {
1628 col_append_fstr(actx->pinfo->cinfo, COL_INFO, " (%s/", oraddress);
1637 static int dissect_global_domain_identifier(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
1638 return dissect_x411_GlobalDomainIdentifier(FALSE, tvb, offset, actx, tree, hf_x411_global_domain_identifier);
1640 static int dissect_domain(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
1641 return dissect_x411_GlobalDomainIdentifier(FALSE, tvb, offset, actx, tree, hf_x411_domain);
1643 static int dissect_attempted_domain(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
1644 return dissect_x411_GlobalDomainIdentifier(FALSE, tvb, offset, actx, tree, hf_x411_attempted_domain);
1650 dissect_x411_LocalIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1651 #line 626 "x411.cnf"
1652 tvbuff_t *id = NULL;
1654 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_IA5String,
1655 actx, tree, tvb, offset, hf_index,
1661 proto_item_append_text(address_item, " $ %s)", tvb_format_text(id, 0, tvb_length(id)));
1663 if(doing_subjectid && check_col(actx->pinfo->cinfo, COL_INFO))
1664 col_append_fstr(actx->pinfo->cinfo, COL_INFO, " $ %s)", tvb_format_text(id, 0, tvb_length(id)));
1671 static int dissect_local_identifier(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
1672 return dissect_x411_LocalIdentifier(FALSE, tvb, offset, actx, tree, hf_x411_local_identifier);
1676 static const ber_old_sequence_t MTSIdentifier_sequence[] = {
1677 { BER_CLASS_APP, 3, BER_FLAGS_NOOWNTAG, dissect_global_domain_identifier },
1678 { BER_CLASS_UNI, BER_UNI_TAG_IA5String, BER_FLAGS_NOOWNTAG, dissect_local_identifier },
1683 dissect_x411_MTSIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1684 #line 639 "x411.cnf"
1686 doing_address = TRUE;
1688 if(hf_index == hf_x411_subject_identifier)
1689 doing_subjectid = TRUE;
1691 offset = dissect_ber_old_sequence(implicit_tag, actx, tree, tvb, offset,
1692 MTSIdentifier_sequence, hf_index, ett_x411_MTSIdentifier);
1695 doing_address = FALSE;
1697 if(hf_index == hf_x411_subject_identifier)
1698 doing_subjectid = FALSE;
1709 dissect_x411_MessageIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1710 offset = dissect_x411_MTSIdentifier(implicit_tag, tvb, offset, actx, tree, hf_index);
1714 static int dissect_message_identifier(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
1715 return dissect_x411_MessageIdentifier(FALSE, tvb, offset, actx, tree, hf_x411_message_identifier);
1721 dissect_x411_X121Address(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1722 #line 425 "x411.cnf"
1723 tvbuff_t *string = NULL;
1725 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_NumericString,
1726 actx, tree, tvb, offset, hf_index,
1730 if(doing_address && string) {
1731 g_strlcat(oraddress, "/X121=", MAX_ORA_STR_LEN);
1732 g_strlcat(oraddress, tvb_format_text(string, 0, tvb_length(string)), MAX_ORA_STR_LEN);
1744 dissect_x411_NetworkAddress(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1745 offset = dissect_x411_X121Address(implicit_tag, tvb, offset, actx, tree, hf_index);
1749 static int dissect_network_address_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
1750 return dissect_x411_NetworkAddress(TRUE, tvb, offset, actx, tree, hf_x411_network_address);
1756 dissect_x411_TerminalIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1757 #line 439 "x411.cnf"
1758 tvbuff_t *string = NULL;
1760 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
1761 actx, tree, tvb, offset, hf_index,
1765 if(doing_address && string) {
1766 g_strlcat(oraddress, "/UA-ID=", MAX_ORA_STR_LEN);
1767 g_strlcat(oraddress, tvb_format_text(string, 0, tvb_length(string)), MAX_ORA_STR_LEN);
1774 static int dissect_terminal_identifier_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
1775 return dissect_x411_TerminalIdentifier(TRUE, tvb, offset, actx, tree, hf_x411_terminal_identifier);
1779 static const value_string x411_PrivateDomainName_vals[] = {
1785 static const ber_old_choice_t PrivateDomainName_choice[] = {
1786 { 0, BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_NOOWNTAG, dissect_numeric },
1787 { 1, BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_printable },
1788 { 0, 0, 0, 0, NULL }
1792 dissect_x411_PrivateDomainName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1793 #line 449 "x411.cnf"
1796 g_strlcat(oraddress, "/P=", MAX_ORA_STR_LEN);
1798 offset = dissect_ber_old_choice(actx, tree, tvb, offset,
1799 PrivateDomainName_choice, hf_index, ett_x411_PrivateDomainName,
1807 static int dissect_private_domain_name_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
1808 return dissect_x411_PrivateDomainName(TRUE, tvb, offset, actx, tree, hf_x411_private_domain_name);
1814 dissect_x411_OrganizationName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1815 #line 466 "x411.cnf"
1816 tvbuff_t *string = NULL;
1818 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
1819 actx, tree, tvb, offset, hf_index,
1823 if(doing_address && string) {
1824 g_strlcat(oraddress, "/O=", MAX_ORA_STR_LEN);
1825 g_strlcat(oraddress, tvb_format_text(string, 0, tvb_length(string)), MAX_ORA_STR_LEN);
1832 static int dissect_organization_name_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
1833 return dissect_x411_OrganizationName(TRUE, tvb, offset, actx, tree, hf_x411_organization_name);
1839 dissect_x411_NumericUserIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1840 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_NumericString,
1841 actx, tree, tvb, offset, hf_index,
1846 static int dissect_numeric_user_identifier_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
1847 return dissect_x411_NumericUserIdentifier(TRUE, tvb, offset, actx, tree, hf_x411_numeric_user_identifier);
1853 dissect_x411_T_printable_surname(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1854 #line 525 "x411.cnf"
1855 tvbuff_t *pstring = NULL;
1857 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
1858 actx, tree, tvb, offset, hf_index,
1862 if(doing_address && pstring) {
1863 g_strlcat(oraddress, "/S=", MAX_ORA_STR_LEN);
1864 g_strlcat(oraddress, tvb_format_text(pstring, 0, tvb_length(pstring)), MAX_ORA_STR_LEN);
1870 static int dissect_printable_surname_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
1871 return dissect_x411_T_printable_surname(TRUE, tvb, offset, actx, tree, hf_x411_printable_surname);
1877 dissect_x411_T_printable_given_name(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1878 #line 534 "x411.cnf"
1879 tvbuff_t *pstring = NULL;
1881 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
1882 actx, tree, tvb, offset, hf_index,
1886 if(doing_address && pstring) {
1887 g_strlcat(oraddress, "/G=", MAX_ORA_STR_LEN);
1888 g_strlcat(oraddress, tvb_format_text(pstring, 0, tvb_length(pstring)), MAX_ORA_STR_LEN);
1894 static int dissect_printable_given_name_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
1895 return dissect_x411_T_printable_given_name(TRUE, tvb, offset, actx, tree, hf_x411_printable_given_name);
1901 dissect_x411_T_printable_initials(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1902 #line 543 "x411.cnf"
1903 tvbuff_t *pstring = NULL;
1905 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
1906 actx, tree, tvb, offset, hf_index,
1910 if(doing_address && pstring) {
1911 g_strlcat(oraddress, "/I=", MAX_ORA_STR_LEN);
1912 g_strlcat(oraddress, tvb_format_text(pstring, 0, tvb_length(pstring)), MAX_ORA_STR_LEN);
1918 static int dissect_printable_initials_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
1919 return dissect_x411_T_printable_initials(TRUE, tvb, offset, actx, tree, hf_x411_printable_initials);
1925 dissect_x411_T_printable_generation_qualifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1926 #line 552 "x411.cnf"
1927 tvbuff_t *pstring = NULL;
1929 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
1930 actx, tree, tvb, offset, hf_index,
1934 if(doing_address && pstring) {
1935 g_strlcat(oraddress, "/GQ=", MAX_ORA_STR_LEN);
1936 g_strlcat(oraddress, tvb_format_text(pstring, 0, tvb_length(pstring)), MAX_ORA_STR_LEN);
1943 static int dissect_printable_generation_qualifier_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
1944 return dissect_x411_T_printable_generation_qualifier(TRUE, tvb, offset, actx, tree, hf_x411_printable_generation_qualifier);
1948 static const ber_old_sequence_t PersonalName_set[] = {
1949 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_printable_surname_impl },
1950 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_printable_given_name_impl },
1951 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_printable_initials_impl },
1952 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_printable_generation_qualifier_impl },
1957 dissect_x411_PersonalName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1958 offset = dissect_ber_old_set(implicit_tag, actx, tree, tvb, offset,
1959 PersonalName_set, hf_index, ett_x411_PersonalName);
1963 static int dissect_personal_name_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
1964 return dissect_x411_PersonalName(TRUE, tvb, offset, actx, tree, hf_x411_personal_name);
1970 dissect_x411_OrganizationalUnitName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1971 #line 479 "x411.cnf"
1972 tvbuff_t *string = NULL;
1974 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
1975 actx, tree, tvb, offset, hf_index,
1979 if(doing_address && string) {
1980 g_strlcat(oraddress, "/OU=", MAX_ORA_STR_LEN);
1981 g_strlcat(oraddress, tvb_format_text(string, 0, tvb_length(string)), MAX_ORA_STR_LEN);
1988 static int dissect_OrganizationalUnitNames_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
1989 return dissect_x411_OrganizationalUnitName(FALSE, tvb, offset, actx, tree, hf_x411_OrganizationalUnitNames_item);
1993 static const ber_old_sequence_t OrganizationalUnitNames_sequence_of[1] = {
1994 { BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_OrganizationalUnitNames_item },
1998 dissect_x411_OrganizationalUnitNames(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1999 offset = dissect_ber_old_sequence_of(implicit_tag, actx, tree, tvb, offset,
2000 OrganizationalUnitNames_sequence_of, hf_index, ett_x411_OrganizationalUnitNames);
2004 static int dissect_organizational_unit_names_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
2005 return dissect_x411_OrganizationalUnitNames(TRUE, tvb, offset, actx, tree, hf_x411_organizational_unit_names);
2009 static const ber_old_sequence_t BuiltInStandardAttributes_sequence[] = {
2010 { BER_CLASS_APP, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_country_name },
2011 { BER_CLASS_APP, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_administration_domain_name },
2012 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_network_address_impl },
2013 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_terminal_identifier_impl },
2014 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_private_domain_name_impl },
2015 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_organization_name_impl },
2016 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_numeric_user_identifier_impl },
2017 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_personal_name_impl },
2018 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_organizational_unit_names_impl },
2023 dissect_x411_BuiltInStandardAttributes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2024 #line 663 "x411.cnf"
2026 address_item = tree;
2028 offset = dissect_ber_old_sequence(implicit_tag, actx, tree, tvb, offset,
2029 BuiltInStandardAttributes_sequence, hf_index, ett_x411_BuiltInStandardAttributes);
2036 static int dissect_built_in_standard_attributes(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
2037 return dissect_x411_BuiltInStandardAttributes(FALSE, tvb, offset, actx, tree, hf_x411_built_in_standard_attributes);
2043 dissect_x411_T_printable_type(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2044 #line 562 "x411.cnf"
2045 tvbuff_t *pstring = NULL;
2047 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
2048 actx, tree, tvb, offset, hf_index,
2052 if(doing_address && pstring) {
2053 g_strlcat(oraddress, "/DD.", MAX_ORA_STR_LEN);
2054 g_strlcat(oraddress, tvb_format_text(pstring, 0, tvb_length(pstring)), MAX_ORA_STR_LEN);
2060 static int dissect_printable_type(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
2061 return dissect_x411_T_printable_type(FALSE, tvb, offset, actx, tree, hf_x411_printable_type);
2067 dissect_x411_T_printable_value(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2068 #line 571 "x411.cnf"
2069 tvbuff_t *pstring = NULL;
2071 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
2072 actx, tree, tvb, offset, hf_index,
2076 if(doing_address && pstring) {
2077 g_strlcat(oraddress, "=", MAX_ORA_STR_LEN);
2078 g_strlcat(oraddress, tvb_format_text(pstring, 0, tvb_length(pstring)), MAX_ORA_STR_LEN);
2085 static int dissect_printable_value(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
2086 return dissect_x411_T_printable_value(FALSE, tvb, offset, actx, tree, hf_x411_printable_value);
2090 static const ber_old_sequence_t BuiltInDomainDefinedAttribute_sequence[] = {
2091 { BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_printable_type },
2092 { BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_printable_value },
2097 dissect_x411_BuiltInDomainDefinedAttribute(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2098 offset = dissect_ber_old_sequence(implicit_tag, actx, tree, tvb, offset,
2099 BuiltInDomainDefinedAttribute_sequence, hf_index, ett_x411_BuiltInDomainDefinedAttribute);
2103 static int dissect_BuiltInDomainDefinedAttributes_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
2104 return dissect_x411_BuiltInDomainDefinedAttribute(FALSE, tvb, offset, actx, tree, hf_x411_BuiltInDomainDefinedAttributes_item);
2108 static const ber_old_sequence_t BuiltInDomainDefinedAttributes_sequence_of[1] = {
2109 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_BuiltInDomainDefinedAttributes_item },
2113 dissect_x411_BuiltInDomainDefinedAttributes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2114 offset = dissect_ber_old_sequence_of(implicit_tag, actx, tree, tvb, offset,
2115 BuiltInDomainDefinedAttributes_sequence_of, hf_index, ett_x411_BuiltInDomainDefinedAttributes);
2119 static int dissect_built_in_domain_defined_attributes(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
2120 return dissect_x411_BuiltInDomainDefinedAttributes(FALSE, tvb, offset, actx, tree, hf_x411_built_in_domain_defined_attributes);
2126 dissect_x411_INTEGER(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2127 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2132 static int dissect_messages_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
2133 return dissect_x411_INTEGER(TRUE, tvb, offset, actx, tree, hf_x411_messages);
2135 static int dissect_delivery_queue_octets_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
2136 return dissect_x411_INTEGER(TRUE, tvb, offset, actx, tree, hf_x411_delivery_queue_octets);
2138 static int dissect_extension_attribute_type_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
2139 return dissect_x411_INTEGER(TRUE, tvb, offset, actx, tree, hf_x411_extension_attribute_type);
2141 static int dissect_token_data_type_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
2142 return dissect_x411_INTEGER(TRUE, tvb, offset, actx, tree, hf_x411_token_data_type);
2144 static int dissect_message_sequence_number_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
2145 return dissect_x411_INTEGER(TRUE, tvb, offset, actx, tree, hf_x411_message_sequence_number);
2151 dissect_x411_T_extension_attribute_value(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2152 #line 264 "x411.cnf"
2154 offset=call_x411_oid_callback("x411.extension-attribute", tvb, offset, actx->pinfo, tree);
2160 static int dissect_extension_attribute_value_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
2161 return dissect_x411_T_extension_attribute_value(TRUE, tvb, offset, actx, tree, hf_x411_extension_attribute_value);
2165 static const ber_old_sequence_t ExtensionAttribute_sequence[] = {
2166 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_extension_attribute_type_impl },
2167 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_extension_attribute_value_impl },
2172 dissect_x411_ExtensionAttribute(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2173 offset = dissect_ber_old_sequence(implicit_tag, actx, tree, tvb, offset,
2174 ExtensionAttribute_sequence, hf_index, ett_x411_ExtensionAttribute);
2178 static int dissect_ExtensionAttributes_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
2179 return dissect_x411_ExtensionAttribute(FALSE, tvb, offset, actx, tree, hf_x411_ExtensionAttributes_item);
2183 static const ber_old_sequence_t ExtensionAttributes_set_of[1] = {
2184 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_ExtensionAttributes_item },
2188 dissect_x411_ExtensionAttributes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2189 offset = dissect_ber_old_set_of(implicit_tag, actx, tree, tvb, offset,
2190 ExtensionAttributes_set_of, hf_index, ett_x411_ExtensionAttributes);
2194 static int dissect_extension_attributes(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
2195 return dissect_x411_ExtensionAttributes(FALSE, tvb, offset, actx, tree, hf_x411_extension_attributes);
2199 static const ber_old_sequence_t ORName_sequence[] = {
2200 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_built_in_standard_attributes },
2201 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_built_in_domain_defined_attributes },
2202 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extension_attributes },
2203 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_directory_name_impl },
2208 dissect_x411_ORName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2209 #line 594 "x411.cnf"
2211 oraddress = ep_alloc(MAX_ORA_STR_LEN); oraddress[0] = '\0';
2212 address_item = NULL;
2213 doing_address = TRUE;
2215 offset = dissect_ber_old_sequence(implicit_tag, actx, tree, tvb, offset,
2216 ORName_sequence, hf_index, ett_x411_ORName);
2219 if(*oraddress && address_item)
2220 proto_item_append_text(address_item, " (%s/)", oraddress);
2222 doing_address = FALSE;
2228 static int dissect_exact_match_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
2229 return dissect_x411_ORName(TRUE, tvb, offset, actx, tree, hf_x411_exact_match);
2231 static int dissect_pattern_match_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
2232 return dissect_x411_ORName(TRUE, tvb, offset, actx, tree, hf_x411_pattern_match);
2238 dissect_x411_ORAddressAndOptionalDirectoryName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2239 offset = dissect_x411_ORName(implicit_tag, tvb, offset, actx, tree, hf_index);
2243 static int dissect_user_agent(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
2244 return dissect_x411_ORAddressAndOptionalDirectoryName(FALSE, tvb, offset, actx, tree, hf_x411_user_agent);
2246 static int dissect_message_store_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
2247 return dissect_x411_ORAddressAndOptionalDirectoryName(TRUE, tvb, offset, actx, tree, hf_x411_message_store);
2249 static int dissect_intended_recipient(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
2250 return dissect_x411_ORAddressAndOptionalDirectoryName(FALSE, tvb, offset, actx, tree, hf_x411_intended_recipient);
2252 static int dissect_dl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
2253 return dissect_x411_ORAddressAndOptionalDirectoryName(FALSE, tvb, offset, actx, tree, hf_x411_dl);
2255 static int dissect_originator_or_dl_name(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
2256 return dissect_x411_ORAddressAndOptionalDirectoryName(FALSE, tvb, offset, actx, tree, hf_x411_originator_or_dl_name);
2262 dissect_x411_MTAOriginatorName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2263 offset = dissect_x411_ORAddressAndOptionalDirectoryName(implicit_tag, tvb, offset, actx, tree, hf_index);
2267 static int dissect_mta_originator_name(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
2268 return dissect_x411_MTAOriginatorName(FALSE, tvb, offset, actx, tree, hf_x411_mta_originator_name);
2272 static const asn_namedbit BuiltInEncodedInformationTypes_bits[] = {
2273 { 0, &hf_x411_BuiltInEncodedInformationTypes_unknown, -1, -1, "unknown", NULL },
2274 { 2, &hf_x411_BuiltInEncodedInformationTypes_ia5_text, -1, -1, "ia5-text", NULL },
2275 { 3, &hf_x411_BuiltInEncodedInformationTypes_g3_facsimile, -1, -1, "g3-facsimile", NULL },
2276 { 4, &hf_x411_BuiltInEncodedInformationTypes_g4_class_1, -1, -1, "g4-class-1", NULL },
2277 { 5, &hf_x411_BuiltInEncodedInformationTypes_teletex, -1, -1, "teletex", NULL },
2278 { 6, &hf_x411_BuiltInEncodedInformationTypes_videotex, -1, -1, "videotex", NULL },
2279 { 7, &hf_x411_BuiltInEncodedInformationTypes_voice, -1, -1, "voice", NULL },
2280 { 8, &hf_x411_BuiltInEncodedInformationTypes_sfd, -1, -1, "sfd", NULL },
2281 { 9, &hf_x411_BuiltInEncodedInformationTypes_mixed_mode, -1, -1, "mixed-mode", NULL },
2282 { 0, NULL, 0, 0, NULL, NULL }
2286 dissect_x411_BuiltInEncodedInformationTypes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2287 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
2288 BuiltInEncodedInformationTypes_bits, hf_index, ett_x411_BuiltInEncodedInformationTypes,
2293 static int dissect_built_in_encoded_information_types_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
2294 return dissect_x411_BuiltInEncodedInformationTypes(TRUE, tvb, offset, actx, tree, hf_x411_built_in_encoded_information_types);
2298 static const asn_namedbit G3FacsimileNonBasicParameters_bits[] = {
2299 { 8, &hf_x411_G3FacsimileNonBasicParameters_two_dimensional, -1, -1, "two-dimensional", NULL },
2300 { 9, &hf_x411_G3FacsimileNonBasicParameters_fine_resolution, -1, -1, "fine-resolution", NULL },
2301 { 20, &hf_x411_G3FacsimileNonBasicParameters_unlimited_length, -1, -1, "unlimited-length", NULL },
2302 { 21, &hf_x411_G3FacsimileNonBasicParameters_b4_length, -1, -1, "b4-length", NULL },
2303 { 22, &hf_x411_G3FacsimileNonBasicParameters_a3_width, -1, -1, "a3-width", NULL },
2304 { 23, &hf_x411_G3FacsimileNonBasicParameters_b4_width, -1, -1, "b4-width", NULL },
2305 { 25, &hf_x411_G3FacsimileNonBasicParameters_t6_coding, -1, -1, "t6-coding", NULL },
2306 { 30, &hf_x411_G3FacsimileNonBasicParameters_uncompressed, -1, -1, "uncompressed", NULL },
2307 { 37, &hf_x411_G3FacsimileNonBasicParameters_width_middle_864_of_1728, -1, -1, "width-middle-864-of-1728", NULL },
2308 { 38, &hf_x411_G3FacsimileNonBasicParameters_width_middle_1216_of_1728, -1, -1, "width-middle-1216-of-1728", NULL },
2309 { 44, &hf_x411_G3FacsimileNonBasicParameters_resolution_type, -1, -1, "resolution-type", NULL },
2310 { 45, &hf_x411_G3FacsimileNonBasicParameters_resolution_400x400, -1, -1, "resolution-400x400", NULL },
2311 { 46, &hf_x411_G3FacsimileNonBasicParameters_resolution_300x300, -1, -1, "resolution-300x300", NULL },
2312 { 47, &hf_x411_G3FacsimileNonBasicParameters_resolution_8x15, -1, -1, "resolution-8x15", NULL },
2313 { 49, &hf_x411_G3FacsimileNonBasicParameters_edi, -1, -1, "edi", NULL },
2314 { 50, &hf_x411_G3FacsimileNonBasicParameters_dtm, -1, -1, "dtm", NULL },
2315 { 51, &hf_x411_G3FacsimileNonBasicParameters_bft, -1, -1, "bft", NULL },
2316 { 58, &hf_x411_G3FacsimileNonBasicParameters_mixed_mode, -1, -1, "mixed-mode", NULL },
2317 { 60, &hf_x411_G3FacsimileNonBasicParameters_character_mode, -1, -1, "character-mode", NULL },
2318 { 65, &hf_x411_G3FacsimileNonBasicParameters_twelve_bits, -1, -1, "twelve-bits", NULL },
2319 { 66, &hf_x411_G3FacsimileNonBasicParameters_preferred_huffmann, -1, -1, "preferred-huffmann", NULL },
2320 { 67, &hf_x411_G3FacsimileNonBasicParameters_full_colour, -1, -1, "full-colour", NULL },
2321 { 68, &hf_x411_G3FacsimileNonBasicParameters_jpeg, -1, -1, "jpeg", NULL },
2322 { 71, &hf_x411_G3FacsimileNonBasicParameters_processable_mode_26, -1, -1, "processable-mode-26", NULL },
2323 { 0, NULL, 0, 0, NULL, NULL }
2327 dissect_x411_G3FacsimileNonBasicParameters(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2328 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
2329 G3FacsimileNonBasicParameters_bits, hf_index, ett_x411_G3FacsimileNonBasicParameters,
2334 static int dissect_g3_facsimile_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
2335 return dissect_x411_G3FacsimileNonBasicParameters(TRUE, tvb, offset, actx, tree, hf_x411_g3_facsimile);
2341 dissect_x411_TeletexString(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2342 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString,
2343 actx, tree, tvb, offset, hf_index,
2348 static int dissect_teletex_string(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
2349 return dissect_x411_TeletexString(FALSE, tvb, offset, actx, tree, hf_x411_teletex_string);
2351 static int dissect_graphic_character_sets_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
2352 return dissect_x411_TeletexString(TRUE, tvb, offset, actx, tree, hf_x411_graphic_character_sets);
2354 static int dissect_control_character_sets_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
2355 return dissect_x411_TeletexString(TRUE, tvb, offset, actx, tree, hf_x411_control_character_sets);
2357 static int dissect_miscellaneous_terminal_capabilities_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
2358 return dissect_x411_TeletexString(TRUE, tvb, offset, actx, tree, hf_x411_miscellaneous_terminal_capabilities);
2362 static const ber_old_sequence_t TeletexNonBasicParameters_set[] = {
2363 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_graphic_character_sets_impl },
2364 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_control_character_sets_impl },
2365 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_page_formats_impl },
2366 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_miscellaneous_terminal_capabilities_impl },
2367 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_private_use_impl },
2372 dissect_x411_TeletexNonBasicParameters(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2373 offset = dissect_ber_old_set(implicit_tag, actx, tree, tvb, offset,
2374 TeletexNonBasicParameters_set, hf_index, ett_x411_TeletexNonBasicParameters);
2378 static int dissect_teletex_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
2379 return dissect_x411_TeletexNonBasicParameters(TRUE, tvb, offset, actx, tree, hf_x411_teletex);
2385 dissect_x411_ExtendedEncodedInformationType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2386 offset = dissect_ber_object_identifier(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
2390 static int dissect_ExtendedEncodedInformationTypes_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
2391 return dissect_x411_ExtendedEncodedInformationType(FALSE, tvb, offset, actx, tree, hf_x411_ExtendedEncodedInformationTypes_item);
2395 static const ber_old_sequence_t ExtendedEncodedInformationTypes_set_of[1] = {
2396 { BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_ExtendedEncodedInformationTypes_item },
2400 dissect_x411_ExtendedEncodedInformationTypes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2401 offset = dissect_ber_old_set_of(implicit_tag, actx, tree, tvb, offset,
2402 ExtendedEncodedInformationTypes_set_of, hf_index, ett_x411_ExtendedEncodedInformationTypes);
2406 static int dissect_unacceptable_eits_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
2407 return dissect_x411_ExtendedEncodedInformationTypes(TRUE, tvb, offset, actx, tree, hf_x411_unacceptable_eits);
2409 static int dissect_acceptable_eits_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
2410 return dissect_x411_ExtendedEncodedInformationTypes(TRUE, tvb, offset, actx, tree, hf_x411_acceptable_eits);
2412 static int dissect_exclusively_acceptable_eits_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
2413 return dissect_x411_ExtendedEncodedInformationTypes(TRUE, tvb, offset, actx, tree, hf_x411_exclusively_acceptable_eits);
2415 static int dissect_extended_encoded_information_types_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
2416 return dissect_x411_ExtendedEncodedInformationTypes(TRUE, tvb, offset, actx, tree, hf_x411_extended_encoded_information_types);
2420 static const ber_old_sequence_t EncodedInformationTypes_set[] = {
2421 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_built_in_encoded_information_types_impl },
2422 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_g3_facsimile_impl },
2423 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_teletex_impl },
2424 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extended_encoded_information_types_impl },
2429 dissect_x411_EncodedInformationTypes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2430 offset = dissect_ber_old_set(implicit_tag, actx, tree, tvb, offset,
2431 EncodedInformationTypes_set, hf_index, ett_x411_EncodedInformationTypes);
2435 static int dissect_waiting_encoded_information_types(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
2436 return dissect_x411_EncodedInformationTypes(FALSE, tvb, offset, actx, tree, hf_x411_waiting_encoded_information_types);
2442 dissect_x411_OriginalEncodedInformationTypes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2443 offset = dissect_x411_EncodedInformationTypes(implicit_tag, tvb, offset, actx, tree, hf_index);
2447 static int dissect_original_encoded_information_types(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
2448 return dissect_x411_OriginalEncodedInformationTypes(FALSE, tvb, offset, actx, tree, hf_x411_original_encoded_information_types);
2450 static int dissect_original_encoded_information_types_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
2451 return dissect_x411_OriginalEncodedInformationTypes(TRUE, tvb, offset, actx, tree, hf_x411_original_encoded_information_types);
2455 static const value_string x411_BuiltInContentType_vals[] = {
2456 { 0, "unidentified" },
2458 { 2, "interpersonal-messaging-1984" },
2459 { 22, "interpersonal-messaging-1988" },
2460 { 35, "edi-messaging" },
2461 { 40, "voice-messaging" },
2467 dissect_x411_BuiltInContentType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2468 #line 363 "x411.cnf"
2471 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2475 /* convert integer content type to oid for dispatch when the content is found */
2478 content_type_id = ep_strdup("2.6.1.10.0");
2481 content_type_id = ep_strdup("2.6.1.10.1");
2484 content_type_id = NULL;
2492 static int dissect_built_in(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
2493 return dissect_x411_BuiltInContentType(FALSE, tvb, offset, actx, tree, hf_x411_built_in);
2495 static int dissect_built_in_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
2496 return dissect_x411_BuiltInContentType(TRUE, tvb, offset, actx, tree, hf_x411_built_in);
2502 dissect_x411_ExtendedContentType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2503 #line 347 "x411.cnf"
2504 const char *name = NULL;
2506 offset = dissect_ber_object_identifier_str(implicit_tag, actx, tree, tvb, offset, hf_index, &content_type_id);
2509 if(content_type_id) {
2510 name = get_oid_str_name(content_type_id);
2512 if(!name) name = content_type_id;
2514 proto_item_append_text(tree, " (%s)", name);
2521 static int dissect_extended(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
2522 return dissect_x411_ExtendedContentType(FALSE, tvb, offset, actx, tree, hf_x411_extended);
2526 static const value_string x411_ContentType_vals[] = {
2532 static const ber_old_choice_t ContentType_choice[] = {
2533 { 0, BER_CLASS_APP, 6, BER_FLAGS_NOOWNTAG, dissect_built_in },
2534 { 1, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_extended },
2535 { 0, 0, 0, 0, NULL }
2539 dissect_x411_ContentType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2540 offset = dissect_ber_old_choice(actx, tree, tvb, offset,
2541 ContentType_choice, hf_index, ett_x411_ContentType,
2546 static int dissect_content_type(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
2547 return dissect_x411_ContentType(FALSE, tvb, offset, actx, tree, hf_x411_content_type);
2549 static int dissect_waiting_content_types_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
2550 return dissect_x411_ContentType(FALSE, tvb, offset, actx, tree, hf_x411_waiting_content_types_item);
2552 static int dissect_ContentTypes_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
2553 return dissect_x411_ContentType(FALSE, tvb, offset, actx, tree, hf_x411_ContentTypes_item);
2559 dissect_x411_ContentIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2560 #line 313 "x411.cnf"
2562 gboolean pc, ind_field;
2567 /* XXX asn2wrs can not yet handle tagged assignment yes so this
2568 * XXX is some conformance file magic to work around that bug
2570 offset = get_ber_identifier(tvb, offset, &class, &pc, &tag);
2571 offset = get_ber_length(tree, tvb, offset, &len1, &ind_field);
2574 /* this is magic I haven't seen used before - I've stripped the tag - but now I'm going to say it is IMPLICIT! */
2575 offset = dissect_ber_restricted_string(TRUE, BER_UNI_TAG_PrintableString,
2576 actx, tree, tvb, offset, hf_index,
2584 static int dissect_content_identifier(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
2585 return dissect_x411_ContentIdentifier(FALSE, tvb, offset, actx, tree, hf_x411_content_identifier);
2587 static int dissect_content_identifier_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
2588 return dissect_x411_ContentIdentifier(TRUE, tvb, offset, actx, tree, hf_x411_content_identifier);
2592 static const value_string x411_Priority_vals[] = {
2594 { 1, "non-urgent" },
2601 dissect_x411_Priority(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2602 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2607 static int dissect_priority(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
2608 return dissect_x411_Priority(FALSE, tvb, offset, actx, tree, hf_x411_priority);
2610 static int dissect_permissible_lowest_priority(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
2611 return dissect_x411_Priority(FALSE, tvb, offset, actx, tree, hf_x411_permissible_lowest_priority);
2613 static int dissect_class_priority_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
2614 return dissect_x411_Priority(FALSE, tvb, offset, actx, tree, hf_x411_class_priority_item);
2618 static const asn_namedbit PerMessageIndicators_bits[] = {
2619 { 0, &hf_x411_PerMessageIndicators_disclosure_of_other_recipients, -1, -1, "disclosure-of-other-recipients", NULL },
2620 { 1, &hf_x411_PerMessageIndicators_implicit_conversion_prohibited, -1, -1, "implicit-conversion-prohibited", NULL },
2621 { 2, &hf_x411_PerMessageIndicators_alternate_recipient_allowed, -1, -1, "alternate-recipient-allowed", NULL },
2622 { 3, &hf_x411_PerMessageIndicators_content_return_request, -1, -1, "content-return-request", NULL },
2623 { 4, &hf_x411_PerMessageIndicators_reserved, -1, -1, "reserved", NULL },
2624 { 5, &hf_x411_PerMessageIndicators_bit_5, -1, -1, "bit-5", NULL },
2625 { 6, &hf_x411_PerMessageIndicators_bit_6, -1, -1, "bit-6", NULL },
2626 { 7, &hf_x411_PerMessageIndicators_service_message, -1, -1, "service-message", NULL },
2627 { 0, NULL, 0, 0, NULL, NULL }
2631 dissect_x411_PerMessageIndicators(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2632 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
2633 PerMessageIndicators_bits, hf_index, ett_x411_PerMessageIndicators,
2638 static int dissect_per_message_indicators(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
2639 return dissect_x411_PerMessageIndicators(FALSE, tvb, offset, actx, tree, hf_x411_per_message_indicators);
2645 dissect_x411_Time(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2646 #line 706 "x411.cnf"
2647 tvbuff_t *arrival = NULL;
2649 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_UTCTime,
2650 actx, tree, tvb, offset, hf_index,
2654 if(arrival && doing_address)
2655 proto_item_append_text(address_item, " %s", tvb_format_text(arrival, 0, tvb_length(arrival)));
2661 static int dissect_redirection_time(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
2662 return dissect_x411_Time(FALSE, tvb, offset, actx, tree, hf_x411_redirection_time);
2664 static int dissect_dl_expansion_time(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
2665 return dissect_x411_Time(FALSE, tvb, offset, actx, tree, hf_x411_dl_expansion_time);
2667 static int dissect_origination_or_expansion_time(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
2668 return dissect_x411_Time(FALSE, tvb, offset, actx, tree, hf_x411_origination_or_expansion_time);
2670 static int dissect_time(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
2671 return dissect_x411_Time(FALSE, tvb, offset, actx, tree, hf_x411_time);
2677 dissect_x411_DeferredDeliveryTime(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2678 offset = dissect_x411_Time(implicit_tag, tvb, offset, actx, tree, hf_index);
2682 static int dissect_deferred_delivery_time_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
2683 return dissect_x411_DeferredDeliveryTime(TRUE, tvb, offset, actx, tree, hf_x411_deferred_delivery_time);
2687 static const ber_old_sequence_t T_private_domain_sequence[] = {
2688 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_administration_domain_name_impl },
2689 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_private_domain_identifier_impl },
2694 dissect_x411_T_private_domain(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2695 offset = dissect_ber_old_sequence(implicit_tag, actx, tree, tvb, offset,
2696 T_private_domain_sequence, hf_index, ett_x411_T_private_domain);
2700 static int dissect_private_domain(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
2701 return dissect_x411_T_private_domain(FALSE, tvb, offset, actx, tree, hf_x411_private_domain);
2705 static const value_string x411_T_bilateral_domain_vals[] = {
2706 { 0, "administration-domain-name" },
2707 { 1, "private-domain" },
2711 static const ber_old_choice_t T_bilateral_domain_choice[] = {
2712 { 0, BER_CLASS_APP, 2, BER_FLAGS_NOOWNTAG, dissect_administration_domain_name },
2713 { 1, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_private_domain },
2714 { 0, 0, 0, 0, NULL }
2718 dissect_x411_T_bilateral_domain(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2719 offset = dissect_ber_old_choice(actx, tree, tvb, offset,
2720 T_bilateral_domain_choice, hf_index, ett_x411_T_bilateral_domain,
2725 static int dissect_bilateral_domain(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
2726 return dissect_x411_T_bilateral_domain(FALSE, tvb, offset, actx, tree, hf_x411_bilateral_domain);
2732 dissect_x411_T_bilateral_information(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2733 #line 758 "x411.cnf"
2734 proto_item *item = NULL;
2738 /* work out the length */
2739 loffset = dissect_ber_identifier(actx->pinfo, tree, tvb, offset, NULL, NULL, NULL);
2740 (void) dissect_ber_length(actx->pinfo, tree, tvb, loffset, &len, NULL);
2742 /* create some structure so we can tell what this unknown ASN.1 represents */
2743 item = proto_tree_add_item(tree, hf_index, tvb, offset, len, FALSE);
2744 tree = proto_item_add_subtree(item, ett_x411_bilateral_information);
2746 offset = dissect_unknown_ber(actx->pinfo, tvb, offset, tree);
2752 static int dissect_bilateral_information(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
2753 return dissect_x411_T_bilateral_information(FALSE, tvb, offset, actx, tree, hf_x411_bilateral_information);
2757 static const ber_old_sequence_t PerDomainBilateralInformation_sequence[] = {
2758 { BER_CLASS_APP, 1, BER_FLAGS_NOOWNTAG, dissect_country_name },
2759 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_bilateral_domain },
2760 { BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_bilateral_information },
2765 dissect_x411_PerDomainBilateralInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2766 offset = dissect_ber_old_sequence(implicit_tag, actx, tree, tvb, offset,
2767 PerDomainBilateralInformation_sequence, hf_index, ett_x411_PerDomainBilateralInformation);
2771 static int dissect_per_domain_bilateral_information_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
2772 return dissect_x411_PerDomainBilateralInformation(FALSE, tvb, offset, actx, tree, hf_x411_per_domain_bilateral_information_item);
2776 static const ber_old_sequence_t SEQUENCE_OF_PerDomainBilateralInformation_sequence_of[1] = {
2777 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_per_domain_bilateral_information_item },
2781 dissect_x411_SEQUENCE_OF_PerDomainBilateralInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2782 offset = dissect_ber_old_sequence_of(implicit_tag, actx, tree, tvb, offset,
2783 SEQUENCE_OF_PerDomainBilateralInformation_sequence_of, hf_index, ett_x411_SEQUENCE_OF_PerDomainBilateralInformation);
2787 static int dissect_per_domain_bilateral_information_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
2788 return dissect_x411_SEQUENCE_OF_PerDomainBilateralInformation(TRUE, tvb, offset, actx, tree, hf_x411_per_domain_bilateral_information);
2794 dissect_x411_ArrivalTime(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2795 offset = dissect_x411_Time(implicit_tag, tvb, offset, actx, tree, hf_index);
2799 static int dissect_arrival_time_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
2800 return dissect_x411_ArrivalTime(TRUE, tvb, offset, actx, tree, hf_x411_arrival_time);
2804 static const value_string x411_RoutingAction_vals[] = {
2812 dissect_x411_RoutingAction(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2813 #line 717 "x411.cnf"
2816 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2820 proto_item_append_text(address_item, " %s", val_to_str(action, x411_RoutingAction_vals, "action(%d)"));
2826 static int dissect_routing_action_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
2827 return dissect_x411_RoutingAction(TRUE, tvb, offset, actx, tree, hf_x411_routing_action);
2833 dissect_x411_DeferredTime(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2834 offset = dissect_x411_Time(implicit_tag, tvb, offset, actx, tree, hf_index);
2838 static int dissect_deferred_time_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
2839 return dissect_x411_DeferredTime(TRUE, tvb, offset, actx, tree, hf_x411_deferred_time);
2845 dissect_x411_ConvertedEncodedInformationTypes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2846 offset = dissect_x411_EncodedInformationTypes(implicit_tag, tvb, offset, actx, tree, hf_index);
2850 static int dissect_converted_encoded_information_types(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
2851 return dissect_x411_ConvertedEncodedInformationTypes(FALSE, tvb, offset, actx, tree, hf_x411_converted_encoded_information_types);
2853 static int dissect_converted_encoded_information_types_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
2854 return dissect_x411_ConvertedEncodedInformationTypes(TRUE, tvb, offset, actx, tree, hf_x411_converted_encoded_information_types);
2858 static const asn_namedbit OtherActions_bits[] = {
2859 { 0, &hf_x411_OtherActions_redirected, -1, -1, "redirected", NULL },
2860 { 1, &hf_x411_OtherActions_dl_operation, -1, -1, "dl-operation", NULL },
2861 { 0, NULL, 0, 0, NULL, NULL }
2865 dissect_x411_OtherActions(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2866 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
2867 OtherActions_bits, hf_index, ett_x411_OtherActions,
2872 static int dissect_other_actions_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
2873 return dissect_x411_OtherActions(TRUE, tvb, offset, actx, tree, hf_x411_other_actions);
2877 static const ber_old_sequence_t DomainSuppliedInformation_set[] = {
2878 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_arrival_time_impl },
2879 { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_routing_action_impl },
2880 { BER_CLASS_APP, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_attempted_domain },
2881 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_deferred_time_impl },
2882 { BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_converted_encoded_information_types },
2883 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_other_actions_impl },
2888 dissect_x411_DomainSuppliedInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2889 #line 685 "x411.cnf"
2891 doing_address = FALSE;
2893 offset = dissect_ber_old_set(implicit_tag, actx, tree, tvb, offset,
2894 DomainSuppliedInformation_set, hf_index, ett_x411_DomainSuppliedInformation);
2897 doing_address = TRUE;
2898 proto_item_append_text(tree, ")");
2904 static int dissect_domain_supplied_information(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
2905 return dissect_x411_DomainSuppliedInformation(FALSE, tvb, offset, actx, tree, hf_x411_domain_supplied_information);
2909 static const ber_old_sequence_t TraceInformationElement_sequence[] = {
2910 { BER_CLASS_APP, 3, BER_FLAGS_NOOWNTAG, dissect_global_domain_identifier },
2911 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_domain_supplied_information },
2916 dissect_x411_TraceInformationElement(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2917 #line 669 "x411.cnf"
2919 doing_address = TRUE;
2921 offset = dissect_ber_old_sequence(implicit_tag, actx, tree, tvb, offset,
2922 TraceInformationElement_sequence, hf_index, ett_x411_TraceInformationElement);
2925 doing_address = FALSE;
2931 static int dissect_TraceInformation_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
2932 return dissect_x411_TraceInformationElement(FALSE, tvb, offset, actx, tree, hf_x411_TraceInformation_item);
2936 static const ber_old_sequence_t TraceInformation_sequence_of[1] = {
2937 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_TraceInformation_item },
2941 dissect_x411_TraceInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2942 offset = dissect_ber_old_sequence_of(implicit_tag, actx, tree, tvb, offset,
2943 TraceInformation_sequence_of, hf_index, ett_x411_TraceInformation);
2947 static int dissect_trace_information(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
2948 return dissect_x411_TraceInformation(FALSE, tvb, offset, actx, tree, hf_x411_trace_information);
2954 dissect_x411_T_standard_extension(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2955 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2960 static int dissect_standard_extension_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
2961 return dissect_x411_T_standard_extension(TRUE, tvb, offset, actx, tree, hf_x411_standard_extension);
2967 dissect_x411_T_private_extension(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2968 #line 339 "x411.cnf"
2970 offset = dissect_ber_object_identifier_str(implicit_tag, actx, tree, tvb, offset, hf_index, &object_identifier_id);
2978 static int dissect_private_extension_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
2979 return dissect_x411_T_private_extension(TRUE, tvb, offset, actx, tree, hf_x411_private_extension);
2983 static const value_string x411_ExtensionType_vals[] = {
2984 { 0, "standard-extension" },
2985 { 3, "private-extension" },
2989 static const ber_old_choice_t ExtensionType_choice[] = {
2990 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_standard_extension_impl },
2991 { 3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_private_extension_impl },
2992 { 0, 0, 0, 0, NULL }
2996 dissect_x411_ExtensionType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2997 offset = dissect_ber_old_choice(actx, tree, tvb, offset,
2998 ExtensionType_choice, hf_index, ett_x411_ExtensionType,
3003 static int dissect_extension_type(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
3004 return dissect_x411_ExtensionType(FALSE, tvb, offset, actx, tree, hf_x411_extension_type);
3008 static const asn_namedbit Criticality_bits[] = {
3009 { 0, &hf_x411_Criticality_for_submission, -1, -1, "for-submission", NULL },
3010 { 1, &hf_x411_Criticality_for_transfer, -1, -1, "for-transfer", NULL },
3011 { 2, &hf_x411_Criticality_for_delivery, -1, -1, "for-delivery", NULL },
3012 { 0, NULL, 0, 0, NULL, NULL }
3016 dissect_x411_Criticality(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3017 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
3018 Criticality_bits, hf_index, ett_x411_Criticality,
3023 static int dissect_criticality_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
3024 return dissect_x411_Criticality(TRUE, tvb, offset, actx, tree, hf_x411_criticality);
3030 dissect_x411_ExtensionValue(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3031 #line 248 "x411.cnf"
3034 if(extension_id != -1)
3035 offset=call_x411_oid_callback("x411.extension", tvb, offset, actx->pinfo, tree);
3036 else if(object_identifier_id) {
3037 call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree);
3038 name = get_oid_str_name(object_identifier_id);
3039 proto_item_append_text(tree, " (%s)", name ? name : object_identifier_id);
3047 static int dissect_extension_value_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
3048 return dissect_x411_ExtensionValue(TRUE, tvb, offset, actx, tree, hf_x411_extension_value);
3052 static const ber_old_sequence_t ExtensionField_sequence[] = {
3053 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_extension_type },
3054 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_criticality_impl },
3055 { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_extension_value_impl },
3060 dissect_x411_ExtensionField(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3061 offset = dissect_ber_old_sequence(implicit_tag, actx, tree, tvb, offset,
3062 ExtensionField_sequence, hf_index, ett_x411_ExtensionField);
3066 static int dissect_extensions_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
3067 return dissect_x411_ExtensionField(FALSE, tvb, offset, actx, tree, hf_x411_extensions_item);
3071 static const ber_old_sequence_t SET_OF_ExtensionField_set_of[1] = {
3072 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_extensions_item },
3076 dissect_x411_SET_OF_ExtensionField(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3077 offset = dissect_ber_old_set_of(implicit_tag, actx, tree, tvb, offset,
3078 SET_OF_ExtensionField_set_of, hf_index, ett_x411_SET_OF_ExtensionField);
3082 static int dissect_extensions(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
3083 return dissect_x411_SET_OF_ExtensionField(FALSE, tvb, offset, actx, tree, hf_x411_extensions);
3085 static int dissect_extensions_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
3086 return dissect_x411_SET_OF_ExtensionField(TRUE, tvb, offset, actx, tree, hf_x411_extensions);
3092 dissect_x411_MTARecipientName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3093 offset = dissect_x411_ORAddressAndOptionalDirectoryName(implicit_tag, tvb, offset, actx, tree, hf_index);
3097 static int dissect_recipient_name(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
3098 return dissect_x411_MTARecipientName(FALSE, tvb, offset, actx, tree, hf_x411_recipient_name);
3104 dissect_x411_OriginallySpecifiedRecipientNumber(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3105 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
3110 static int dissect_originally_specified_recipient_number_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
3111 return dissect_x411_OriginallySpecifiedRecipientNumber(TRUE, tvb, offset, actx, tree, hf_x411_originally_specified_recipient_number);
3115 static const asn_namedbit PerRecipientIndicators_bits[] = {
3116 { 0, &hf_x411_PerRecipientIndicators_responsibility, -1, -1, "responsibility", NULL },
3117 { 1, &hf_x411_PerRecipientIndicators_originating_MTA_report, -1, -1, "originating-MTA-report", NULL },
3118 { 2, &hf_x411_PerRecipientIndicators_originating_MTA_non_delivery_report, -1, -1, "originating-MTA-non-delivery-report", NULL },
3119 { 3, &hf_x411_PerRecipientIndicators_originator_report, -1, -1, "originator-report", NULL },
3120 { 4, &hf_x411_PerRecipientIndicators_originator_non_delivery_report, -1, -1, "originator-non-delivery-report", NULL },
3121 { 5, &hf_x411_PerRecipientIndicators_reserved_5, -1, -1, "reserved-5", NULL },
3122 { 6, &hf_x411_PerRecipientIndicators_reserved_6, -1, -1, "reserved-6", NULL },
3123 { 7, &hf_x411_PerRecipientIndicators_reserved_7, -1, -1, "reserved-7", NULL },
3124 { 0, NULL, 0, 0, NULL, NULL }
3128 dissect_x411_PerRecipientIndicators(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3129 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
3130 PerRecipientIndicators_bits, hf_index, ett_x411_PerRecipientIndicators,
3135 static int dissect_per_recipient_indicators_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
3136 return dissect_x411_PerRecipientIndicators(TRUE, tvb, offset, actx, tree, hf_x411_per_recipient_indicators);
3140 static const value_string x411_ExplicitConversion_vals[] = {
3141 { 0, "ia5-text-to-teletex" },
3142 { 8, "ia5-text-to-g3-facsimile" },
3143 { 9, "ia5-text-to-g4-class-1" },
3144 { 10, "ia5-text-to-videotex" },
3145 { 11, "teletex-to-ia5-text" },
3146 { 12, "teletex-to-g3-facsimile" },
3147 { 13, "teletex-to-g4-class-1" },
3148 { 14, "teletex-to-videotex" },
3149 { 16, "videotex-to-ia5-text" },
3150 { 17, "videotex-to-teletex" },
3156 dissect_x411_ExplicitConversion(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3157 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
3162 static int dissect_explicit_conversion_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
3163 return dissect_x411_ExplicitConversion(TRUE, tvb, offset, actx, tree, hf_x411_explicit_conversion);
3167 static const ber_old_sequence_t PerRecipientMessageTransferFields_set[] = {
3168 { BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_recipient_name },
3169 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_originally_specified_recipient_number_impl },
3170 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_per_recipient_indicators_impl },
3171 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_explicit_conversion_impl },
3172 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
3177 dissect_x411_PerRecipientMessageTransferFields(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3178 offset = dissect_ber_old_set(implicit_tag, actx, tree, tvb, offset,
3179 PerRecipientMessageTransferFields_set, hf_index, ett_x411_PerRecipientMessageTransferFields);
3183 static int dissect_per_recipient_message_fields_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
3184 return dissect_x411_PerRecipientMessageTransferFields(FALSE, tvb, offset, actx, tree, hf_x411_per_recipient_message_fields_item);
3188 static const ber_old_sequence_t SEQUENCE_OF_PerRecipientMessageTransferFields_sequence_of[1] = {
3189 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_per_recipient_message_fields_item },
3193 dissect_x411_SEQUENCE_OF_PerRecipientMessageTransferFields(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3194 offset = dissect_ber_old_sequence_of(implicit_tag, actx, tree, tvb, offset,
3195 SEQUENCE_OF_PerRecipientMessageTransferFields_sequence_of, hf_index, ett_x411_SEQUENCE_OF_PerRecipientMessageTransferFields);
3199 static int dissect_per_recipient_message_fields_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
3200 return dissect_x411_SEQUENCE_OF_PerRecipientMessageTransferFields(TRUE, tvb, offset, actx, tree, hf_x411_per_recipient_message_fields);
3204 static const ber_old_sequence_t MessageTransferEnvelope_set[] = {
3205 { BER_CLASS_APP, 4, BER_FLAGS_NOOWNTAG, dissect_message_identifier },
3206 { BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_mta_originator_name },
3207 { BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_original_encoded_information_types },
3208 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_content_type },
3209 { BER_CLASS_APP, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_content_identifier },
3210 { BER_CLASS_APP, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_priority },
3211 { BER_CLASS_APP, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_per_message_indicators },
3212 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_deferred_delivery_time_impl },
3213 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_per_domain_bilateral_information_impl },
3214 { BER_CLASS_APP, 9, BER_FLAGS_NOOWNTAG, dissect_trace_information },
3215 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
3216 { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_per_recipient_message_fields_impl },
3221 dissect_x411_MessageTransferEnvelope(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3222 offset = dissect_ber_old_set(implicit_tag, actx, tree, tvb, offset,
3223 MessageTransferEnvelope_set, hf_index, ett_x411_MessageTransferEnvelope);
3227 static int dissect_message_envelope(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
3228 return dissect_x411_MessageTransferEnvelope(FALSE, tvb, offset, actx, tree, hf_x411_message_envelope);
3234 dissect_x411_Content(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3235 #line 381 "x411.cnf"
3238 /* we can do this now constructed octet strings are supported */
3239 offset = dissect_ber_octet_string(FALSE, actx, NULL, tvb, offset, hf_index, &next_tvb);
3242 if (content_type_id) {
3243 (void) call_ber_oid_callback(content_type_id, next_tvb, 0, actx->pinfo, top_tree ? top_tree : tree);
3245 proto_item *item = NULL;
3246 proto_tree *next_tree = NULL;
3248 item = proto_tree_add_text(top_tree ? top_tree : tree, next_tvb, 0, tvb_length_remaining(tvb, offset), "X.411 Unknown Content (unknown built-in content-type)");
3250 next_tree=proto_item_add_subtree(item, ett_x411_content_unknown);
3252 dissect_unknown_ber(actx->pinfo, next_tvb, 0, next_tree);
3260 static int dissect_content(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
3261 return dissect_x411_Content(FALSE, tvb, offset, actx, tree, hf_x411_content);
3263 static int dissect_returned_content_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
3264 return dissect_x411_Content(TRUE, tvb, offset, actx, tree, hf_x411_returned_content);
3268 static const ber_old_sequence_t Message_sequence[] = {
3269 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_message_envelope },
3270 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_content },
3275 dissect_x411_Message(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3276 offset = dissect_ber_old_sequence(implicit_tag, actx, tree, tvb, offset,
3277 Message_sequence, hf_index, ett_x411_Message);
3281 static int dissect_message_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
3282 return dissect_x411_Message(TRUE, tvb, offset, actx, tree, hf_x411_message);
3288 dissect_x411_ReportIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3289 offset = dissect_x411_MTSIdentifier(implicit_tag, tvb, offset, actx, tree, hf_index);
3293 static int dissect_report_identifier(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
3294 return dissect_x411_ReportIdentifier(FALSE, tvb, offset, actx, tree, hf_x411_report_identifier);
3300 dissect_x411_ReportDestinationName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3301 offset = dissect_x411_ORAddressAndOptionalDirectoryName(implicit_tag, tvb, offset, actx, tree, hf_index);
3305 static int dissect_report_destination_name(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
3306 return dissect_x411_ReportDestinationName(FALSE, tvb, offset, actx, tree, hf_x411_report_destination_name);
3310 static const ber_old_sequence_t ReportTransferEnvelope_set[] = {
3311 { BER_CLASS_APP, 4, BER_FLAGS_NOOWNTAG, dissect_report_identifier },
3312 { BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_report_destination_name },
3313 { BER_CLASS_APP, 9, BER_FLAGS_NOOWNTAG, dissect_trace_information },
3314 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
3319 dissect_x411_ReportTransferEnvelope(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3320 offset = dissect_ber_old_set(implicit_tag, actx, tree, tvb, offset,
3321 ReportTransferEnvelope_set, hf_index, ett_x411_ReportTransferEnvelope);
3325 static int dissect_report_envelope(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
3326 return dissect_x411_ReportTransferEnvelope(FALSE, tvb, offset, actx, tree, hf_x411_report_envelope);
3332 dissect_x411_MessageOrProbeIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3333 offset = dissect_x411_MTSIdentifier(implicit_tag, tvb, offset, actx, tree, hf_index);
3341 dissect_x411_SubjectIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3342 offset = dissect_x411_MessageOrProbeIdentifier(implicit_tag, tvb, offset, actx, tree, hf_index);
3346 static int dissect_subject_identifier(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
3347 return dissect_x411_SubjectIdentifier(FALSE, tvb, offset, actx, tree, hf_x411_subject_identifier);
3353 dissect_x411_SubjectIntermediateTraceInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3354 offset = dissect_x411_TraceInformation(implicit_tag, tvb, offset, actx, tree, hf_index);
3358 static int dissect_subject_intermediate_trace_information(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
3359 return dissect_x411_SubjectIntermediateTraceInformation(FALSE, tvb, offset, actx, tree, hf_x411_subject_intermediate_trace_information);
3365 dissect_x411_AdditionalInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3366 #line 230 "x411.cnf"
3367 proto_item *item = NULL;
3371 /* work out the length */
3372 loffset = dissect_ber_identifier(actx->pinfo, tree, tvb, offset, NULL, NULL, NULL);
3373 (void) dissect_ber_length(actx->pinfo, tree, tvb, loffset, &len, NULL);
3375 item = proto_tree_add_item(tree, hf_index, tvb, offset, len, FALSE);
3376 tree = proto_item_add_subtree(item, ett_x411_additional_information);
3377 proto_item_append_text(tree, " (The use of this field is \"strongly deprecated\".)");
3379 offset = dissect_unknown_ber(actx->pinfo, tvb, offset, tree);
3385 static int dissect_additional_information_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
3386 return dissect_x411_AdditionalInformation(TRUE, tvb, offset, actx, tree, hf_x411_additional_information);
3392 dissect_x411_MTAActualRecipientName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3393 offset = dissect_x411_ORAddressAndOptionalDirectoryName(implicit_tag, tvb, offset, actx, tree, hf_index);
3397 static int dissect_mta_actual_recipient_name_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
3398 return dissect_x411_MTAActualRecipientName(TRUE, tvb, offset, actx, tree, hf_x411_mta_actual_recipient_name);
3404 dissect_x411_MessageDeliveryTime(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3405 offset = dissect_x411_Time(implicit_tag, tvb, offset, actx, tree, hf_index);
3409 static int dissect_message_delivery_time(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
3410 return dissect_x411_MessageDeliveryTime(FALSE, tvb, offset, actx, tree, hf_x411_message_delivery_time);
3412 static int dissect_message_delivery_time_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
3413 return dissect_x411_MessageDeliveryTime(TRUE, tvb, offset, actx, tree, hf_x411_message_delivery_time);
3417 static const value_string x411_TypeOfMTSUser_vals[] = {
3423 { 5, "physical-recipient" },
3430 dissect_x411_TypeOfMTSUser(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3431 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
3436 static int dissect_type_of_MTS_user(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
3437 return dissect_x411_TypeOfMTSUser(FALSE, tvb, offset, actx, tree, hf_x411_type_of_MTS_user);
3439 static int dissect_type_of_MTS_user_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
3440 return dissect_x411_TypeOfMTSUser(TRUE, tvb, offset, actx, tree, hf_x411_type_of_MTS_user);
3444 static const ber_old_sequence_t DeliveryReport_set[] = {
3445 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_message_delivery_time_impl },
3446 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_type_of_MTS_user_impl },
3451 dissect_x411_DeliveryReport(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3452 offset = dissect_ber_old_set(implicit_tag, actx, tree, tvb, offset,
3453 DeliveryReport_set, hf_index, ett_x411_DeliveryReport);
3457 static int dissect_delivery_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
3458 return dissect_x411_DeliveryReport(TRUE, tvb, offset, actx, tree, hf_x411_delivery);
3462 const value_string x411_NonDeliveryReasonCode_vals[] = {
3463 { 0, "transfer-failure" },
3464 { 1, "unable-to-transfer" },
3465 { 2, "conversion-not-performed" },
3466 { 3, "physical-rendition-not-performed" },
3467 { 4, "physical-delivery-not-performed" },
3468 { 5, "restricted-delivery" },
3469 { 6, "directory-operation-unsuccessful" },
3470 { 7, "deferred-delivery-not-performed" },
3471 { 8, "transfer-failure-for-security-reason" },
3477 dissect_x411_NonDeliveryReasonCode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3478 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
3483 static int dissect_non_delivery_reason_code(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
3484 return dissect_x411_NonDeliveryReasonCode(FALSE, tvb, offset, actx, tree, hf_x411_non_delivery_reason_code);
3486 static int dissect_non_delivery_reason_code_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
3487 return dissect_x411_NonDeliveryReasonCode(TRUE, tvb, offset, actx, tree, hf_x411_non_delivery_reason_code);
3491 const value_string x411_NonDeliveryDiagnosticCode_vals[] = {
3492 { 0, "unrecognised-OR-name" },
3493 { 1, "ambiguous-OR-name" },
3494 { 2, "mts-congestion" },
3495 { 3, "loop-detected" },
3496 { 4, "recipient-unavailable" },
3497 { 5, "maximum-time-expired" },
3498 { 6, "encoded-information-types-unsupported" },
3499 { 7, "content-too-long" },
3500 { 8, "conversion-impractical" },
3501 { 9, "implicit-conversion-prohibited" },
3502 { 10, "implicit-conversion-not-subscribed" },
3503 { 11, "invalid-arguments" },
3504 { 12, "content-syntax-error" },
3505 { 13, "size-constraint-violation" },
3506 { 14, "protocol-violation" },
3507 { 15, "content-type-not-supported" },
3508 { 16, "too-many-recipients" },
3509 { 17, "no-bilateral-agreement" },
3510 { 18, "unsupported-critical-function" },
3511 { 19, "conversion-with-loss-prohibited" },
3512 { 20, "line-too-long" },
3513 { 21, "page-split" },
3514 { 22, "pictorial-symbol-loss" },
3515 { 23, "punctuation-symbol-loss" },
3516 { 24, "alphabetic-character-loss" },
3517 { 25, "multiple-information-loss" },
3518 { 26, "recipient-reassignment-prohibited" },
3519 { 27, "redirection-loop-detected" },
3520 { 28, "dl-expansion-prohibited" },
3521 { 29, "no-dl-submit-permission" },
3522 { 30, "dl-expansion-failure" },
3523 { 31, "physical-rendition-attributes-not-supported" },
3524 { 32, "undeliverable-mail-physical-delivery-address-incorrect" },
3525 { 33, "undeliverable-mail-physical-delivery-office-incorrect-or-invalid" },
3526 { 34, "undeliverable-mail-physical-delivery-address-incomplete" },
3527 { 35, "undeliverable-mail-recipient-unknown" },
3528 { 36, "undeliverable-mail-recipient-deceased" },
3529 { 37, "undeliverable-mail-organization-expired" },
3530 { 38, "undeliverable-mail-recipient-refused-to-accept" },
3531 { 39, "undeliverable-mail-recipient-did-not-claim" },
3532 { 40, "undeliverable-mail-recipient-changed-address-permanently" },
3533 { 41, "undeliverable-mail-recipient-changed-address-temporarily" },
3534 { 42, "undeliverable-mail-recipient-changed-temporary-address" },
3535 { 43, "undeliverable-mail-new-address-unknown" },
3536 { 44, "undeliverable-mail-recipient-did-not-want-forwarding" },
3537 { 45, "undeliverable-mail-originator-prohibited-forwarding" },
3538 { 46, "secure-messaging-error" },
3539 { 47, "unable-to-downgrade" },
3540 { 48, "unable-to-complete-transfer" },
3541 { 49, "transfer-attempts-limit-reached" },
3542 { 50, "incorrect-notification-type" },
3543 { 51, "dl-expansion-prohibited-by-security-policy" },
3544 { 52, "forbidden-alternate-recipient" },
3545 { 53, "security-policy-violation" },
3546 { 54, "security-services-refusal" },
3547 { 55, "unauthorised-dl-member" },
3548 { 56, "unauthorised-dl-name" },
3549 { 57, "unauthorised-originally-intended-recipient-name" },
3550 { 58, "unauthorised-originator-name" },
3551 { 59, "unauthorised-recipient-name" },
3552 { 60, "unreliable-system" },
3553 { 61, "authentication-failure-on-subject-message" },
3554 { 62, "decryption-failed" },
3555 { 63, "decryption-key-unobtainable" },
3556 { 64, "double-envelope-creation-failure" },
3557 { 65, "double-enveloping-message-restoring-failure" },
3558 { 66, "failure-of-proof-of-message" },
3559 { 67, "integrity-failure-on-subject-message" },
3560 { 68, "invalid-security-label" },
3561 { 69, "key-failure" },
3562 { 70, "mandatory-parameter-absence" },
3563 { 71, "operation-security-failure" },
3564 { 72, "repudiation-failure-of-message" },
3565 { 73, "security-context-failure" },
3566 { 74, "token-decryption-failed" },
3567 { 75, "token-error" },
3568 { 76, "unknown-security-label" },
3569 { 77, "unsupported-algorithm-identifier" },
3570 { 78, "unsupported-security-policy" },
3576 dissect_x411_NonDeliveryDiagnosticCode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3577 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
3582 static int dissect_non_delivery_diagnostic_code(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
3583 return dissect_x411_NonDeliveryDiagnosticCode(FALSE, tvb, offset, actx, tree, hf_x411_non_delivery_diagnostic_code);
3585 static int dissect_non_delivery_diagnostic_code_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
3586 return dissect_x411_NonDeliveryDiagnosticCode(TRUE, tvb, offset, actx, tree, hf_x411_non_delivery_diagnostic_code);
3590 static const ber_old_sequence_t NonDeliveryReport_set[] = {
3591 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_non_delivery_reason_code_impl },
3592 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_non_delivery_diagnostic_code_impl },
3597 dissect_x411_NonDeliveryReport(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3598 offset = dissect_ber_old_set(implicit_tag, actx, tree, tvb, offset,
3599 NonDeliveryReport_set, hf_index, ett_x411_NonDeliveryReport);
3603 static int dissect_non_delivery_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
3604 return dissect_x411_NonDeliveryReport(TRUE, tvb, offset, actx, tree, hf_x411_non_delivery);
3608 static const value_string x411_ReportType_vals[] = {
3610 { 1, "non-delivery" },
3614 static const ber_old_choice_t ReportType_choice[] = {
3615 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_delivery_impl },
3616 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_non_delivery_impl },
3617 { 0, 0, 0, 0, NULL }
3621 dissect_x411_ReportType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3622 #line 788 "x411.cnf"
3625 offset = dissect_ber_old_choice(actx, tree, tvb, offset,
3626 ReportType_choice, hf_index, ett_x411_ReportType,
3630 if(check_col(actx->pinfo->cinfo, COL_INFO)) {
3631 col_append_fstr(actx->pinfo->cinfo, COL_INFO, " %s", val_to_str(report, x411_ReportType_vals, "report-type(%d)"));
3638 static int dissect_trace_report_type_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
3639 return dissect_x411_ReportType(TRUE, tvb, offset, actx, tree, hf_x411_trace_report_type);
3641 static int dissect_delivery_report_type_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
3642 return dissect_x411_ReportType(TRUE, tvb, offset, actx, tree, hf_x411_delivery_report_type);
3646 static const ber_old_sequence_t LastTraceInformation_set[] = {
3647 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_arrival_time_impl },
3648 { BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_converted_encoded_information_types },
3649 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_trace_report_type_impl },
3654 dissect_x411_LastTraceInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3655 offset = dissect_ber_old_set(implicit_tag, actx, tree, tvb, offset,
3656 LastTraceInformation_set, hf_index, ett_x411_LastTraceInformation);
3660 static int dissect_last_trace_information_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
3661 return dissect_x411_LastTraceInformation(TRUE, tvb, offset, actx, tree, hf_x411_last_trace_information);
3667 dissect_x411_MTAOriginallyIntendedRecipientName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3668 offset = dissect_x411_ORAddressAndOptionalDirectoryName(implicit_tag, tvb, offset, actx, tree, hf_index);
3672 static int dissect_report_originally_intended_recipient_name_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
3673 return dissect_x411_MTAOriginallyIntendedRecipientName(TRUE, tvb, offset, actx, tree, hf_x411_report_originally_intended_recipient_name);
3679 dissect_x411_SupplementaryInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3680 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
3681 actx, tree, tvb, offset, hf_index,
3686 static int dissect_supplementary_information_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
3687 return dissect_x411_SupplementaryInformation(TRUE, tvb, offset, actx, tree, hf_x411_supplementary_information);
3691 static const ber_old_sequence_t PerRecipientReportTransferFields_set[] = {
3692 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mta_actual_recipient_name_impl },
3693 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_originally_specified_recipient_number_impl },
3694 { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_per_recipient_indicators_impl },
3695 { BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_last_trace_information_impl },
3696 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_report_originally_intended_recipient_name_impl },
3697 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_supplementary_information_impl },
3698 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
3703 dissect_x411_PerRecipientReportTransferFields(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3704 offset = dissect_ber_old_set(implicit_tag, actx, tree, tvb, offset,
3705 PerRecipientReportTransferFields_set, hf_index, ett_x411_PerRecipientReportTransferFields);
3709 static int dissect_per_recipient_report_fields_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
3710 return dissect_x411_PerRecipientReportTransferFields(FALSE, tvb, offset, actx, tree, hf_x411_per_recipient_report_fields_item);
3714 static const ber_old_sequence_t SEQUENCE_OF_PerRecipientReportTransferFields_sequence_of[1] = {
3715 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_per_recipient_report_fields_item },
3719 dissect_x411_SEQUENCE_OF_PerRecipientReportTransferFields(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3720 offset = dissect_ber_old_sequence_of(implicit_tag, actx, tree, tvb, offset,
3721 SEQUENCE_OF_PerRecipientReportTransferFields_sequence_of, hf_index, ett_x411_SEQUENCE_OF_PerRecipientReportTransferFields);
3725 static int dissect_per_recipient_report_fields_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
3726 return dissect_x411_SEQUENCE_OF_PerRecipientReportTransferFields(TRUE, tvb, offset, actx, tree, hf_x411_per_recipient_report_fields);
3730 static const ber_old_sequence_t ReportTransferContent_set[] = {
3731 { BER_CLASS_APP, 4, BER_FLAGS_NOOWNTAG, dissect_subject_identifier },
3732 { BER_CLASS_APP, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_subject_intermediate_trace_information },
3733 { BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_original_encoded_information_types },
3734 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_content_type },
3735 { BER_CLASS_APP, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_content_identifier },
3736 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_returned_content_impl },
3737 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_additional_information_impl },
3738 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
3739 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_per_recipient_report_fields_impl },
3744 dissect_x411_ReportTransferContent(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3745 offset = dissect_ber_old_set(implicit_tag, actx, tree, tvb, offset,
3746 ReportTransferContent_set, hf_index, ett_x411_ReportTransferContent);
3750 static int dissect_report_content(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
3751 return dissect_x411_ReportTransferContent(FALSE, tvb, offset, actx, tree, hf_x411_report_content);
3755 static const ber_old_sequence_t Report_sequence[] = {
3756 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_report_envelope },
3757 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_report_content },
3762 dissect_x411_Report(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3763 offset = dissect_ber_old_sequence(implicit_tag, actx, tree, tvb, offset,
3764 Report_sequence, hf_index, ett_x411_Report);
3768 static int dissect_report_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
3769 return dissect_x411_Report(TRUE, tvb, offset, actx, tree, hf_x411_report);
3775 dissect_x411_ProbeIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3776 offset = dissect_x411_MTSIdentifier(implicit_tag, tvb, offset, actx, tree, hf_index);
3780 static int dissect_probe_identifier(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
3781 return dissect_x411_ProbeIdentifier(FALSE, tvb, offset, actx, tree, hf_x411_probe_identifier);
3787 dissect_x411_ContentLength(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3788 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
3793 static int dissect_content_length_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
3794 return dissect_x411_ContentLength(TRUE, tvb, offset, actx, tree, hf_x411_content_length);
3796 static int dissect_permissible_maximum_content_length_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
3797 return dissect_x411_ContentLength(TRUE, tvb, offset, actx, tree, hf_x411_permissible_maximum_content_length);
3799 static int dissect_maximum_content_length_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
3800 return dissect_x411_ContentLength(TRUE, tvb, offset, actx, tree, hf_x411_maximum_content_length);
3804 static const ber_old_sequence_t PerRecipientProbeTransferFields_set[] = {
3805 { BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_recipient_name },
3806 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_originally_specified_recipient_number_impl },
3807 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_per_recipient_indicators_impl },
3808 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_explicit_conversion_impl },
3809 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
3814 dissect_x411_PerRecipientProbeTransferFields(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3815 offset = dissect_ber_old_set(implicit_tag, actx, tree, tvb, offset,
3816 PerRecipientProbeTransferFields_set, hf_index, ett_x411_PerRecipientProbeTransferFields);
3820 static int dissect_per_recipient_probe_transfer_fields_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
3821 return dissect_x411_PerRecipientProbeTransferFields(FALSE, tvb, offset, actx, tree, hf_x411_per_recipient_probe_transfer_fields_item);
3825 static const ber_old_sequence_t SEQUENCE_OF_PerRecipientProbeTransferFields_sequence_of[1] = {
3826 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_per_recipient_probe_transfer_fields_item },
3830 dissect_x411_SEQUENCE_OF_PerRecipientProbeTransferFields(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3831 offset = dissect_ber_old_sequence_of(implicit_tag, actx, tree, tvb, offset,
3832 SEQUENCE_OF_PerRecipientProbeTransferFields_sequence_of, hf_index, ett_x411_SEQUENCE_OF_PerRecipientProbeTransferFields);
3836 static int dissect_per_recipient_probe_transfer_fields_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
3837 return dissect_x411_SEQUENCE_OF_PerRecipientProbeTransferFields(TRUE, tvb, offset, actx, tree, hf_x411_per_recipient_probe_transfer_fields);
3841 static const ber_old_sequence_t ProbeTransferEnvelope_set[] = {
3842 { BER_CLASS_APP, 4, BER_FLAGS_NOOWNTAG, dissect_probe_identifier },
3843 { BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_mta_originator_name },
3844 { BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_original_encoded_information_types },
3845 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_content_type },
3846 { BER_CLASS_APP, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_content_identifier },
3847 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_content_length_impl },
3848 { BER_CLASS_APP, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_per_message_indicators },
3849 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_per_domain_bilateral_information_impl },
3850 { BER_CLASS_APP, 9, BER_FLAGS_NOOWNTAG, dissect_trace_information },
3851 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
3852 { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_per_recipient_probe_transfer_fields_impl },
3857 dissect_x411_ProbeTransferEnvelope(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3858 offset = dissect_ber_old_set(implicit_tag, actx, tree, tvb, offset,
3859 ProbeTransferEnvelope_set, hf_index, ett_x411_ProbeTransferEnvelope);
3867 dissect_x411_Probe(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3868 offset = dissect_x411_ProbeTransferEnvelope(implicit_tag, tvb, offset, actx, tree, hf_index);
3872 static int dissect_probe_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
3873 return dissect_x411_Probe(TRUE, tvb, offset, actx, tree, hf_x411_probe);
3877 static const value_string x411_MTS_APDU_vals[] = {
3884 static const ber_old_choice_t MTS_APDU_choice[] = {
3885 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_message_impl },
3886 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_report_impl },
3887 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_probe_impl },
3888 { 0, 0, 0, 0, NULL }
3892 dissect_x411_MTS_APDU(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3893 #line 776 "x411.cnf"
3896 offset = dissect_ber_old_choice(actx, tree, tvb, offset,
3897 MTS_APDU_choice, hf_index, ett_x411_MTS_APDU,
3901 if(check_col(actx->pinfo->cinfo, COL_INFO) && (apdu != 0)) { /* we don't show "message" - sub-dissectors have better idea */
3902 col_append_fstr(actx->pinfo->cinfo, COL_INFO, " %s", val_to_str(apdu, x411_MTS_APDU_vals, "MTS-APDU(%d)"));
3913 dissect_x411_MTAOriginatorRequestedAlternateRecipient(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3914 offset = dissect_x411_ORAddressAndOptionalDirectoryName(implicit_tag, tvb, offset, actx, tree, hf_index);
3920 static const value_string x411_T_attempted_vals[] = {
3926 static const ber_old_choice_t T_attempted_choice[] = {
3927 { 0, BER_CLASS_UNI, BER_UNI_TAG_IA5String, BER_FLAGS_NOOWNTAG, dissect_mta },
3928 { 1, BER_CLASS_APP, 3, BER_FLAGS_NOOWNTAG, dissect_domain },
3929 { 0, 0, 0, 0, NULL }
3933 dissect_x411_T_attempted(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3934 offset = dissect_ber_old_choice(actx, tree, tvb, offset,
3935 T_attempted_choice, hf_index, ett_x411_T_attempted,
3940 static int dissect_attempted(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
3941 return dissect_x411_T_attempted(FALSE, tvb, offset, actx, tree, hf_x411_attempted);
3945 static const ber_old_sequence_t MTASuppliedInformation_set[] = {
3946 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_arrival_time_impl },
3947 { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_routing_action_impl },
3948 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_attempted },
3949 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_deferred_time_impl },
3950 { BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_converted_encoded_information_types },
3951 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_other_actions_impl },
3956 dissect_x411_MTASuppliedInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3957 #line 694 "x411.cnf"
3959 doing_address = FALSE;
3961 offset = dissect_ber_old_set(implicit_tag, actx, tree, tvb, offset,
3962 MTASuppliedInformation_set, hf_index, ett_x411_MTASuppliedInformation);
3965 doing_address = TRUE;
3966 proto_item_append_text(tree, ")");
3972 static int dissect_mta_supplied_information(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
3973 return dissect_x411_MTASuppliedInformation(FALSE, tvb, offset, actx, tree, hf_x411_mta_supplied_information);
3977 static const ber_old_sequence_t InternalTraceInformationElement_sequence[] = {
3978 { BER_CLASS_APP, 3, BER_FLAGS_NOOWNTAG, dissect_global_domain_identifier },
3979 { BER_CLASS_UNI, BER_UNI_TAG_IA5String, BER_FLAGS_NOOWNTAG, dissect_mta_name },
3980 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_mta_supplied_information },
3985 dissect_x411_InternalTraceInformationElement(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3986 #line 677 "x411.cnf"
3988 doing_address = TRUE;
3990 offset = dissect_ber_old_sequence(implicit_tag, actx, tree, tvb, offset,
3991 InternalTraceInformationElement_sequence, hf_index, ett_x411_InternalTraceInformationElement);
3994 doing_address = FALSE;
4000 static int dissect_InternalTraceInformation_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
4001 return dissect_x411_InternalTraceInformationElement(FALSE, tvb, offset, actx, tree, hf_x411_InternalTraceInformation_item);
4005 static const ber_old_sequence_t InternalTraceInformation_sequence_of[1] = {
4006 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_InternalTraceInformation_item },
4010 dissect_x411_InternalTraceInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4011 offset = dissect_ber_old_sequence_of(implicit_tag, actx, tree, tvb, offset,
4012 InternalTraceInformation_sequence_of, hf_index, ett_x411_InternalTraceInformation);
4018 static const value_string x411_ObjectName_vals[] = {
4019 { 0, "user-agent" },
4021 { 2, "message-store" },
4025 static const ber_old_choice_t ObjectName_choice[] = {
4026 { 0, BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_user_agent },
4027 { 1, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mTA_impl },
4028 { 2, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_message_store_impl },
4029 { 0, 0, 0, 0, NULL }
4033 dissect_x411_ObjectName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4034 offset = dissect_ber_old_choice(actx, tree, tvb, offset,
4035 ObjectName_choice, hf_index, ett_x411_ObjectName,
4040 static int dissect_initiator_name(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
4041 return dissect_x411_ObjectName(FALSE, tvb, offset, actx, tree, hf_x411_initiator_name);
4043 static int dissect_responder_name(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
4044 return dissect_x411_ObjectName(FALSE, tvb, offset, actx, tree, hf_x411_responder_name);
4048 static const ber_old_sequence_t DeliveryQueue_set[] = {
4049 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_messages_impl },
4050 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_delivery_queue_octets_impl },
4055 dissect_x411_DeliveryQueue(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4056 offset = dissect_ber_old_set(implicit_tag, actx, tree, tvb, offset,
4057 DeliveryQueue_set, hf_index, ett_x411_DeliveryQueue);
4061 static int dissect_urgent_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
4062 return dissect_x411_DeliveryQueue(TRUE, tvb, offset, actx, tree, hf_x411_urgent);
4064 static int dissect_normal_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
4065 return dissect_x411_DeliveryQueue(TRUE, tvb, offset, actx, tree, hf_x411_normal);
4067 static int dissect_non_urgent_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
4068 return dissect_x411_DeliveryQueue(TRUE, tvb, offset, actx, tree, hf_x411_non_urgent);
4072 static const ber_old_sequence_t MessagesWaiting_set[] = {
4073 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_urgent_impl },
4074 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_normal_impl },
4075 { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_non_urgent_impl },
4080 dissect_x411_MessagesWaiting(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4081 offset = dissect_ber_old_set(implicit_tag, actx, tree, tvb, offset,
4082 MessagesWaiting_set, hf_index, ett_x411_MessagesWaiting);
4086 static int dissect_messages_waiting(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
4087 return dissect_x411_MessagesWaiting(FALSE, tvb, offset, actx, tree, hf_x411_messages_waiting);
4091 static const ber_old_sequence_t MTSBindArgument_set[] = {
4092 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_initiator_name },
4093 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_messages_waiting },
4094 { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_initiator_credentials_impl },
4095 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_security_context_impl },
4096 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
4101 dissect_x411_MTSBindArgument(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4102 offset = dissect_ber_old_set(implicit_tag, actx, tree, tvb, offset,
4103 MTSBindArgument_set, hf_index, ett_x411_MTSBindArgument);
4109 static const ber_old_sequence_t MTSBindResult_set[] = {
4110 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_responder_name },
4111 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_messages_waiting },
4112 { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_responder_credentials_impl },
4113 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
4118 dissect_x411_MTSBindResult(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4119 offset = dissect_ber_old_set(implicit_tag, actx, tree, tvb, offset,
4120 MTSBindResult_set, hf_index, ett_x411_MTSBindResult);
4126 static const value_string x411_MTSBindError_vals[] = {
4128 { 2, "authentication-error" },
4129 { 3, "unacceptable-dialogue-mode" },
4130 { 4, "unacceptable-security-context" },
4131 { 5, "inadequate-association-confidentiality" },
4137 dissect_x411_MTSBindError(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4138 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
4147 dissect_x411_ORAddressAndOrDirectoryName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4148 offset = dissect_x411_ORName(implicit_tag, tvb, offset, actx, tree, hf_index);
4152 static int dissect_DLExemptedRecipients_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
4153 return dissect_x411_ORAddressAndOrDirectoryName(FALSE, tvb, offset, actx, tree, hf_x411_DLExemptedRecipients_item);
4159 dissect_x411_MTSOriginatorName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4160 offset = dissect_x411_ORAddressAndOrDirectoryName(implicit_tag, tvb, offset, actx, tree, hf_index);
4164 static int dissect_mts_originator_name(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
4165 return dissect_x411_MTSOriginatorName(FALSE, tvb, offset, actx, tree, hf_x411_mts_originator_name);
4171 dissect_x411_MTSRecipientName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4172 offset = dissect_x411_ORAddressAndOrDirectoryName(implicit_tag, tvb, offset, actx, tree, hf_index);
4176 static int dissect_ImproperlySpecifiedRecipients_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
4177 return dissect_x411_MTSRecipientName(FALSE, tvb, offset, actx, tree, hf_x411_ImproperlySpecifiedRecipients_item);
4179 static int dissect_submission_recipient_name(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
4180 return dissect_x411_MTSRecipientName(FALSE, tvb, offset, actx, tree, hf_x411_submission_recipient_name);
4182 static int dissect_probe_recipient_name(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
4183 return dissect_x411_MTSRecipientName(FALSE, tvb, offset, actx, tree, hf_x411_probe_recipient_name);
4185 static int dissect_token_recipient_name(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
4186 return dissect_x411_MTSRecipientName(FALSE, tvb, offset, actx, tree, hf_x411_token_recipient_name);
4190 static const asn_namedbit OriginatorReportRequest_bits[] = {
4191 { 3, &hf_x411_OriginatorReportRequest_report, -1, -1, "report", NULL },
4192 { 4, &hf_x411_OriginatorReportRequest_non_delivery_report, -1, -1, "non-delivery-report", NULL },
4193 { 0, NULL, 0, 0, NULL, NULL }
4197 dissect_x411_OriginatorReportRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4198 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
4199 OriginatorReportRequest_bits, hf_index, ett_x411_OriginatorReportRequest,
4204 static int dissect_originator_report_request_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
4205 return dissect_x411_OriginatorReportRequest(TRUE, tvb, offset, actx, tree, hf_x411_originator_report_request);
4209 static const ber_old_sequence_t PerRecipientMessageSubmissionFields_set[] = {
4210 { BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_submission_recipient_name },
4211 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_originator_report_request_impl },
4212 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_explicit_conversion_impl },
4213 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
4218 dissect_x411_PerRecipientMessageSubmissionFields(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4219 offset = dissect_ber_old_set(implicit_tag, actx, tree, tvb, offset,
4220 PerRecipientMessageSubmissionFields_set, hf_index, ett_x411_PerRecipientMessageSubmissionFields);
4224 static int dissect_per_recipient_message_submission_fields_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
4225 return dissect_x411_PerRecipientMessageSubmissionFields(FALSE, tvb, offset, actx, tree, hf_x411_per_recipient_message_submission_fields_item);
4229 static const ber_old_sequence_t SEQUENCE_OF_PerRecipientMessageSubmissionFields_sequence_of[1] = {
4230 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_per_recipient_message_submission_fields_item },
4234 dissect_x411_SEQUENCE_OF_PerRecipientMessageSubmissionFields(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4235 offset = dissect_ber_old_sequence_of(implicit_tag, actx, tree, tvb, offset,
4236 SEQUENCE_OF_PerRecipientMessageSubmissionFields_sequence_of, hf_index, ett_x411_SEQUENCE_OF_PerRecipientMessageSubmissionFields);
4240 static int dissect_per_recipient_message_submission_fields_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
4241 return dissect_x411_SEQUENCE_OF_PerRecipientMessageSubmissionFields(TRUE, tvb, offset, actx, tree, hf_x411_per_recipient_message_submission_fields);
4245 static const ber_old_sequence_t MessageSubmissionEnvelope_set[] = {
4246 { BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_mts_originator_name },
4247 { BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_original_encoded_information_types },
4248 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_content_type },
4249 { BER_CLASS_APP, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_content_identifier },
4250 { BER_CLASS_APP, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_priority },
4251 { BER_CLASS_APP, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_per_message_indicators },
4252 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_deferred_delivery_time_impl },
4253 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
4254 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_per_recipient_message_submission_fields_impl },
4259 dissect_x411_MessageSubmissionEnvelope(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4260 offset = dissect_ber_old_set(implicit_tag, actx, tree, tvb, offset,
4261 MessageSubmissionEnvelope_set, hf_index, ett_x411_MessageSubmissionEnvelope);
4265 static int dissect_message_submission_envelope(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
4266 return dissect_x411_MessageSubmissionEnvelope(FALSE, tvb, offset, actx, tree, hf_x411_message_submission_envelope);
4270 static const ber_old_sequence_t MessageSubmissionArgument_sequence[] = {
4271 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_message_submission_envelope },
4272 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_content },
4277 dissect_x411_MessageSubmissionArgument(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4278 offset = dissect_ber_old_sequence(implicit_tag, actx, tree, tvb, offset,
4279 MessageSubmissionArgument_sequence, hf_index, ett_x411_MessageSubmissionArgument);
4287 dissect_x411_MessageSubmissionIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4288 offset = dissect_x411_MTSIdentifier(implicit_tag, tvb, offset, actx, tree, hf_index);
4292 static int dissect_message_submission_identifier(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
4293 return dissect_x411_MessageSubmissionIdentifier(FALSE, tvb, offset, actx, tree, hf_x411_message_submission_identifier);
4299 dissect_x411_MessageSubmissionTime(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4300 offset = dissect_x411_Time(implicit_tag, tvb, offset, actx, tree, hf_index);
4304 static int dissect_message_submission_time_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
4305 return dissect_x411_MessageSubmissionTime(TRUE, tvb, offset, actx, tree, hf_x411_message_submission_time);
4309 static const ber_old_sequence_t MessageSubmissionResult_set[] = {
4310 { BER_CLASS_APP, 4, BER_FLAGS_NOOWNTAG, dissect_message_submission_identifier },
4311 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_message_submission_time_impl },
4312 { BER_CLASS_APP, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_content_identifier },
4313 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
4318 dissect_x411_MessageSubmissionResult(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4319 offset = dissect_ber_old_set(implicit_tag, actx, tree, tvb, offset,
4320 MessageSubmissionResult_set, hf_index, ett_x411_MessageSubmissionResult);
4326 static const ber_old_sequence_t PerRecipientProbeSubmissionFields_set[] = {
4327 { BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_probe_recipient_name },
4328 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_originator_report_request_impl },
4329 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_explicit_conversion_impl },
4330 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
4335 dissect_x411_PerRecipientProbeSubmissionFields(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4336 offset = dissect_ber_old_set(implicit_tag, actx, tree, tvb, offset,
4337 PerRecipientProbeSubmissionFields_set, hf_index, ett_x411_PerRecipientProbeSubmissionFields);
4341 static int dissect_per_recipient_probe_submission_fields_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
4342 return dissect_x411_PerRecipientProbeSubmissionFields(FALSE, tvb, offset, actx, tree, hf_x411_per_recipient_probe_submission_fields_item);
4346 static const ber_old_sequence_t SEQUENCE_OF_PerRecipientProbeSubmissionFields_sequence_of[1] = {
4347 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_per_recipient_probe_submission_fields_item },
4351 dissect_x411_SEQUENCE_OF_PerRecipientProbeSubmissionFields(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4352 offset = dissect_ber_old_sequence_of(implicit_tag, actx, tree, tvb, offset,
4353 SEQUENCE_OF_PerRecipientProbeSubmissionFields_sequence_of, hf_index, ett_x411_SEQUENCE_OF_PerRecipientProbeSubmissionFields);
4357 static int dissect_per_recipient_probe_submission_fields_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
4358 return dissect_x411_SEQUENCE_OF_PerRecipientProbeSubmissionFields(TRUE, tvb, offset, actx, tree, hf_x411_per_recipient_probe_submission_fields);
4362 static const ber_old_sequence_t ProbeSubmissionEnvelope_set[] = {
4363 { BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_mts_originator_name },
4364 { BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_original_encoded_information_types },
4365 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_content_type },
4366 { BER_CLASS_APP, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_content_identifier },
4367 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_content_length_impl },
4368 { BER_CLASS_APP, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_per_message_indicators },
4369 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
4370 { BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_per_recipient_probe_submission_fields_impl },
4375 dissect_x411_ProbeSubmissionEnvelope(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4376 offset = dissect_ber_old_set(implicit_tag, actx, tree, tvb, offset,
4377 ProbeSubmissionEnvelope_set, hf_index, ett_x411_ProbeSubmissionEnvelope);
4385 dissect_x411_ProbeSubmissionArgument(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4386 offset = dissect_x411_ProbeSubmissionEnvelope(implicit_tag, tvb, offset, actx, tree, hf_index);
4394 dissect_x411_ProbeSubmissionIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4395 offset = dissect_x411_MTSIdentifier(implicit_tag, tvb, offset, actx, tree, hf_index);
4399 static int dissect_probe_submission_identifier(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
4400 return dissect_x411_ProbeSubmissionIdentifier(FALSE, tvb, offset, actx, tree, hf_x411_probe_submission_identifier);
4406 dissect_x411_ProbeSubmissionTime(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4407 offset = dissect_x411_Time(implicit_tag, tvb, offset, actx, tree, hf_index);
4411 static int dissect_probe_submission_time_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
4412 return dissect_x411_ProbeSubmissionTime(TRUE, tvb, offset, actx, tree, hf_x411_probe_submission_time);
4416 static const ber_old_sequence_t ProbeSubmissionResult_set[] = {
4417 { BER_CLASS_APP, 4, BER_FLAGS_NOOWNTAG, dissect_probe_submission_identifier },
4418 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_probe_submission_time_impl },
4419 { BER_CLASS_APP, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_content_identifier },
4420 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
4425 dissect_x411_ProbeSubmissionResult(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4426 offset = dissect_ber_old_set(implicit_tag, actx, tree, tvb, offset,
4427 ProbeSubmissionResult_set, hf_index, ett_x411_ProbeSubmissionResult);
4435 dissect_x411_CancelDeferredDeliveryArgument(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4436 offset = dissect_x411_MessageSubmissionIdentifier(implicit_tag, tvb, offset, actx, tree, hf_index);
4444 dissect_x411_CancelDeferredDeliveryResult(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4445 offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
4453 dissect_x411_BOOLEAN(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4454 offset = dissect_ber_boolean(implicit_tag, actx, tree, tvb, offset, hf_index);
4458 static int dissect_restrict_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
4459 return dissect_x411_BOOLEAN(TRUE, tvb, offset, actx, tree, hf_x411_restrict);
4461 static int dissect_permitted(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
4462 return dissect_x411_BOOLEAN(FALSE, tvb, offset, actx, tree, hf_x411_permitted);
4466 static const asn_namedbit Operations_bits[] = {
4467 { 0, &hf_x411_Operations_probe_submission_or_report_delivery, -1, -1, "probe-submission-or-report-delivery", NULL },
4468 { 1, &hf_x411_Operations_message_submission_or_message_delivery, -1, -1, "message-submission-or-message-delivery", NULL },
4469 { 0, NULL, 0, 0, NULL, NULL }
4473 dissect_x411_Operations(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4474 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
4475 Operations_bits, hf_index, ett_x411_Operations,
4480 static int dissect_waiting_operations_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
4481 return dissect_x411_Operations(TRUE, tvb, offset, actx, tree, hf_x411_waiting_operations);
4483 static int dissect_permissible_operations_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
4484 return dissect_x411_Operations(TRUE, tvb, offset, actx, tree, hf_x411_permissible_operations);
4488 static const ber_old_sequence_t ContentTypes_set_of[1] = {
4489 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ContentTypes_item },
4493 dissect_x411_ContentTypes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4494 offset = dissect_ber_old_set_of(implicit_tag, actx, tree, tvb, offset,
4495 ContentTypes_set_of, hf_index, ett_x411_ContentTypes);
4499 static int dissect_permissible_content_types_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
4500 return dissect_x411_ContentTypes(TRUE, tvb, offset, actx, tree, hf_x411_permissible_content_types);
4502 static int dissect_content_types_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
4503 return dissect_x411_ContentTypes(TRUE, tvb, offset, actx, tree, hf_x411_content_types);
4507 static const ber_old_sequence_t EncodedInformationTypesConstraints_sequence[] = {
4508 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_unacceptable_eits_impl },
4509 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_acceptable_eits_impl },
4510 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_exclusively_acceptable_eits_impl },
4515 dissect_x411_EncodedInformationTypesConstraints(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4516 offset = dissect_ber_old_sequence(implicit_tag, actx, tree, tvb, offset,
4517 EncodedInformationTypesConstraints_sequence, hf_index, ett_x411_EncodedInformationTypesConstraints);
4521 static int dissect_encoded_information_types_constraints_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
4522 return dissect_x411_EncodedInformationTypesConstraints(TRUE, tvb, offset, actx, tree, hf_x411_encoded_information_types_constraints);
4528 dissect_x411_PermissibleEncodedInformationTypes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4529 offset = dissect_x411_EncodedInformationTypesConstraints(implicit_tag, tvb, offset, actx, tree, hf_index);
4533 static int dissect_permissible_encoded_information_types(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
4534 return dissect_x411_PermissibleEncodedInformationTypes(FALSE, tvb, offset, actx, tree, hf_x411_permissible_encoded_information_types);
4538 static const ber_old_sequence_t Controls_set[] = {
4539 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_restrict_impl },
4540 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_permissible_operations_impl },
4541 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_permissible_maximum_content_length_impl },
4542 { BER_CLASS_APP, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_permissible_lowest_priority },
4543 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_permissible_content_types_impl },
4544 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_permissible_encoded_information_types },
4545 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_permissible_security_context_impl },
4550 dissect_x411_Controls(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4551 offset = dissect_ber_old_set(implicit_tag, actx, tree, tvb, offset,
4552 Controls_set, hf_index, ett_x411_Controls);
4560 dissect_x411_SubmissionControls(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4561 offset = dissect_x411_Controls(implicit_tag, tvb, offset, actx, tree, hf_index);
4569 dissect_x411_SubmissionControlArgument(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4570 offset = dissect_x411_SubmissionControls(implicit_tag, tvb, offset, actx, tree, hf_index);
4576 static const asn_namedbit WaitingMessages_bits[] = {
4577 { 0, &hf_x411_WaitingMessages_long_content, -1, -1, "long-content", NULL },
4578 { 1, &hf_x411_WaitingMessages_low_priority, -1, -1, "low-priority", NULL },
4579 { 2, &hf_x411_WaitingMessages_other_security_labels, -1, -1, "other-security-labels", NULL },
4580 { 0, NULL, 0, 0, NULL, NULL }
4584 dissect_x411_WaitingMessages(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4585 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
4586 WaitingMessages_bits, hf_index, ett_x411_WaitingMessages,
4591 static int dissect_waiting_messages_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
4592 return dissect_x411_WaitingMessages(TRUE, tvb, offset, actx, tree, hf_x411_waiting_messages);
4596 static const ber_old_sequence_t SET_OF_ContentType_set_of[1] = {
4597 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_waiting_content_types_item },
4601 dissect_x411_SET_OF_ContentType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4602 offset = dissect_ber_old_set_of(implicit_tag, actx, tree, tvb, offset,
4603 SET_OF_ContentType_set_of, hf_index, ett_x411_SET_OF_ContentType);
4607 static int dissect_waiting_content_types_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
4608 return dissect_x411_SET_OF_ContentType(TRUE, tvb, offset, actx, tree, hf_x411_waiting_content_types);
4612 static const ber_old_sequence_t Waiting_set[] = {
4613 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_waiting_operations_impl },
4614 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_waiting_messages_impl },
4615 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_waiting_content_types_impl },
4616 { BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_waiting_encoded_information_types },
4621 dissect_x411_Waiting(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4622 offset = dissect_ber_old_set(implicit_tag, actx, tree, tvb, offset,
4623 Waiting_set, hf_index, ett_x411_Waiting);
4631 dissect_x411_SubmissionControlResult(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4632 offset = dissect_x411_Waiting(implicit_tag, tvb, offset, actx, tree, hf_index);
4638 static const ber_old_sequence_t ImproperlySpecifiedRecipients_sequence_of[1] = {
4639 { BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_ImproperlySpecifiedRecipients_item },
4643 dissect_x411_ImproperlySpecifiedRecipients(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4644 offset = dissect_ber_old_sequence_of(implicit_tag, actx, tree, tvb, offset,
4645 ImproperlySpecifiedRecipients_sequence_of, hf_index, ett_x411_ImproperlySpecifiedRecipients);
4651 static const value_string x411_SecurityProblem_vals[] = {
4652 { 0, "assemby-instructions-conflict-with-security-services" },
4653 { 1, "authentication-problem" },
4654 { 2, "authentication-failure-on-subject-message" },
4655 { 3, "confidentiality-association-problem" },
4656 { 4, "decryption-failed" },
4657 { 5, "decryption-key-unobtainable" },
4658 { 6, "failure-of-proof-of-message" },
4659 { 7, "forbidden-user-security-label-register" },
4660 { 8, "incompatible-change-with-original-security-context" },
4661 { 9, "integrity-failure-on-subject-message" },
4662 { 10, "invalid-security-label" },
4663 { 11, "invalid-security-label-update" },
4664 { 12, "key-failure" },
4665 { 13, "mandatory-parameter-absence" },
4666 { 14, "operation-security-failure" },
4667 { 15, "redirection-prohibited" },
4668 { 16, "refused-alternate-recipient-name" },
4669 { 17, "repudiation-failure-of-message" },
4670 { 18, "responder-credentials-checking-problem" },
4671 { 19, "security-context-failure" },
4672 { 20, "security-context-problem" },
4673 { 21, "security-policy-violation" },
4674 { 22, "security-services-refusal" },
4675 { 23, "token-decryption-failed" },
4676 { 24, "token-error" },
4677 { 25, "unable-to-aggregate-security-labels" },
4678 { 26, "unauthorised-dl-name" },
4679 { 27, "unauthorised-entry-class" },
4680 { 28, "unauthorised-originally-intended-recipient-name" },
4681 { 29, "unauthorised-originator-name" },
4682 { 30, "unauthorised-recipient-name" },
4683 { 31, "unauthorised-security-label-update" },
4684 { 32, "unauthorised-user-name" },
4685 { 33, "unknown-security-label" },
4686 { 34, "unsupported-algorithm-identifier" },
4687 { 35, "unsupported-security-policy" },
4693 dissect_x411_SecurityProblem(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4694 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
4703 dissect_x411_MessageDeliveryIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4704 offset = dissect_x411_MTSIdentifier(implicit_tag, tvb, offset, actx, tree, hf_index);
4708 static int dissect_message_delivery_identifier(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
4709 return dissect_x411_MessageDeliveryIdentifier(FALSE, tvb, offset, actx, tree, hf_x411_message_delivery_identifier);
4713 static const value_string x411_DeliveredContentType_vals[] = {
4719 static const ber_old_choice_t DeliveredContentType_choice[] = {
4720 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_built_in_impl },
4721 { 1, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_extended },
4722 { 0, 0, 0, 0, NULL }
4726 dissect_x411_DeliveredContentType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4727 offset = dissect_ber_old_choice(actx, tree, tvb, offset,
4728 DeliveredContentType_choice, hf_index, ett_x411_DeliveredContentType,
4733 static int dissect_delivered_content_type(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
4734 return dissect_x411_DeliveredContentType(FALSE, tvb, offset, actx, tree, hf_x411_delivered_content_type);
4740 dissect_x411_DeliveredOriginatorName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4741 offset = dissect_x411_ORAddressAndOptionalDirectoryName(implicit_tag, tvb, offset, actx, tree, hf_index);
4745 static int dissect_originator_name(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
4746 return dissect_x411_DeliveredOriginatorName(FALSE, tvb, offset, actx, tree, hf_x411_originator_name);
4750 static const asn_namedbit DeliveryFlags_bits[] = {
4751 { 1, &hf_x411_DeliveryFlags_implicit_conversion_prohibited, -1, -1, "implicit-conversion-prohibited", NULL },
4752 { 0, NULL, 0, 0, NULL, NULL }
4756 dissect_x411_DeliveryFlags(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4757 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
4758 DeliveryFlags_bits, hf_index, ett_x411_DeliveryFlags,
4763 static int dissect_delivery_flags_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
4764 return dissect_x411_DeliveryFlags(TRUE, tvb, offset, actx, tree, hf_x411_delivery_flags);
4770 dissect_x411_OtherRecipientName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4771 offset = dissect_x411_ORAddressAndOptionalDirectoryName(implicit_tag, tvb, offset, actx, tree, hf_index);
4775 static int dissect_OtherRecipientNames_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
4776 return dissect_x411_OtherRecipientName(FALSE, tvb, offset, actx, tree, hf_x411_OtherRecipientNames_item);
4780 static const ber_old_sequence_t OtherRecipientNames_sequence_of[1] = {
4781 { BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_OtherRecipientNames_item },
4785 dissect_x411_OtherRecipientNames(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4786 offset = dissect_ber_old_sequence_of(implicit_tag, actx, tree, tvb, offset,
4787 OtherRecipientNames_sequence_of, hf_index, ett_x411_OtherRecipientNames);
4791 static int dissect_other_recipient_names_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
4792 return dissect_x411_OtherRecipientNames(TRUE, tvb, offset, actx, tree, hf_x411_other_recipient_names);
4798 dissect_x411_ThisRecipientName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4799 offset = dissect_x411_ORAddressAndOptionalDirectoryName(implicit_tag, tvb, offset, actx, tree, hf_index);
4803 static int dissect_this_recipient_name_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
4804 return dissect_x411_ThisRecipientName(TRUE, tvb, offset, actx, tree, hf_x411_this_recipient_name);
4810 dissect_x411_MTSOriginallyIntendedRecipientName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4811 offset = dissect_x411_ORAddressAndOptionalDirectoryName(implicit_tag, tvb, offset, actx, tree, hf_index);
4815 static int dissect_originally_intended_recipient_name(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
4816 return dissect_x411_MTSOriginallyIntendedRecipientName(FALSE, tvb, offset, actx, tree, hf_x411_originally_intended_recipient_name);
4818 static int dissect_originally_intended_recipient_name_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
4819 return dissect_x411_MTSOriginallyIntendedRecipientName(TRUE, tvb, offset, actx, tree, hf_x411_originally_intended_recipient_name);
4823 static const ber_old_sequence_t OtherMessageDeliveryFields_set[] = {
4824 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_delivered_content_type },
4825 { BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_originator_name },
4826 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_original_encoded_information_types_impl },
4827 { BER_CLASS_APP, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_priority },
4828 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_delivery_flags_impl },
4829 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_other_recipient_names_impl },
4830 { BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_this_recipient_name_impl },
4831 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_originally_intended_recipient_name_impl },
4832 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_converted_encoded_information_types_impl },
4833 { BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_message_submission_time_impl },
4834 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_content_identifier_impl },
4835 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
4840 dissect_x411_OtherMessageDeliveryFields(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4841 offset = dissect_ber_old_set(implicit_tag, actx, tree, tvb, offset,
4842 OtherMessageDeliveryFields_set, hf_index, ett_x411_OtherMessageDeliveryFields);
4846 static int dissect_other_fields(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
4847 return dissect_x411_OtherMessageDeliveryFields(FALSE, tvb, offset, actx, tree, hf_x411_other_fields);
4851 static const ber_old_sequence_t MessageDeliveryArgument_sequence[] = {
4852 { BER_CLASS_APP, 4, BER_FLAGS_NOOWNTAG, dissect_message_delivery_identifier },
4853 { BER_CLASS_UNI, BER_UNI_TAG_UTCTime, BER_FLAGS_NOOWNTAG, dissect_message_delivery_time },
4854 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_other_fields },
4855 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_content },
4860 dissect_x411_MessageDeliveryArgument(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4861 offset = dissect_ber_old_sequence(implicit_tag, actx, tree, tvb, offset,
4862 MessageDeliveryArgument_sequence, hf_index, ett_x411_MessageDeliveryArgument);
4870 dissect_x411_RecipientCertificate(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4871 offset = dissect_x509af_Certificates(implicit_tag, tvb, offset, actx, tree, hf_index);
4875 static int dissect_recipient_certificate_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
4876 return dissect_x411_RecipientCertificate(TRUE, tvb, offset, actx, tree, hf_x411_recipient_certificate);
4882 dissect_x411_ProofOfDelivery(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4883 offset = dissect_x411_Signature(implicit_tag, tvb, offset, actx, tree, hf_index);
4887 static int dissect_proof_of_delivery_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
4888 return dissect_x411_ProofOfDelivery(TRUE, tvb, offset, actx, tree, hf_x411_proof_of_delivery);
4892 static const ber_old_sequence_t MessageDeliveryResult_set[] = {
4893 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_recipient_certificate_impl },
4894 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_proof_of_delivery_impl },
4895 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
4900 dissect_x411_MessageDeliveryResult(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4901 offset = dissect_ber_old_set(implicit_tag, actx, tree, tvb, offset,
4902 MessageDeliveryResult_set, hf_index, ett_x411_MessageDeliveryResult);
4910 dissect_x411_SubjectSubmissionIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4911 offset = dissect_x411_MTSIdentifier(implicit_tag, tvb, offset, actx, tree, hf_index);
4915 static int dissect_subject_submission_identifier(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
4916 return dissect_x411_SubjectSubmissionIdentifier(FALSE, tvb, offset, actx, tree, hf_x411_subject_submission_identifier);
4922 dissect_x411_MTSActualRecipientName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4923 offset = dissect_x411_ORAddressAndOrDirectoryName(implicit_tag, tvb, offset, actx, tree, hf_index);
4927 static int dissect_actual_recipient_name(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
4928 return dissect_x411_MTSActualRecipientName(FALSE, tvb, offset, actx, tree, hf_x411_actual_recipient_name);
4930 static int dissect_actual_recipient_name_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
4931 return dissect_x411_MTSActualRecipientName(TRUE, tvb, offset, actx, tree, hf_x411_actual_recipient_name);
4935 static const ber_old_sequence_t PerRecipientReportDeliveryFields_set[] = {
4936 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_actual_recipient_name_impl },
4937 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_delivery_report_type_impl },
4938 { BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_converted_encoded_information_types },
4939 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_originally_intended_recipient_name_impl },
4940 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_supplementary_information_impl },
4941 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
4946 dissect_x411_PerRecipientReportDeliveryFields(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4947 offset = dissect_ber_old_set(implicit_tag, actx, tree, tvb, offset,
4948 PerRecipientReportDeliveryFields_set, hf_index, ett_x411_PerRecipientReportDeliveryFields);
4952 static int dissect_per_recipient_report_delivery_fields_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
4953 return dissect_x411_PerRecipientReportDeliveryFields(FALSE, tvb, offset, actx, tree, hf_x411_per_recipient_report_delivery_fields_item);
4957 static const ber_old_sequence_t SEQUENCE_OF_PerRecipientReportDeliveryFields_sequence_of[1] = {
4958 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_per_recipient_report_delivery_fields_item },
4962 dissect_x411_SEQUENCE_OF_PerRecipientReportDeliveryFields(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4963 offset = dissect_ber_old_sequence_of(implicit_tag, actx, tree, tvb, offset,
4964 SEQUENCE_OF_PerRecipientReportDeliveryFields_sequence_of, hf_index, ett_x411_SEQUENCE_OF_PerRecipientReportDeliveryFields);
4968 static int dissect_per_recipient_report_delivery_fields(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
4969 return dissect_x411_SEQUENCE_OF_PerRecipientReportDeliveryFields(FALSE, tvb, offset, actx, tree, hf_x411_per_recipient_report_delivery_fields);
4973 static const ber_old_sequence_t ReportDeliveryArgument_set[] = {
4974 { BER_CLASS_APP, 4, BER_FLAGS_NOOWNTAG, dissect_subject_submission_identifier },
4975 { BER_CLASS_APP, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_content_identifier },
4976 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_content_type },
4977 { BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_original_encoded_information_types },
4978 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
4979 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_per_recipient_report_delivery_fields },
4980 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_returned_content_impl },
4985 dissect_x411_ReportDeliveryArgument(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4986 offset = dissect_ber_old_set(implicit_tag, actx, tree, tvb, offset,
4987 ReportDeliveryArgument_set, hf_index, ett_x411_ReportDeliveryArgument);
4993 static const value_string x411_ReportDeliveryResult_vals[] = {
4994 { 0, "empty-result" },
4995 { 1, "extensions" },
4999 static const ber_old_choice_t ReportDeliveryResult_choice[] = {
5000 { 0, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_empty_result },
5001 { 1, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_extensions },
5002 { 0, 0, 0, 0, NULL }
5006 dissect_x411_ReportDeliveryResult(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5007 offset = dissect_ber_old_choice(actx, tree, tvb, offset,
5008 ReportDeliveryResult_choice, hf_index, ett_x411_ReportDeliveryResult,
5015 static const ber_old_sequence_t DeliveryControlArgument_set[] = {
5016 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_restrict_impl },
5017 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_permissible_operations_impl },
5018 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_permissible_maximum_content_length_impl },
5019 { BER_CLASS_APP, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_permissible_lowest_priority },
5020 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_permissible_content_types_impl },
5021 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_permissible_encoded_information_types },
5022 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_permissible_security_context_impl },
5023 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
5028 dissect_x411_DeliveryControlArgument(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5029 offset = dissect_ber_old_set(implicit_tag, actx, tree, tvb, offset,
5030 DeliveryControlArgument_set, hf_index, ett_x411_DeliveryControlArgument);
5036 static const ber_old_sequence_t DeliveryControlResult_set[] = {
5037 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_waiting_operations_impl },
5038 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_waiting_messages_impl },
5039 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_waiting_content_types_impl },
5040 { BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_waiting_encoded_information_types },
5041 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
5046 dissect_x411_DeliveryControlResult(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5047 offset = dissect_ber_old_set(implicit_tag, actx, tree, tvb, offset,
5048 DeliveryControlResult_set, hf_index, ett_x411_DeliveryControlResult);
5054 static const value_string x411_RefusedArgument_vals[] = {
5056 { 1, "user-address" },
5057 { 2, "deliverable-content-types" },
5058 { 3, "deliverable-maximum-content-length" },
5059 { 4, "deliverable-encoded-information-types-constraints" },
5060 { 5, "deliverable-security-labels" },
5061 { 6, "recipient-assigned-redirections" },
5062 { 7, "restricted-delivery" },
5063 { 8, "retrieve-registrations" },
5065 { 11, "permissible-operations" },
5066 { 12, "permissible-lowest-priority" },
5067 { 13, "permissible-encoded-information-types" },
5068 { 14, "permissible-content-types" },
5069 { 15, "permissible-maximum-content-length" },
5070 { 16, "permissible-security-context" },
5076 dissect_x411_RefusedArgument(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5077 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5082 static int dissect_built_in_argument_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
5083 return dissect_x411_RefusedArgument(TRUE, tvb, offset, actx, tree, hf_x411_built_in_argument);
5089 dissect_x411_T_refused_extension(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5090 #line 268 "x411.cnf"
5091 /*XXX not implemented yet */
5097 static int dissect_refused_extension(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
5098 return dissect_x411_T_refused_extension(FALSE, tvb, offset, actx, tree, hf_x411_refused_extension);
5102 static const value_string x411_T_refused_argument_vals[] = {
5103 { 0, "built-in-argument" },
5104 { 1, "refused-extension" },
5108 static const ber_old_choice_t T_refused_argument_choice[] = {
5109 { 0, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_built_in_argument_impl },
5110 { 1, BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_refused_extension },
5111 { 0, 0, 0, 0, NULL }
5115 dissect_x411_T_refused_argument(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5116 offset = dissect_ber_old_choice(actx, tree, tvb, offset,
5117 T_refused_argument_choice, hf_index, ett_x411_T_refused_argument,
5122 static int dissect_refused_argument(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
5123 return dissect_x411_T_refused_argument(FALSE, tvb, offset, actx, tree, hf_x411_refused_argument);
5127 static const value_string x411_RefusalReason_vals[] = {
5128 { 0, "facility-unavailable" },
5129 { 1, "facility-not-subscribed" },
5130 { 2, "parameter-unacceptable" },
5136 dissect_x411_RefusalReason(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5137 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5142 static int dissect_refusal_reason_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
5143 return dissect_x411_RefusalReason(TRUE, tvb, offset, actx, tree, hf_x411_refusal_reason);
5147 static const ber_old_sequence_t RefusedOperation_set[] = {
5148 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_refused_argument },
5149 { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_refusal_reason_impl },
5154 dissect_x411_RefusedOperation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5155 offset = dissect_ber_old_set(implicit_tag, actx, tree, tvb, offset,
5156 RefusedOperation_set, hf_index, ett_x411_RefusedOperation);
5164 dissect_x411_ProofOfDeliveryAlgorithmIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5165 offset = dissect_x509af_AlgorithmIdentifier(implicit_tag, tvb, offset, actx, tree, hf_index);
5173 dissect_x411_DeliveryControls(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5174 offset = dissect_x411_Controls(implicit_tag, tvb, offset, actx, tree, hf_index);
5182 dissect_x411_UserName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5183 offset = dissect_x411_ORAddressAndOptionalDirectoryName(implicit_tag, tvb, offset, actx, tree, hf_index);
5187 static int dissect_user_name(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
5188 return dissect_x411_UserName(FALSE, tvb, offset, actx, tree, hf_x411_user_name);
5192 static const ber_old_sequence_t T_x121_sequence[] = {
5193 { BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x121_address },
5194 { BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_tsap_id },
5199 dissect_x411_T_x121(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5200 offset = dissect_ber_old_sequence(implicit_tag, actx, tree, tvb, offset,
5201 T_x121_sequence, hf_index, ett_x411_T_x121);
5205 static int dissect_x121_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
5206 return dissect_x411_T_x121(TRUE, tvb, offset, actx, tree, hf_x411_x121);
5212 dissect_x411_PSAPAddress(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5213 offset = dissect_x509sat_PresentationAddress(implicit_tag, tvb, offset, actx, tree, hf_index);
5217 static int dissect_presentation_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
5218 return dissect_x411_PSAPAddress(TRUE, tvb, offset, actx, tree, hf_x411_presentation);
5222 static const value_string x411_UserAddress_vals[] = {
5224 { 1, "presentation" },
5228 static const ber_old_choice_t UserAddress_choice[] = {
5229 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x121_impl },
5230 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_presentation_impl },
5231 { 0, 0, 0, 0, NULL }
5235 dissect_x411_UserAddress(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5236 offset = dissect_ber_old_choice(actx, tree, tvb, offset,
5237 UserAddress_choice, hf_index, ett_x411_UserAddress,
5242 static int dissect_user_address_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
5243 return dissect_x411_UserAddress(TRUE, tvb, offset, actx, tree, hf_x411_user_address);
5247 static const ber_old_sequence_t SET_OF_Priority_set_of[1] = {
5248 { BER_CLASS_APP, 7, BER_FLAGS_NOOWNTAG, dissect_class_priority_item },
5252 dissect_x411_SET_OF_Priority(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5253 offset = dissect_ber_old_set_of(implicit_tag, actx, tree, tvb, offset,
5254 SET_OF_Priority_set_of, hf_index, ett_x411_SET_OF_Priority);
5258 static int dissect_class_priority_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
5259 return dissect_x411_SET_OF_Priority(TRUE, tvb, offset, actx, tree, hf_x411_class_priority);
5263 static const value_string x411_T_objects_vals[] = {
5272 dissect_x411_T_objects(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5273 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5278 static int dissect_objects_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
5279 return dissect_x411_T_objects(TRUE, tvb, offset, actx, tree, hf_x411_objects);
5283 static const asn_namedbit T_source_type_bits[] = {
5284 { 0, &hf_x411_T_source_type_originated_by, -1, -1, "originated-by", NULL },
5285 { 1, &hf_x411_T_source_type_redirected_by, -1, -1, "redirected-by", NULL },
5286 { 2, &hf_x411_T_source_type_dl_expanded_by, -1, -1, "dl-expanded-by", NULL },
5287 { 0, NULL, 0, 0, NULL, NULL }
5291 dissect_x411_T_source_type(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5292 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
5293 T_source_type_bits, hf_index, ett_x411_T_source_type,
5298 static int dissect_source_type(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
5299 return dissect_x411_T_source_type(FALSE, tvb, offset, actx, tree, hf_x411_source_type);
5303 static const value_string x411_ExactOrPattern_vals[] = {
5304 { 0, "exact-match" },
5305 { 1, "pattern-match" },
5309 static const ber_old_choice_t ExactOrPattern_choice[] = {
5310 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_exact_match_impl },
5311 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_pattern_match_impl },
5312 { 0, 0, 0, 0, NULL }
5316 dissect_x411_ExactOrPattern(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5317 offset = dissect_ber_old_choice(actx, tree, tvb, offset,
5318 ExactOrPattern_choice, hf_index, ett_x411_ExactOrPattern,
5323 static int dissect_source_name(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
5324 return dissect_x411_ExactOrPattern(FALSE, tvb, offset, actx, tree, hf_x411_source_name);
5328 static const ber_old_sequence_t Restriction_set[] = {
5329 { BER_CLASS_UNI, BER_UNI_TAG_BOOLEAN, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_permitted },
5330 { BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_source_type },
5331 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_source_name },
5336 dissect_x411_Restriction(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5337 offset = dissect_ber_old_set(implicit_tag, actx, tree, tvb, offset,
5338 Restriction_set, hf_index, ett_x411_Restriction);
5342 static int dissect_applies_only_to_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
5343 return dissect_x411_Restriction(FALSE, tvb, offset, actx, tree, hf_x411_applies_only_to_item);
5345 static int dissect_RestrictedDelivery_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
5346 return dissect_x411_Restriction(FALSE, tvb, offset, actx, tree, hf_x411_RestrictedDelivery_item);
5350 static const ber_old_sequence_t SEQUENCE_OF_Restriction_sequence_of[1] = {
5351 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_applies_only_to_item },
5355 dissect_x411_SEQUENCE_OF_Restriction(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5356 offset = dissect_ber_old_sequence_of(implicit_tag, actx, tree, tvb, offset,
5357 SEQUENCE_OF_Restriction_sequence_of, hf_index, ett_x411_SEQUENCE_OF_Restriction);
5361 static int dissect_applies_only_to_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
5362 return dissect_x411_SEQUENCE_OF_Restriction(TRUE, tvb, offset, actx, tree, hf_x411_applies_only_to);
5366 static const ber_old_sequence_t MessageClass_set[] = {
5367 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_content_types_impl },
5368 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_maximum_content_length_impl },
5369 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_encoded_information_types_constraints_impl },
5370 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_security_labels_impl },
5371 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_class_priority_impl },
5372 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_objects_impl },
5373 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_applies_only_to_impl },
5374 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
5379 dissect_x411_MessageClass(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5380 offset = dissect_ber_old_set(implicit_tag, actx, tree, tvb, offset,
5381 MessageClass_set, hf_index, ett_x411_MessageClass);
5389 dissect_x411_DeliverableClass(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5390 offset = dissect_x411_MessageClass(implicit_tag, tvb, offset, actx, tree, hf_index);
5394 static int dissect_deliverable_class_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
5395 return dissect_x411_DeliverableClass(FALSE, tvb, offset, actx, tree, hf_x411_deliverable_class_item);
5399 static const ber_old_sequence_t SET_OF_DeliverableClass_set_of[1] = {
5400 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_deliverable_class_item },
5404 dissect_x411_SET_OF_DeliverableClass(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5405 offset = dissect_ber_old_set_of(implicit_tag, actx, tree, tvb, offset,
5406 SET_OF_DeliverableClass_set_of, hf_index, ett_x411_SET_OF_DeliverableClass);
5410 static int dissect_deliverable_class(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
5411 return dissect_x411_SET_OF_DeliverableClass(FALSE, tvb, offset, actx, tree, hf_x411_deliverable_class);
5417 dissect_x411_DefaultDeliveryControls(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5418 offset = dissect_x411_Controls(implicit_tag, tvb, offset, actx, tree, hf_index);
5422 static int dissect_default_delivery_controls(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
5423 return dissect_x411_DefaultDeliveryControls(FALSE, tvb, offset, actx, tree, hf_x411_default_delivery_controls);
5429 dissect_x411_RedirectionClass(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5430 offset = dissect_x411_MessageClass(implicit_tag, tvb, offset, actx, tree, hf_index);
5434 static int dissect_redirection_classes_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
5435 return dissect_x411_RedirectionClass(FALSE, tvb, offset, actx, tree, hf_x411_redirection_classes_item);
5439 static const ber_old_sequence_t SET_OF_RedirectionClass_set_of[1] = {
5440 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_redirection_classes_item },
5444 dissect_x411_SET_OF_RedirectionClass(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5445 offset = dissect_ber_old_set_of(implicit_tag, actx, tree, tvb, offset,
5446 SET_OF_RedirectionClass_set_of, hf_index, ett_x411_SET_OF_RedirectionClass);
5450 static int dissect_redirection_classes_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
5451 return dissect_x411_SET_OF_RedirectionClass(TRUE, tvb, offset, actx, tree, hf_x411_redirection_classes);
5457 dissect_x411_RecipientAssignedAlternateRecipient(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5458 offset = dissect_x411_ORAddressAndOrDirectoryName(implicit_tag, tvb, offset, actx, tree, hf_index);
5462 static int dissect_recipient_assigned_alternate_recipient_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
5463 return dissect_x411_RecipientAssignedAlternateRecipient(TRUE, tvb, offset, actx, tree, hf_x411_recipient_assigned_alternate_recipient);
5467 static const ber_old_sequence_t RecipientRedirection_set[] = {
5468 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_redirection_classes_impl },
5469 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_recipient_assigned_alternate_recipient_impl },
5474 dissect_x411_RecipientRedirection(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5475 offset = dissect_ber_old_set(implicit_tag, actx, tree, tvb, offset,
5476 RecipientRedirection_set, hf_index, ett_x411_RecipientRedirection);
5480 static int dissect_Redirections_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
5481 return dissect_x411_RecipientRedirection(FALSE, tvb, offset, actx, tree, hf_x411_Redirections_item);
5485 static const ber_old_sequence_t Redirections_sequence_of[1] = {
5486 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_Redirections_item },
5490 dissect_x411_Redirections(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5491 offset = dissect_ber_old_sequence_of(implicit_tag, actx, tree, tvb, offset,
5492 Redirections_sequence_of, hf_index, ett_x411_Redirections);
5496 static int dissect_redirections_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
5497 return dissect_x411_Redirections(TRUE, tvb, offset, actx, tree, hf_x411_redirections);
5501 static const ber_old_sequence_t RestrictedDelivery_sequence_of[1] = {
5502 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_RestrictedDelivery_item },
5506 dissect_x411_RestrictedDelivery(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5507 offset = dissect_ber_old_sequence_of(implicit_tag, actx, tree, tvb, offset,
5508 RestrictedDelivery_sequence_of, hf_index, ett_x411_RestrictedDelivery);
5512 static int dissect_restricted_delivery_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
5513 return dissect_x411_RestrictedDelivery(TRUE, tvb, offset, actx, tree, hf_x411_restricted_delivery);
5517 static const asn_namedbit T_standard_parameters_bits[] = {
5518 { 0, &hf_x411_T_standard_parameters_user_name, -1, -1, "user-name", NULL },
5519 { 1, &hf_x411_T_standard_parameters_user_address, -1, -1, "user-address", NULL },
5520 { 2, &hf_x411_T_standard_parameters_deliverable_class, -1, -1, "deliverable-class", NULL },
5521 { 3, &hf_x411_T_standard_parameters_default_delivery_controls, -1, -1, "default-delivery-controls", NULL },
5522 { 4, &hf_x411_T_standard_parameters_redirections, -1, -1, "redirections", NULL },
5523 { 5, &hf_x411_T_standard_parameters_restricted_delivery, -1, -1, "restricted-delivery", NULL },
5524 { 0, NULL, 0, 0, NULL, NULL }
5528 dissect_x411_T_standard_parameters(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5529 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
5530 T_standard_parameters_bits, hf_index, ett_x411_T_standard_parameters,
5535 static int dissect_standard_parameters_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
5536 return dissect_x411_T_standard_parameters(TRUE, tvb, offset, actx, tree, hf_x411_standard_parameters);
5542 dissect_x411_T_type_extensions_item(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5543 #line 245 "x411.cnf"
5544 /*XXX not implemented yet */
5550 static int dissect_type_extensions_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
5551 return dissect_x411_T_type_extensions_item(FALSE, tvb, offset, actx, tree, hf_x411_type_extensions_item);
5555 static const ber_old_sequence_t T_type_extensions_set_of[1] = {
5556 { BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_type_extensions_item },
5560 dissect_x411_T_type_extensions(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5561 offset = dissect_ber_old_set_of(implicit_tag, actx, tree, tvb, offset,
5562 T_type_extensions_set_of, hf_index, ett_x411_T_type_extensions);
5566 static int dissect_type_extensions_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
5567 return dissect_x411_T_type_extensions(TRUE, tvb, offset, actx, tree, hf_x411_type_extensions);
5571 static const ber_old_sequence_t RegistrationTypes_sequence[] = {
5572 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_standard_parameters_impl },
5573 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_type_extensions_impl },
5578 dissect_x411_RegistrationTypes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5579 offset = dissect_ber_old_sequence(implicit_tag, actx, tree, tvb, offset,
5580 RegistrationTypes_sequence, hf_index, ett_x411_RegistrationTypes);
5584 static int dissect_retrieve_registrations_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
5585 return dissect_x411_RegistrationTypes(TRUE, tvb, offset, actx, tree, hf_x411_retrieve_registrations);
5589 static const ber_old_sequence_t RegisterArgument_set[] = {
5590 { BER_CLASS_APP, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_user_name },
5591 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_user_address_impl },
5592 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_deliverable_class },
5593 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_default_delivery_controls },
5594 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_redirections_impl },
5595 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_restricted_delivery_impl },
5596 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_retrieve_registrations_impl },
5597 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
5602 dissect_x411_RegisterArgument(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5603 offset = dissect_ber_old_set(implicit_tag, actx, tree, tvb, offset,
5604 RegisterArgument_set, hf_index, ett_x411_RegisterArgument);
5608 static int dissect_registered_information_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
5609 return dissect_x411_RegisterArgument(TRUE, tvb, offset, actx, tree, hf_x411_registered_information);
5613 static const ber_old_sequence_t T_non_empty_result_set[] = {
5614 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_registered_information_impl },
5615 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
5620 dissect_x411_T_non_empty_result(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5621 offset = dissect_ber_old_set(implicit_tag, actx, tree, tvb, offset,
5622 T_non_empty_result_set, hf_index, ett_x411_T_non_empty_result);
5626 static int dissect_non_empty_result(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
5627 return dissect_x411_T_non_empty_result(FALSE, tvb, offset, actx, tree, hf_x411_non_empty_result);
5631 static const value_string x411_RegisterResult_vals[] = {
5632 { 0, "empty-result" },
5633 { 1, "non-empty-result" },
5637 static const ber_old_choice_t RegisterResult_choice[] = {
5638 { 0, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_empty_result },
5639 { 1, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_non_empty_result },
5640 { 0, 0, 0, 0, NULL }
5644 dissect_x411_RegisterResult(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5645 offset = dissect_ber_old_choice(actx, tree, tvb, offset,
5646 RegisterResult_choice, hf_index, ett_x411_RegisterResult,
5653 static const ber_old_sequence_t ChangeCredentialsArgument_set[] = {
5654 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_old_credentials_impl },
5655 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_new_credentials_impl },
5660 dissect_x411_ChangeCredentialsArgument(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5661 offset = dissect_ber_old_set(implicit_tag, actx, tree, tvb, offset,
5662 ChangeCredentialsArgument_set, hf_index, ett_x411_ChangeCredentialsArgument);
5668 static const ber_old_sequence_t MessageDeliveryEnvelope_sequence[] = {
5669 { BER_CLASS_APP, 4, BER_FLAGS_NOOWNTAG, dissect_message_delivery_identifier },
5670 { BER_CLASS_UNI, BER_UNI_TAG_UTCTime, BER_FLAGS_NOOWNTAG, dissect_message_delivery_time },
5671 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_other_fields },
5676 dissect_x411_MessageDeliveryEnvelope(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5677 offset = dissect_ber_old_sequence(implicit_tag, actx, tree, tvb, offset,
5678 MessageDeliveryEnvelope_sequence, hf_index, ett_x411_MessageDeliveryEnvelope);
5684 static const ber_old_sequence_t ReportDeliveryEnvelope_set[] = {
5685 { BER_CLASS_APP, 4, BER_FLAGS_NOOWNTAG, dissect_subject_submission_identifier },
5686 { BER_CLASS_APP, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_content_identifier },
5687 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_content_type },
5688 { BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_original_encoded_information_types },
5689 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
5690 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_per_recipient_report_delivery_fields },
5695 dissect_x411_ReportDeliveryEnvelope(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5696 offset = dissect_ber_old_set(implicit_tag, actx, tree, tvb, offset,
5697 ReportDeliveryEnvelope_set, hf_index, ett_x411_ReportDeliveryEnvelope);
5703 static const value_string x411_RecipientReassignmentProhibited_vals[] = {
5704 { 0, "recipient-reassignment-allowed" },
5705 { 1, "recipient-reassignment-prohibited" },
5711 dissect_x411_RecipientReassignmentProhibited(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5712 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5721 dissect_x411_MTSOriginatorRequestedAlternateRecipient(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5722 offset = dissect_x411_ORAddressAndOrDirectoryName(implicit_tag, tvb, offset, actx, tree, hf_index);
5728 static const value_string x411_DLExpansionProhibited_vals[] = {
5729 { 0, "dl-expansion-allowed" },
5730 { 1, "dl-expansion-prohibited" },
5736 dissect_x411_DLExpansionProhibited(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5737 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5744 static const value_string x411_ConversionWithLossProhibited_vals[] = {
5745 { 0, "conversion-with-loss-allowed" },
5746 { 1, "conversion-with-loss-prohibited" },
5752 dissect_x411_ConversionWithLossProhibited(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5753 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5762 dissect_x411_LatestDeliveryTime(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5763 offset = dissect_x411_Time(implicit_tag, tvb, offset, actx, tree, hf_index);
5769 static const value_string x411_RequestedDeliveryMethod_item_vals[] = {
5770 { 0, "any-delivery-method" },
5771 { 1, "mhs-delivery" },
5772 { 2, "physical-delivery" },
5773 { 3, "telex-delivery" },
5774 { 4, "teletex-delivery" },
5775 { 5, "g3-facsimile-delivery" },
5776 { 6, "g4-facsimile-delivery" },
5777 { 7, "ia5-terminal-delivery" },
5778 { 8, "videotex-delivery" },
5779 { 9, "telephone-delivery" },
5785 dissect_x411_RequestedDeliveryMethod_item(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5786 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5791 static int dissect_RequestedDeliveryMethod_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
5792 return dissect_x411_RequestedDeliveryMethod_item(FALSE, tvb, offset, actx, tree, hf_x411_RequestedDeliveryMethod_item);
5796 static const ber_old_sequence_t RequestedDeliveryMethod_sequence_of[1] = {
5797 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_RequestedDeliveryMethod_item },
5801 dissect_x411_RequestedDeliveryMethod(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5802 offset = dissect_ber_old_sequence_of(implicit_tag, actx, tree, tvb, offset,
5803 RequestedDeliveryMethod_sequence_of, hf_index, ett_x411_RequestedDeliveryMethod);
5809 static const value_string x411_PhysicalForwardingProhibited_vals[] = {
5810 { 0, "physical-forwarding-allowed" },
5811 { 1, "physical-forwarding-prohibited" },
5817 dissect_x411_PhysicalForwardingProhibited(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5818 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5825 static const value_string x411_PhysicalForwardingAddressRequest_vals[] = {
5826 { 0, "physical-forwarding-address-not-requested" },
5827 { 1, "physical-forwarding-address-requested" },
5833 dissect_x411_PhysicalForwardingAddressRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5834 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5841 static const asn_namedbit PhysicalDeliveryModes_bits[] = {
5842 { 0, &hf_x411_PhysicalDeliveryModes_ordinary_mail, -1, -1, "ordinary-mail", NULL },
5843 { 1, &hf_x411_PhysicalDeliveryModes_special_delivery, -1, -1, "special-delivery", NULL },
5844 { 2, &hf_x411_PhysicalDeliveryModes_express_mail, -1, -1, "express-mail", NULL },
5845 { 3, &hf_x411_PhysicalDeliveryModes_counter_collection, -1, -1, "counter-collection", NULL },
5846 { 4, &hf_x411_PhysicalDeliveryModes_counter_collection_with_telephone_advice, -1, -1, "counter-collection-with-telephone-advice", NULL },
5847 { 5, &hf_x411_PhysicalDeliveryModes_counter_collection_with_telex_advice, -1, -1, "counter-collection-with-telex-advice", NULL },
5848 { 6, &hf_x411_PhysicalDeliveryModes_counter_collection_with_teletex_advice, -1, -1, "counter-collection-with-teletex-advice", NULL },
5849 { 7, &hf_x411_PhysicalDeliveryModes_bureau_fax_delivery, -1, -1, "bureau-fax-delivery", NULL },
5850 { 0, NULL, 0, 0, NULL, NULL }
5854 dissect_x411_PhysicalDeliveryModes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5855 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
5856 PhysicalDeliveryModes_bits, hf_index, ett_x411_PhysicalDeliveryModes,
5863 static const value_string x411_RegisteredMailType_vals[] = {
5864 { 0, "non-registered-mail" },
5865 { 1, "registered-mail" },
5866 { 2, "registered-mail-to-addressee-in-person" },
5872 dissect_x411_RegisteredMailType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5873 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5882 dissect_x411_RecipientNumberForAdvice(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5883 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString,
5884 actx, tree, tvb, offset, hf_index,
5893 dissect_x411_PhysicalRenditionAttributes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5894 offset = dissect_ber_object_identifier(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
5900 static const ber_old_sequence_t ORAddress_sequence[] = {
5901 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_built_in_standard_attributes },
5902 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_built_in_domain_defined_attributes },
5903 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extension_attributes },
5908 dissect_x411_ORAddress(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5909 #line 581 "x411.cnf"
5911 oraddress = ep_alloc(MAX_ORA_STR_LEN); oraddress[0] = '\0';
5912 doing_address = TRUE;
5913 address_item = NULL;
5915 offset = dissect_ber_old_sequence(implicit_tag, actx, tree, tvb, offset,
5916 ORAddress_sequence, hf_index, ett_x411_ORAddress);
5919 if(*oraddress && address_item)
5920 proto_item_append_text(address_item, " %s/", oraddress);
5922 doing_address = FALSE;
5932 dissect_x411_OriginatorReturnAddress(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5933 offset = dissect_x411_ORAddress(implicit_tag, tvb, offset, actx, tree, hf_index);
5939 static const value_string x411_PhysicalDeliveryReportRequest_vals[] = {
5940 { 0, "return-of-undeliverable-mail-by-PDS" },
5941 { 1, "return-of-notification-by-PDS" },
5942 { 2, "return-of-notification-by-MHS" },
5943 { 3, "return-of-notification-by-MHS-and-PDS" },
5949 dissect_x411_PhysicalDeliveryReportRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5950 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5959 dissect_x411_OriginatorCertificate(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5960 offset = dissect_x509af_Certificates(implicit_tag, tvb, offset, actx, tree, hf_index);
5968 dissect_x411_MessageToken(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5969 offset = dissect_x411_Token(implicit_tag, tvb, offset, actx, tree, hf_index);
5977 dissect_x411_ContentConfidentialityAlgorithmIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5978 offset = dissect_x509af_AlgorithmIdentifier(implicit_tag, tvb, offset, actx, tree, hf_index);
5982 static int dissect_content_confidentiality_algorithm_identifier_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
5983 return dissect_x411_ContentConfidentialityAlgorithmIdentifier(TRUE, tvb, offset, actx, tree, hf_x411_content_confidentiality_algorithm_identifier);
5989 dissect_x411_ContentIntegrityCheck(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5990 offset = dissect_x411_Signature(implicit_tag, tvb, offset, actx, tree, hf_index);
5994 static int dissect_content_integrity_check_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
5995 return dissect_x411_ContentIntegrityCheck(TRUE, tvb, offset, actx, tree, hf_x411_content_integrity_check);
6001 dissect_x411_ContentIntegrityAlgorithmIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6002 offset = dissect_x509af_AlgorithmIdentifier(implicit_tag, tvb, offset, actx, tree, hf_index);
6010 dissect_x411_MessageOriginAuthenticationCheck(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6011 offset = dissect_x411_Signature(implicit_tag, tvb, offset, actx, tree, hf_index);
6019 dissect_x411_MessageOriginAuthenticationAlgorithmIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6020 offset = dissect_x509af_AlgorithmIdentifier(implicit_tag, tvb, offset, actx, tree, hf_index);
6028 dissect_x411_MessageSecurityLabel(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6029 offset = dissect_x411_SecurityLabel(implicit_tag, tvb, offset, actx, tree, hf_index);
6033 static int dissect_message_security_label_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
6034 return dissect_x411_MessageSecurityLabel(TRUE, tvb, offset, actx, tree, hf_x411_message_security_label);
6038 static const value_string x411_ProofOfSubmissionRequest_vals[] = {
6039 { 0, "proof-of-submission-not-requested" },
6040 { 1, "proof-of-submission-requested" },
6046 dissect_x411_ProofOfSubmissionRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6047 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
6054 static const value_string x411_ProofOfDeliveryRequest_vals[] = {
6055 { 0, "proof-of-delivery-not-requested" },
6056 { 1, "proof-of-delivery-requested" },
6062 dissect_x411_ProofOfDeliveryRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6063 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
6068 static int dissect_proof_of_delivery_request_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
6069 return dissect_x411_ProofOfDeliveryRequest(TRUE, tvb, offset, actx, tree, hf_x411_proof_of_delivery_request);
6073 static const value_string x411_ContentCorrelator_vals[] = {
6079 static const ber_old_choice_t ContentCorrelator_choice[] = {
6080 { 0, BER_CLASS_UNI, BER_UNI_TAG_IA5String, BER_FLAGS_NOOWNTAG, dissect_ia5text },
6081 { 1, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_octets },
6082 { 0, 0, 0, 0, NULL }
6086 dissect_x411_ContentCorrelator(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6087 offset = dissect_ber_old_choice(actx, tree, tvb, offset,
6088 ContentCorrelator_choice, hf_index, ett_x411_ContentCorrelator,
6097 dissect_x411_ProbeOriginAuthenticationCheck(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6098 offset = dissect_x411_Signature(implicit_tag, tvb, offset, actx, tree, hf_index);
6106 dissect_x411_ProbeOriginAuthenticationAlgorithmIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6107 offset = dissect_x509af_AlgorithmIdentifier(implicit_tag, tvb, offset, actx, tree, hf_index);
6113 static const ber_old_sequence_t IntendedRecipientName_sequence[] = {
6114 { BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_intended_recipient },
6115 { BER_CLASS_UNI, BER_UNI_TAG_UTCTime, BER_FLAGS_NOOWNTAG, dissect_redirection_time },
6120 dissect_x411_IntendedRecipientName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6121 offset = dissect_ber_old_sequence(implicit_tag, actx, tree, tvb, offset,
6122 IntendedRecipientName_sequence, hf_index, ett_x411_IntendedRecipientName);
6126 static int dissect_intended_recipient_name(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
6127 return dissect_x411_IntendedRecipientName(FALSE, tvb, offset, actx, tree, hf_x411_intended_recipient_name);
6131 static const value_string x411_RedirectionReason_vals[] = {
6132 { 0, "recipient-assigned-alternate-recipient" },
6133 { 1, "originator-requested-alternate-recipient" },
6134 { 2, "recipient-MD-assigned-alternate-recipient" },
6135 { 3, "directory-look-up" },
6142 dissect_x411_RedirectionReason(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6143 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
6148 static int dissect_redirection_reason(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
6149 return dissect_x411_RedirectionReason(FALSE, tvb, offset, actx, tree, hf_x411_redirection_reason);
6153 static const ber_old_sequence_t Redirection_sequence[] = {
6154 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_intended_recipient_name },
6155 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_redirection_reason },
6160 dissect_x411_Redirection(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6161 offset = dissect_ber_old_sequence(implicit_tag, actx, tree, tvb, offset,
6162 Redirection_sequence, hf_index, ett_x411_Redirection);
6166 static int dissect_RedirectionHistory_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
6167 return dissect_x411_Redirection(FALSE, tvb, offset, actx, tree, hf_x411_RedirectionHistory_item);
6171 static const ber_old_sequence_t RedirectionHistory_sequence_of[1] = {
6172 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_RedirectionHistory_item },
6176 dissect_x411_RedirectionHistory(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6177 offset = dissect_ber_old_sequence_of(implicit_tag, actx, tree, tvb, offset,
6178 RedirectionHistory_sequence_of, hf_index, ett_x411_RedirectionHistory);
6184 static const ber_old_sequence_t DLExpansion_sequence[] = {
6185 { BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_dl },
6186 { BER_CLASS_UNI, BER_UNI_TAG_UTCTime, BER_FLAGS_NOOWNTAG, dissect_dl_expansion_time },
6191 dissect_x411_DLExpansion(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6192 offset = dissect_ber_old_sequence(implicit_tag, actx, tree, tvb, offset,
6193 DLExpansion_sequence, hf_index, ett_x411_DLExpansion);
6197 static int dissect_DLExpansionHistory_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
6198 return dissect_x411_DLExpansion(FALSE, tvb, offset, actx, tree, hf_x411_DLExpansionHistory_item);
6202 static const ber_old_sequence_t DLExpansionHistory_sequence_of[1] = {
6203 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_DLExpansionHistory_item },
6207 dissect_x411_DLExpansionHistory(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6208 offset = dissect_ber_old_sequence_of(implicit_tag, actx, tree, tvb, offset,
6209 DLExpansionHistory_sequence_of, hf_index, ett_x411_DLExpansionHistory);
6217 dissect_x411_PhysicalForwardingAddress(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6218 offset = dissect_x411_ORAddressAndOptionalDirectoryName(implicit_tag, tvb, offset, actx, tree, hf_index);
6224 static const ber_old_sequence_t OriginatorAndDLExpansion_sequence[] = {
6225 { BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_originator_or_dl_name },
6226 { BER_CLASS_UNI, BER_UNI_TAG_UTCTime, BER_FLAGS_NOOWNTAG, dissect_origination_or_expansion_time },
6231 dissect_x411_OriginatorAndDLExpansion(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6232 offset = dissect_ber_old_sequence(implicit_tag, actx, tree, tvb, offset,
6233 OriginatorAndDLExpansion_sequence, hf_index, ett_x411_OriginatorAndDLExpansion);
6237 static int dissect_OriginatorAndDLExpansionHistory_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
6238 return dissect_x411_OriginatorAndDLExpansion(FALSE, tvb, offset, actx, tree, hf_x411_OriginatorAndDLExpansionHistory_item);
6242 static const ber_old_sequence_t OriginatorAndDLExpansionHistory_sequence_of[1] = {
6243 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_OriginatorAndDLExpansionHistory_item },
6247 dissect_x411_OriginatorAndDLExpansionHistory(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6248 offset = dissect_ber_old_sequence_of(implicit_tag, actx, tree, tvb, offset,
6249 OriginatorAndDLExpansionHistory_sequence_of, hf_index, ett_x411_OriginatorAndDLExpansionHistory);
6257 dissect_x411_ReportingDLName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6258 offset = dissect_x411_ORAddressAndOptionalDirectoryName(implicit_tag, tvb, offset, actx, tree, hf_index);
6266 dissect_x411_ReportingMTACertificate(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6267 offset = dissect_x509af_Certificates(implicit_tag, tvb, offset, actx, tree, hf_index);
6275 dissect_x411_ReportOriginAuthenticationCheck(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6276 offset = dissect_x411_Signature(implicit_tag, tvb, offset, actx, tree, hf_index);
6284 dissect_x411_ReportOriginAuthenticationAlgorithmIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6285 offset = dissect_x509af_AlgorithmIdentifier(implicit_tag, tvb, offset, actx, tree, hf_index);
6291 static const ber_old_sequence_t PerRecipientDeliveryReportFields_sequence[] = {
6292 { BER_CLASS_UNI, BER_UNI_TAG_UTCTime, BER_FLAGS_NOOWNTAG, dissect_message_delivery_time },
6293 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_type_of_MTS_user },
6294 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_recipient_certificate_impl },
6299 dissect_x411_PerRecipientDeliveryReportFields(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6300 offset = dissect_ber_old_sequence(implicit_tag, actx, tree, tvb, offset,
6301 PerRecipientDeliveryReportFields_sequence, hf_index, ett_x411_PerRecipientDeliveryReportFields);
6305 static int dissect_report_type_delivery_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
6306 return dissect_x411_PerRecipientDeliveryReportFields(TRUE, tvb, offset, actx, tree, hf_x411_report_type_delivery);
6310 static const ber_old_sequence_t PerRecipientNonDeliveryReportFields_sequence[] = {
6311 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_non_delivery_reason_code },
6312 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_non_delivery_diagnostic_code },
6317 dissect_x411_PerRecipientNonDeliveryReportFields(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6318 offset = dissect_ber_old_sequence(implicit_tag, actx, tree, tvb, offset,
6319 PerRecipientNonDeliveryReportFields_sequence, hf_index, ett_x411_PerRecipientNonDeliveryReportFields);
6323 static int dissect_non_delivery_report_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
6324 return dissect_x411_PerRecipientNonDeliveryReportFields(TRUE, tvb, offset, actx, tree, hf_x411_non_delivery_report);
6328 static const value_string x411_T_report_type_vals[] = {
6330 { 1, "non-delivery" },
6334 static const ber_old_choice_t T_report_type_choice[] = {
6335 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_report_type_delivery_impl },
6336 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_non_delivery_report_impl },
6337 { 0, 0, 0, 0, NULL }
6341 dissect_x411_T_report_type(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6342 offset = dissect_ber_old_choice(actx, tree, tvb, offset,
6343 T_report_type_choice, hf_index, ett_x411_T_report_type,
6348 static int dissect_report_type(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
6349 return dissect_x411_T_report_type(FALSE, tvb, offset, actx, tree, hf_x411_report_type);
6353 static const ber_old_sequence_t PerRecipientReportFields_sequence[] = {
6354 { BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_actual_recipient_name },
6355 { BER_CLASS_APP, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_originally_intended_recipient_name },
6356 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_report_type },
6361 dissect_x411_PerRecipientReportFields(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6362 offset = dissect_ber_old_sequence(implicit_tag, actx, tree, tvb, offset,
6363 PerRecipientReportFields_sequence, hf_index, ett_x411_PerRecipientReportFields);
6371 dissect_x411_OriginatingMTACertificate(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6372 offset = dissect_x509af_Certificates(implicit_tag, tvb, offset, actx, tree, hf_index);
6380 dissect_x411_ProofOfSubmission(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6381 offset = dissect_x411_Signature(implicit_tag, tvb, offset, actx, tree, hf_index);
6387 static const ber_old_sequence_t ReportingMTAName_sequence[] = {
6388 { BER_CLASS_APP, 3, BER_FLAGS_NOOWNTAG, dissect_domain },
6389 { BER_CLASS_UNI, BER_UNI_TAG_IA5String, BER_FLAGS_NOOWNTAG, dissect_mta_name },
6390 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mta_directory_name_impl },
6395 dissect_x411_ReportingMTAName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6396 offset = dissect_ber_old_sequence(implicit_tag, actx, tree, tvb, offset,
6397 ReportingMTAName_sequence, hf_index, ett_x411_ReportingMTAName);
6403 static const value_string x411_ExtendedCertificate_vals[] = {
6404 { 0, "directory-entry" },
6405 { 1, "certificate" },
6409 static const ber_old_choice_t ExtendedCertificate_choice[] = {
6410 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_directory_entry_impl },
6411 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_certificate_impl },
6412 { 0, 0, 0, 0, NULL }
6416 dissect_x411_ExtendedCertificate(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6417 offset = dissect_ber_old_choice(actx, tree, tvb, offset,
6418 ExtendedCertificate_choice, hf_index, ett_x411_ExtendedCertificate,
6423 static int dissect_ExtendedCertificates_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
6424 return dissect_x411_ExtendedCertificate(FALSE, tvb, offset, actx, tree, hf_x411_ExtendedCertificates_item);
6428 static const ber_old_sequence_t ExtendedCertificates_set_of[1] = {
6429 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ExtendedCertificates_item },
6433 dissect_x411_ExtendedCertificates(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6434 offset = dissect_ber_old_set_of(implicit_tag, actx, tree, tvb, offset,
6435 ExtendedCertificates_set_of, hf_index, ett_x411_ExtendedCertificates);
6441 static const ber_old_sequence_t DLExemptedRecipients_set_of[1] = {
6442 { BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_DLExemptedRecipients_item },
6446 dissect_x411_DLExemptedRecipients(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6447 offset = dissect_ber_old_set_of(implicit_tag, actx, tree, tvb, offset,
6448 DLExemptedRecipients_set_of, hf_index, ett_x411_DLExemptedRecipients);
6454 static const ber_old_sequence_t CertificateSelectors_set[] = {
6455 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_encryption_recipient_impl },
6456 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_encryption_originator_impl },
6457 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_selectors_content_integrity_check_impl },
6458 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_token_signature_impl },
6459 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_message_origin_authentication_impl },
6464 dissect_x411_CertificateSelectors(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6465 offset = dissect_ber_old_set(implicit_tag, actx, tree, tvb, offset,
6466 CertificateSelectors_set, hf_index, ett_x411_CertificateSelectors);
6474 dissect_x411_CommonName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6475 #line 492 "x411.cnf"
6476 tvbuff_t *string = NULL;
6478 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
6479 actx, tree, tvb, offset, hf_index,
6483 if(doing_address && string) {
6484 g_strlcat(oraddress, "/CN=", MAX_ORA_STR_LEN);
6485 g_strlcat(oraddress, tvb_format_text(string, 0, tvb_length(string)), MAX_ORA_STR_LEN);
6496 dissect_x411_TeletexCommonName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6497 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString,
6498 actx, tree, tvb, offset, hf_index,
6507 dissect_x411_BMPString(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6508 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_BMPString,
6509 actx, tree, tvb, offset, hf_index,
6514 static int dissect_two_octets(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
6515 return dissect_x411_BMPString(FALSE, tvb, offset, actx, tree, hf_x411_two_octets);
6521 dissect_x411_UniversalString(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6522 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_UniversalString,
6523 actx, tree, tvb, offset, hf_index,
6528 static int dissect_four_octets(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
6529 return dissect_x411_UniversalString(FALSE, tvb, offset, actx, tree, hf_x411_four_octets);
6533 static const value_string x411_T_character_encoding_vals[] = {
6534 { 0, "two-octets" },
6535 { 1, "four-octets" },
6539 static const ber_old_choice_t T_character_encoding_choice[] = {
6540 { 0, BER_CLASS_UNI, BER_UNI_TAG_BMPString, BER_FLAGS_NOOWNTAG, dissect_two_octets },
6541 { 1, BER_CLASS_UNI, BER_UNI_TAG_UniversalString, BER_FLAGS_NOOWNTAG, dissect_four_octets },
6542 { 0, 0, 0, 0, NULL }
6546 dissect_x411_T_character_encoding(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6547 offset = dissect_ber_old_choice(actx, tree, tvb, offset,
6548 T_character_encoding_choice, hf_index, ett_x411_T_character_encoding,
6553 static int dissect_character_encoding(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
6554 return dissect_x411_T_character_encoding(FALSE, tvb, offset, actx, tree, hf_x411_character_encoding);
6558 static const ber_old_sequence_t UniversalOrBMPString_set[] = {
6559 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_character_encoding },
6560 { BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_iso_639_language_code },
6565 dissect_x411_UniversalOrBMPString(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6566 offset = dissect_ber_old_set(implicit_tag, actx, tree, tvb, offset,
6567 UniversalOrBMPString_set, hf_index, ett_x411_UniversalOrBMPString);
6571 static int dissect_universal_surname_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
6572 return dissect_x411_UniversalOrBMPString(TRUE, tvb, offset, actx, tree, hf_x411_universal_surname);
6574 static int dissect_universal_given_name_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
6575 return dissect_x411_UniversalOrBMPString(TRUE, tvb, offset, actx, tree, hf_x411_universal_given_name);
6577 static int dissect_universal_initials_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
6578 return dissect_x411_UniversalOrBMPString(TRUE, tvb, offset, actx, tree, hf_x411_universal_initials);
6580 static int dissect_universal_generation_qualifier_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
6581 return dissect_x411_UniversalOrBMPString(TRUE, tvb, offset, actx, tree, hf_x411_universal_generation_qualifier);
6583 static int dissect_universal_type(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
6584 return dissect_x411_UniversalOrBMPString(FALSE, tvb, offset, actx, tree, hf_x411_universal_type);
6586 static int dissect_universal_value(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
6587 return dissect_x411_UniversalOrBMPString(FALSE, tvb, offset, actx, tree, hf_x411_universal_value);
6593 dissect_x411_UniversalCommonName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6594 offset = dissect_x411_UniversalOrBMPString(implicit_tag, tvb, offset, actx, tree, hf_index);
6602 dissect_x411_TeletexOrganizationName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6603 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString,
6604 actx, tree, tvb, offset, hf_index,
6613 dissect_x411_UniversalOrganizationName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6614 offset = dissect_x411_UniversalOrBMPString(implicit_tag, tvb, offset, actx, tree, hf_index);
6622 dissect_x411_AddrTeletexString(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6623 #line 516 "x411.cnf"
6624 tvbuff_t *tstring = NULL;
6626 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString,
6627 actx, tree, tvb, offset, hf_index,
6631 if(doing_address && tstring)
6632 g_strlcat(oraddress, tvb_format_text(tstring, 0, tvb_length(tstring)), MAX_ORA_STR_LEN);
6639 static int dissect_teletex_surname_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
6640 return dissect_x411_AddrTeletexString(TRUE, tvb, offset, actx, tree, hf_x411_teletex_surname);
6642 static int dissect_teletex_given_name_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
6643 return dissect_x411_AddrTeletexString(TRUE, tvb, offset, actx, tree, hf_x411_teletex_given_name);
6645 static int dissect_teletex_initials_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
6646 return dissect_x411_AddrTeletexString(TRUE, tvb, offset, actx, tree, hf_x411_teletex_initials);
6648 static int dissect_teletex_generation_qualifier_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
6649 return dissect_x411_AddrTeletexString(TRUE, tvb, offset, actx, tree, hf_x411_teletex_generation_qualifier);
6651 static int dissect_type(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
6652 return dissect_x411_AddrTeletexString(FALSE, tvb, offset, actx, tree, hf_x411_type);
6654 static int dissect_teletex_value(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
6655 return dissect_x411_AddrTeletexString(FALSE, tvb, offset, actx, tree, hf_x411_teletex_value);
6659 static const ber_old_sequence_t TeletexPersonalName_set[] = {
6660 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_teletex_surname_impl },
6661 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_teletex_given_name_impl },
6662 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_teletex_initials_impl },
6663 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_teletex_generation_qualifier_impl },
6668 dissect_x411_TeletexPersonalName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6669 offset = dissect_ber_old_set(implicit_tag, actx, tree, tvb, offset,
6670 TeletexPersonalName_set, hf_index, ett_x411_TeletexPersonalName);
6676 static const ber_old_sequence_t UniversalPersonalName_set[] = {
6677 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_universal_surname_impl },
6678 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_universal_given_name_impl },
6679 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_universal_initials_impl },
6680 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_universal_generation_qualifier_impl },
6685 dissect_x411_UniversalPersonalName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6686 offset = dissect_ber_old_set(implicit_tag, actx, tree, tvb, offset,
6687 UniversalPersonalName_set, hf_index, ett_x411_UniversalPersonalName);
6695 dissect_x411_TeletexOrganizationalUnitName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6696 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString,
6697 actx, tree, tvb, offset, hf_index,
6702 static int dissect_TeletexOrganizationalUnitNames_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
6703 return dissect_x411_TeletexOrganizationalUnitName(FALSE, tvb, offset, actx, tree, hf_x411_TeletexOrganizationalUnitNames_item);
6707 static const ber_old_sequence_t TeletexOrganizationalUnitNames_sequence_of[1] = {
6708 { BER_CLASS_UNI, BER_UNI_TAG_TeletexString, BER_FLAGS_NOOWNTAG, dissect_TeletexOrganizationalUnitNames_item },
6712 dissect_x411_TeletexOrganizationalUnitNames(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6713 offset = dissect_ber_old_sequence_of(implicit_tag, actx, tree, tvb, offset,
6714 TeletexOrganizationalUnitNames_sequence_of, hf_index, ett_x411_TeletexOrganizationalUnitNames);
6722 dissect_x411_UniversalOrganizationalUnitName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6723 offset = dissect_x411_UniversalOrBMPString(implicit_tag, tvb, offset, actx, tree, hf_index);
6727 static int dissect_UniversalOrganizationalUnitNames_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
6728 return dissect_x411_UniversalOrganizationalUnitName(FALSE, tvb, offset, actx, tree, hf_x411_UniversalOrganizationalUnitNames_item);
6732 static const ber_old_sequence_t UniversalOrganizationalUnitNames_sequence_of[1] = {
6733 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_UniversalOrganizationalUnitNames_item },
6737 dissect_x411_UniversalOrganizationalUnitNames(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6738 offset = dissect_ber_old_sequence_of(implicit_tag, actx, tree, tvb, offset,
6739 UniversalOrganizationalUnitNames_sequence_of, hf_index, ett_x411_UniversalOrganizationalUnitNames);
6747 dissect_x411_PDSName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6748 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
6749 actx, tree, tvb, offset, hf_index,
6756 static const value_string x411_PhysicalDeliveryCountryName_vals[] = {
6757 { 0, "x121-dcc-code" },
6758 { 1, "iso-3166-alpha2-code" },
6762 static const ber_old_choice_t PhysicalDeliveryCountryName_choice[] = {
6763 { 0, BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_NOOWNTAG, dissect_x121_dcc_code },
6764 { 1, BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_iso_3166_alpha2_code },
6765 { 0, 0, 0, 0, NULL }
6769 dissect_x411_PhysicalDeliveryCountryName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6770 offset = dissect_ber_old_choice(actx, tree, tvb, offset,
6771 PhysicalDeliveryCountryName_choice, hf_index, ett_x411_PhysicalDeliveryCountryName,
6778 static const value_string x411_PostalCode_vals[] = {
6779 { 0, "numeric-code" },
6780 { 1, "printable-code" },
6784 static const ber_old_choice_t PostalCode_choice[] = {
6785 { 0, BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_NOOWNTAG, dissect_numeric_code },
6786 { 1, BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_printable_code },
6787 { 0, 0, 0, 0, NULL }
6791 dissect_x411_PostalCode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6792 offset = dissect_ber_old_choice(actx, tree, tvb, offset,
6793 PostalCode_choice, hf_index, ett_x411_PostalCode,
6800 static const ber_old_sequence_t PDSParameter_set[] = {
6801 { BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_printable_string },
6802 { BER_CLASS_UNI, BER_UNI_TAG_TeletexString, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_teletex_string },
6807 dissect_x411_PDSParameter(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6808 offset = dissect_ber_old_set(implicit_tag, actx, tree, tvb, offset,
6809 PDSParameter_set, hf_index, ett_x411_PDSParameter);
6817 dissect_x411_PhysicalDeliveryOfficeName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6818 offset = dissect_x411_PDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index);
6826 dissect_x411_UniversalPDSParameter(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6827 offset = dissect_x411_UniversalOrBMPString(implicit_tag, tvb, offset, actx, tree, hf_index);
6835 dissect_x411_UniversalPhysicalDeliveryOfficeName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6836 offset = dissect_x411_UniversalPDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index);
6844 dissect_x411_PhysicalDeliveryOfficeNumber(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6845 offset = dissect_x411_PDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index);
6853 dissect_x411_UniversalPhysicalDeliveryOfficeNumber(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6854 offset = dissect_x411_UniversalPDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index);
6862 dissect_x411_ExtensionORAddressComponents(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6863 offset = dissect_x411_PDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index);
6871 dissect_x411_UniversalExtensionORAddressComponents(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6872 offset = dissect_x411_UniversalPDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index);
6880 dissect_x411_PhysicalDeliveryPersonalName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6881 offset = dissect_x411_PDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index);
6889 dissect_x411_UniversalPhysicalDeliveryPersonalName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6890 offset = dissect_x411_UniversalPDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index);
6898 dissect_x411_PhysicalDeliveryOrganizationName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6899 offset = dissect_x411_PDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index);
6907 dissect_x411_UniversalPhysicalDeliveryOrganizationName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6908 offset = dissect_x411_UniversalPDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index);
6916 dissect_x411_ExtensionPhysicalDeliveryAddressComponents(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6917 offset = dissect_x411_PDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index);
6925 dissect_x411_UniversalExtensionPhysicalDeliveryAddressComponents(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6926 offset = dissect_x411_UniversalPDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index);
6932 static const ber_old_sequence_t T_printable_address_sequence_of[1] = {
6933 { BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_printable_address_item },
6937 dissect_x411_T_printable_address(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6938 offset = dissect_ber_old_sequence_of(implicit_tag, actx, tree, tvb, offset,
6939 T_printable_address_sequence_of, hf_index, ett_x411_T_printable_address);
6943 static int dissect_printable_address(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
6944 return dissect_x411_T_printable_address(FALSE, tvb, offset, actx, tree, hf_x411_printable_address);
6948 static const ber_old_sequence_t UnformattedPostalAddress_set[] = {
6949 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_printable_address },
6950 { BER_CLASS_UNI, BER_UNI_TAG_TeletexString, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_teletex_string },
6955 dissect_x411_UnformattedPostalAddress(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6956 offset = dissect_ber_old_set(implicit_tag, actx, tree, tvb, offset,
6957 UnformattedPostalAddress_set, hf_index, ett_x411_UnformattedPostalAddress);
6965 dissect_x411_UniversalUnformattedPostalAddress(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6966 offset = dissect_x411_UniversalOrBMPString(implicit_tag, tvb, offset, actx, tree, hf_index);
6974 dissect_x411_StreetAddress(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6975 offset = dissect_x411_PDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index);
6983 dissect_x411_UniversalStreetAddress(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6984 offset = dissect_x411_UniversalPDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index);
6992 dissect_x411_PostOfficeBoxAddress(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6993 offset = dissect_x411_PDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index);
7001 dissect_x411_UniversalPostOfficeBoxAddress(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7002 offset = dissect_x411_UniversalPDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index);
7010 dissect_x411_UniversalPosteRestanteAddress(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7011 offset = dissect_x411_UniversalPDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index);
7019 dissect_x411_UniquePostalName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7020 offset = dissect_x411_PDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index);
7028 dissect_x411_UniversalUniquePostalName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7029 offset = dissect_x411_UniversalPDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index);
7037 dissect_x411_LocalPostalAttributes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7038 offset = dissect_x411_PDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index);
7046 dissect_x411_UniversalLocalPostalAttributes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7047 offset = dissect_x411_UniversalPDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index);
7053 static const ber_old_sequence_t T_e163_4_address_sequence[] = {
7054 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_number_impl },
7055 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_sub_address_impl },
7060 dissect_x411_T_e163_4_address(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7061 offset = dissect_ber_old_sequence(implicit_tag, actx, tree, tvb, offset,
7062 T_e163_4_address_sequence, hf_index, ett_x411_T_e163_4_address);
7066 static int dissect_e163_4_address(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
7067 return dissect_x411_T_e163_4_address(FALSE, tvb, offset, actx, tree, hf_x411_e163_4_address);
7071 static const value_string x411_ExtendedNetworkAddress_vals[] = {
7072 { 0, "e163-4-address" },
7073 { 1, "psap-address" },
7077 static const ber_old_choice_t ExtendedNetworkAddress_choice[] = {
7078 { 0, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_e163_4_address },
7079 { 1, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_psap_address_impl },
7080 { 0, 0, 0, 0, NULL }
7084 dissect_x411_ExtendedNetworkAddress(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7085 offset = dissect_ber_old_choice(actx, tree, tvb, offset,
7086 ExtendedNetworkAddress_choice, hf_index, ett_x411_ExtendedNetworkAddress,
7093 static const value_string x411_TerminalType_vals[] = {
7096 { 5, "g3-facsimile" },
7097 { 6, "g4-facsimile" },
7098 { 7, "ia5-terminal" },
7105 dissect_x411_TerminalType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7106 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
7113 static const ber_old_sequence_t TeletexDomainDefinedAttribute_sequence[] = {
7114 { BER_CLASS_UNI, BER_UNI_TAG_TeletexString, BER_FLAGS_NOOWNTAG, dissect_type },
7115 { BER_CLASS_UNI, BER_UNI_TAG_TeletexString, BER_FLAGS_NOOWNTAG, dissect_teletex_value },
7120 dissect_x411_TeletexDomainDefinedAttribute(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7121 offset = dissect_ber_old_sequence(implicit_tag, actx, tree, tvb, offset,
7122 TeletexDomainDefinedAttribute_sequence, hf_index, ett_x411_TeletexDomainDefinedAttribute);
7126 static int dissect_TeletexDomainDefinedAttributes_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
7127 return dissect_x411_TeletexDomainDefinedAttribute(FALSE, tvb, offset, actx, tree, hf_x411_TeletexDomainDefinedAttributes_item);
7131 static const ber_old_sequence_t TeletexDomainDefinedAttributes_sequence_of[1] = {
7132 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_TeletexDomainDefinedAttributes_item },
7136 dissect_x411_TeletexDomainDefinedAttributes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7137 offset = dissect_ber_old_sequence_of(implicit_tag, actx, tree, tvb, offset,
7138 TeletexDomainDefinedAttributes_sequence_of, hf_index, ett_x411_TeletexDomainDefinedAttributes);
7144 static const ber_old_sequence_t UniversalDomainDefinedAttribute_sequence[] = {
7145 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_universal_type },
7146 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_universal_value },
7151 dissect_x411_UniversalDomainDefinedAttribute(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7152 offset = dissect_ber_old_sequence(implicit_tag, actx, tree, tvb, offset,
7153 UniversalDomainDefinedAttribute_sequence, hf_index, ett_x411_UniversalDomainDefinedAttribute);
7157 static int dissect_UniversalDomainDefinedAttributes_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
7158 return dissect_x411_UniversalDomainDefinedAttribute(FALSE, tvb, offset, actx, tree, hf_x411_UniversalDomainDefinedAttributes_item);
7162 static const ber_old_sequence_t UniversalDomainDefinedAttributes_sequence_of[1] = {
7163 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_UniversalDomainDefinedAttributes_item },
7167 dissect_x411_UniversalDomainDefinedAttributes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7168 offset = dissect_ber_old_sequence_of(implicit_tag, actx, tree, tvb, offset,
7169 UniversalDomainDefinedAttributes_sequence_of, hf_index, ett_x411_UniversalDomainDefinedAttributes);
7175 static const ber_old_sequence_t NonBasicParameters_set[] = {
7176 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_g3_facsimile_impl },
7177 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_teletex_impl },
7182 dissect_x411_NonBasicParameters(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7183 offset = dissect_ber_old_set(implicit_tag, actx, tree, tvb, offset,
7184 NonBasicParameters_set, hf_index, ett_x411_NonBasicParameters);
7190 static const ber_old_sequence_t MTANameAndOptionalGDI_sequence[] = {
7191 { BER_CLASS_APP, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_global_domain_identifier },
7192 { BER_CLASS_UNI, BER_UNI_TAG_IA5String, BER_FLAGS_NOOWNTAG, dissect_mta_name },
7197 dissect_x411_MTANameAndOptionalGDI(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7198 #line 654 "x411.cnf"
7200 doing_address = TRUE;
7202 offset = dissect_ber_old_sequence(implicit_tag, actx, tree, tvb, offset,
7203 MTANameAndOptionalGDI_sequence, hf_index, ett_x411_MTANameAndOptionalGDI);
7206 doing_address = FALSE;
7207 proto_item_append_text(tree, ")");
7213 static int dissect_token_mta_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
7214 return dissect_x411_MTANameAndOptionalGDI(TRUE, tvb, offset, actx, tree, hf_x411_token_mta);
7218 static const value_string x411_T_name_vals[] = {
7219 { 0, "recipient-name" },
7224 static const ber_old_choice_t T_name_choice[] = {
7225 { 0, BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_token_recipient_name },
7226 { 1, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_token_mta_impl },
7227 { 0, 0, 0, 0, NULL }
7231 dissect_x411_T_name(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7232 offset = dissect_ber_old_choice(actx, tree, tvb, offset,
7233 T_name_choice, hf_index, ett_x411_T_name,
7238 static int dissect_name(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
7239 return dissect_x411_T_name(FALSE, tvb, offset, actx, tree, hf_x411_name);
7245 dissect_x411_T_value(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7246 #line 754 "x411.cnf"
7248 offset=call_x411_oid_callback("x411.tokendata", tvb, offset, actx->pinfo, tree);
7254 static int dissect_value_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
7255 return dissect_x411_T_value(TRUE, tvb, offset, actx, tree, hf_x411_value);
7259 static const ber_old_sequence_t TokenData_sequence[] = {
7260 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_token_data_type_impl },
7261 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_value_impl },
7266 dissect_x411_TokenData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7267 offset = dissect_ber_old_sequence(implicit_tag, actx, tree, tvb, offset,
7268 TokenData_sequence, hf_index, ett_x411_TokenData);
7272 static int dissect_signed_data_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
7273 return dissect_x411_TokenData(TRUE, tvb, offset, actx, tree, hf_x411_signed_data);
7277 static const ber_old_sequence_t AsymmetricTokenData_sequence[] = {
7278 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_signature_algorithm_identifier },
7279 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_name },
7280 { BER_CLASS_UNI, BER_UNI_TAG_UTCTime, BER_FLAGS_NOOWNTAG, dissect_time },
7281 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_signed_data_impl },
7282 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_encryption_algorithm_identifier_impl },
7283 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_encrypted_data_impl },
7288 dissect_x411_AsymmetricTokenData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7289 offset = dissect_ber_old_sequence(implicit_tag, actx, tree, tvb, offset,
7290 AsymmetricTokenData_sequence, hf_index, ett_x411_AsymmetricTokenData);
7294 static int dissect_asymmetric_token_data(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
7295 return dissect_x411_AsymmetricTokenData(FALSE, tvb, offset, actx, tree, hf_x411_asymmetric_token_data);
7299 static const ber_old_sequence_t AsymmetricToken_sequence[] = {
7300 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_asymmetric_token_data },
7301 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_algorithm_identifier },
7302 { BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_encrypted },
7307 dissect_x411_AsymmetricToken(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7308 offset = dissect_ber_old_sequence(implicit_tag, actx, tree, tvb, offset,
7309 AsymmetricToken_sequence, hf_index, ett_x411_AsymmetricToken);
7317 dissect_x411_RandomNumber(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7318 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
7328 dissect_x411_BindTokenSignedData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7329 offset = dissect_x411_RandomNumber(implicit_tag, tvb, offset, actx, tree, hf_index);
7335 static const ber_old_sequence_t MessageTokenSignedData_sequence[] = {
7336 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_content_confidentiality_algorithm_identifier_impl },
7337 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_content_integrity_check_impl },
7338 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_message_security_label_impl },
7339 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_proof_of_delivery_request_impl },
7340 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_message_sequence_number_impl },
7345 dissect_x411_MessageTokenSignedData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7346 offset = dissect_ber_old_sequence(implicit_tag, actx, tree, tvb, offset,
7347 MessageTokenSignedData_sequence, hf_index, ett_x411_MessageTokenSignedData);
7355 dissect_x411_EncryptionKey(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7356 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
7362 static int dissect_content_confidentiality_key_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
7363 return dissect_x411_EncryptionKey(TRUE, tvb, offset, actx, tree, hf_x411_content_confidentiality_key);
7365 static int dissect_content_integrity_key_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
7366 return dissect_x411_EncryptionKey(TRUE, tvb, offset, actx, tree, hf_x411_content_integrity_key);
7370 static const ber_old_sequence_t MessageTokenEncryptedData_sequence[] = {
7371 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_content_confidentiality_key_impl },
7372 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_content_integrity_check_impl },
7373 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_message_security_label_impl },
7374 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_content_integrity_key_impl },
7375 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_message_sequence_number_impl },
7380 dissect_x411_MessageTokenEncryptedData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7381 offset = dissect_ber_old_sequence(implicit_tag, actx, tree, tvb, offset,
7382 MessageTokenEncryptedData_sequence, hf_index, ett_x411_MessageTokenEncryptedData);
7390 dissect_x411_BindTokenEncryptedData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7391 offset = dissect_acse_EXTERNALt(implicit_tag, tvb, offset, actx, tree, hf_index);
7398 static void dissect_MTABindArgument_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7399 asn1_ctx_t asn1_ctx;
7400 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7401 dissect_x411_MTABindArgument(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_MTABindArgument_PDU);
7403 static void dissect_MTABindResult_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7404 asn1_ctx_t asn1_ctx;
7405 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7406 dissect_x411_MTABindResult(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_MTABindResult_PDU);
7408 static void dissect_MTABindError_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7409 asn1_ctx_t asn1_ctx;
7410 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7411 dissect_x411_MTABindError(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_MTABindError_PDU);
7413 static void dissect_MTS_APDU_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7414 asn1_ctx_t asn1_ctx;
7415 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7416 dissect_x411_MTS_APDU(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_MTS_APDU_PDU);
7418 static void dissect_InternalTraceInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7419 asn1_ctx_t asn1_ctx;
7420 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7421 dissect_x411_InternalTraceInformation(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_InternalTraceInformation_PDU);
7423 static void dissect_TraceInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7424 asn1_ctx_t asn1_ctx;
7425 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7426 dissect_x411_TraceInformation(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_TraceInformation_PDU);
7428 static void dissect_ReportDeliveryArgument_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7429 asn1_ctx_t asn1_ctx;
7430 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7431 dissect_x411_ReportDeliveryArgument(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_ReportDeliveryArgument_PDU);
7433 static void dissect_RecipientCertificate_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7434 asn1_ctx_t asn1_ctx;
7435 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7436 dissect_x411_RecipientCertificate(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_RecipientCertificate_PDU);
7438 static void dissect_ProofOfDelivery_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7439 asn1_ctx_t asn1_ctx;
7440 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7441 dissect_x411_ProofOfDelivery(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_ProofOfDelivery_PDU);
7443 static void dissect_ExtendedContentType_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7444 asn1_ctx_t asn1_ctx;
7445 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7446 dissect_x411_ExtendedContentType(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_ExtendedContentType_PDU);
7448 static void dissect_ContentLength_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7449 asn1_ctx_t asn1_ctx;
7450 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7451 dissect_x411_ContentLength(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_ContentLength_PDU);
7453 static void dissect_RecipientReassignmentProhibited_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7454 asn1_ctx_t asn1_ctx;
7455 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7456 dissect_x411_RecipientReassignmentProhibited(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_RecipientReassignmentProhibited_PDU);
7458 static void dissect_MTSOriginatorRequestedAlternateRecipient_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7459 asn1_ctx_t asn1_ctx;
7460 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7461 dissect_x411_MTSOriginatorRequestedAlternateRecipient(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_MTSOriginatorRequestedAlternateRecipient_PDU);
7463 static void dissect_DLExpansionProhibited_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7464 asn1_ctx_t asn1_ctx;
7465 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7466 dissect_x411_DLExpansionProhibited(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_DLExpansionProhibited_PDU);
7468 static void dissect_ConversionWithLossProhibited_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7469 asn1_ctx_t asn1_ctx;
7470 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7471 dissect_x411_ConversionWithLossProhibited(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_ConversionWithLossProhibited_PDU);
7473 static void dissect_LatestDeliveryTime_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7474 asn1_ctx_t asn1_ctx;
7475 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7476 dissect_x411_LatestDeliveryTime(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_LatestDeliveryTime_PDU);
7478 static void dissect_RequestedDeliveryMethod_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7479 asn1_ctx_t asn1_ctx;
7480 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7481 dissect_x411_RequestedDeliveryMethod(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_RequestedDeliveryMethod_PDU);
7483 static void dissect_PhysicalForwardingProhibited_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7484 asn1_ctx_t asn1_ctx;
7485 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7486 dissect_x411_PhysicalForwardingProhibited(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_PhysicalForwardingProhibited_PDU);
7488 static void dissect_PhysicalForwardingAddressRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7489 asn1_ctx_t asn1_ctx;
7490 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7491 dissect_x411_PhysicalForwardingAddressRequest(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_PhysicalForwardingAddressRequest_PDU);
7493 static void dissect_PhysicalDeliveryModes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7494 asn1_ctx_t asn1_ctx;
7495 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7496 dissect_x411_PhysicalDeliveryModes(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_PhysicalDeliveryModes_PDU);
7498 static void dissect_RegisteredMailType_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7499 asn1_ctx_t asn1_ctx;
7500 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7501 dissect_x411_RegisteredMailType(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_RegisteredMailType_PDU);
7503 static void dissect_RecipientNumberForAdvice_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7504 asn1_ctx_t asn1_ctx;
7505 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7506 dissect_x411_RecipientNumberForAdvice(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_RecipientNumberForAdvice_PDU);
7508 static void dissect_PhysicalRenditionAttributes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7509 asn1_ctx_t asn1_ctx;
7510 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7511 dissect_x411_PhysicalRenditionAttributes(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_PhysicalRenditionAttributes_PDU);
7513 static void dissect_OriginatorReturnAddress_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7514 asn1_ctx_t asn1_ctx;
7515 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7516 dissect_x411_OriginatorReturnAddress(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_OriginatorReturnAddress_PDU);
7518 static void dissect_PhysicalDeliveryReportRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7519 asn1_ctx_t asn1_ctx;
7520 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7521 dissect_x411_PhysicalDeliveryReportRequest(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_PhysicalDeliveryReportRequest_PDU);
7523 static void dissect_OriginatorCertificate_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7524 asn1_ctx_t asn1_ctx;
7525 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7526 dissect_x411_OriginatorCertificate(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_OriginatorCertificate_PDU);
7528 static void dissect_MessageToken_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7529 asn1_ctx_t asn1_ctx;
7530 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7531 dissect_x411_MessageToken(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_MessageToken_PDU);
7533 static void dissect_ContentConfidentialityAlgorithmIdentifier_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7534 asn1_ctx_t asn1_ctx;
7535 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7536 dissect_x411_ContentConfidentialityAlgorithmIdentifier(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_ContentConfidentialityAlgorithmIdentifier_PDU);
7538 static void dissect_ContentIntegrityCheck_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7539 asn1_ctx_t asn1_ctx;
7540 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7541 dissect_x411_ContentIntegrityCheck(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_ContentIntegrityCheck_PDU);
7543 static void dissect_MessageOriginAuthenticationCheck_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7544 asn1_ctx_t asn1_ctx;
7545 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7546 dissect_x411_MessageOriginAuthenticationCheck(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_MessageOriginAuthenticationCheck_PDU);
7548 static void dissect_MessageSecurityLabel_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7549 asn1_ctx_t asn1_ctx;
7550 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7551 dissect_x411_MessageSecurityLabel(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_MessageSecurityLabel_PDU);
7553 static void dissect_ProofOfSubmissionRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7554 asn1_ctx_t asn1_ctx;
7555 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7556 dissect_x411_ProofOfSubmissionRequest(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_ProofOfSubmissionRequest_PDU);
7558 static void dissect_ProofOfDeliveryRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7559 asn1_ctx_t asn1_ctx;
7560 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7561 dissect_x411_ProofOfDeliveryRequest(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_ProofOfDeliveryRequest_PDU);
7563 static void dissect_ContentCorrelator_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7564 asn1_ctx_t asn1_ctx;
7565 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7566 dissect_x411_ContentCorrelator(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_ContentCorrelator_PDU);
7568 static void dissect_ProbeOriginAuthenticationCheck_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7569 asn1_ctx_t asn1_ctx;
7570 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7571 dissect_x411_ProbeOriginAuthenticationCheck(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_ProbeOriginAuthenticationCheck_PDU);
7573 static void dissect_RedirectionHistory_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7574 asn1_ctx_t asn1_ctx;
7575 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7576 dissect_x411_RedirectionHistory(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_RedirectionHistory_PDU);
7578 static void dissect_DLExpansionHistory_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7579 asn1_ctx_t asn1_ctx;
7580 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7581 dissect_x411_DLExpansionHistory(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_DLExpansionHistory_PDU);
7583 static void dissect_PhysicalForwardingAddress_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7584 asn1_ctx_t asn1_ctx;
7585 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7586 dissect_x411_PhysicalForwardingAddress(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_PhysicalForwardingAddress_PDU);
7588 static void dissect_OriginatorAndDLExpansionHistory_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7589 asn1_ctx_t asn1_ctx;
7590 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7591 dissect_x411_OriginatorAndDLExpansionHistory(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_OriginatorAndDLExpansionHistory_PDU);
7593 static void dissect_ReportingDLName_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7594 asn1_ctx_t asn1_ctx;
7595 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7596 dissect_x411_ReportingDLName(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_ReportingDLName_PDU);
7598 static void dissect_ReportingMTACertificate_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7599 asn1_ctx_t asn1_ctx;
7600 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7601 dissect_x411_ReportingMTACertificate(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_ReportingMTACertificate_PDU);
7603 static void dissect_ReportOriginAuthenticationCheck_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7604 asn1_ctx_t asn1_ctx;
7605 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7606 dissect_x411_ReportOriginAuthenticationCheck(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_ReportOriginAuthenticationCheck_PDU);
7608 static void dissect_ProofOfSubmission_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7609 asn1_ctx_t asn1_ctx;
7610 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7611 dissect_x411_ProofOfSubmission(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_ProofOfSubmission_PDU);
7613 static void dissect_ReportingMTAName_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7614 asn1_ctx_t asn1_ctx;
7615 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7616 dissect_x411_ReportingMTAName(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_ReportingMTAName_PDU);
7618 static void dissect_ExtendedCertificates_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7619 asn1_ctx_t asn1_ctx;
7620 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7621 dissect_x411_ExtendedCertificates(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_ExtendedCertificates_PDU);
7623 static void dissect_DLExemptedRecipients_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7624 asn1_ctx_t asn1_ctx;
7625 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7626 dissect_x411_DLExemptedRecipients(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_DLExemptedRecipients_PDU);
7628 static void dissect_CertificateSelectors_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7629 asn1_ctx_t asn1_ctx;
7630 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7631 dissect_x411_CertificateSelectors(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_CertificateSelectors_PDU);
7633 static void dissect_ORName_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7634 asn1_ctx_t asn1_ctx;
7635 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7636 dissect_x411_ORName(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_ORName_PDU);
7638 static void dissect_ORAddress_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7639 asn1_ctx_t asn1_ctx;
7640 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7641 dissect_x411_ORAddress(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_ORAddress_PDU);
7643 static void dissect_CommonName_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7644 asn1_ctx_t asn1_ctx;
7645 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7646 dissect_x411_CommonName(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_CommonName_PDU);
7648 static void dissect_TeletexCommonName_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7649 asn1_ctx_t asn1_ctx;
7650 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7651 dissect_x411_TeletexCommonName(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_TeletexCommonName_PDU);
7653 static void dissect_UniversalCommonName_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7654 asn1_ctx_t asn1_ctx;
7655 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7656 dissect_x411_UniversalCommonName(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_UniversalCommonName_PDU);
7658 static void dissect_TeletexOrganizationName_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7659 asn1_ctx_t asn1_ctx;
7660 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7661 dissect_x411_TeletexOrganizationName(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_TeletexOrganizationName_PDU);
7663 static void dissect_UniversalOrganizationName_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7664 asn1_ctx_t asn1_ctx;
7665 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7666 dissect_x411_UniversalOrganizationName(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_UniversalOrganizationName_PDU);
7668 static void dissect_TeletexPersonalName_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7669 asn1_ctx_t asn1_ctx;
7670 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7671 dissect_x411_TeletexPersonalName(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_TeletexPersonalName_PDU);
7673 static void dissect_UniversalPersonalName_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7674 asn1_ctx_t asn1_ctx;
7675 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7676 dissect_x411_UniversalPersonalName(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_UniversalPersonalName_PDU);
7678 static void dissect_TeletexOrganizationalUnitNames_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7679 asn1_ctx_t asn1_ctx;
7680 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7681 dissect_x411_TeletexOrganizationalUnitNames(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_TeletexOrganizationalUnitNames_PDU);
7683 static void dissect_UniversalOrganizationalUnitNames_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7684 asn1_ctx_t asn1_ctx;
7685 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7686 dissect_x411_UniversalOrganizationalUnitNames(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_UniversalOrganizationalUnitNames_PDU);
7688 static void dissect_PDSName_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7689 asn1_ctx_t asn1_ctx;
7690 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7691 dissect_x411_PDSName(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_PDSName_PDU);
7693 static void dissect_PhysicalDeliveryCountryName_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7694 asn1_ctx_t asn1_ctx;
7695 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7696 dissect_x411_PhysicalDeliveryCountryName(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_PhysicalDeliveryCountryName_PDU);
7698 static void dissect_PostalCode_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7699 asn1_ctx_t asn1_ctx;
7700 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7701 dissect_x411_PostalCode(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_PostalCode_PDU);
7703 static void dissect_PhysicalDeliveryOfficeName_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7704 asn1_ctx_t asn1_ctx;
7705 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7706 dissect_x411_PhysicalDeliveryOfficeName(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_PhysicalDeliveryOfficeName_PDU);
7708 static void dissect_ExtendedEncodedInformationType_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7709 asn1_ctx_t asn1_ctx;
7710 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7711 dissect_x411_ExtendedEncodedInformationType(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_ExtendedEncodedInformationType_PDU);
7713 static void dissect_MTANameAndOptionalGDI_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7714 asn1_ctx_t asn1_ctx;
7715 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7716 dissect_x411_MTANameAndOptionalGDI(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_MTANameAndOptionalGDI_PDU);
7718 static void dissect_AsymmetricToken_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7719 asn1_ctx_t asn1_ctx;
7720 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7721 dissect_x411_AsymmetricToken(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_AsymmetricToken_PDU);
7723 static void dissect_BindTokenSignedData_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7724 asn1_ctx_t asn1_ctx;
7725 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7726 dissect_x411_BindTokenSignedData(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_BindTokenSignedData_PDU);
7728 static void dissect_MessageTokenSignedData_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7729 asn1_ctx_t asn1_ctx;
7730 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7731 dissect_x411_MessageTokenSignedData(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_MessageTokenSignedData_PDU);
7733 static void dissect_MessageTokenEncryptedData_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7734 asn1_ctx_t asn1_ctx;
7735 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7736 dissect_x411_MessageTokenEncryptedData(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_MessageTokenEncryptedData_PDU);
7738 static void dissect_BindTokenEncryptedData_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7739 asn1_ctx_t asn1_ctx;
7740 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7741 dissect_x411_BindTokenEncryptedData(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_BindTokenEncryptedData_PDU);
7745 /*--- End of included file: packet-x411-fn.c ---*/
7746 #line 92 "packet-x411-template.c"
7749 call_x411_oid_callback(char *base_oid, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7751 const char *name = NULL;
7752 char extension_oid[MAX_OID_STR_LEN];
7754 sprintf(extension_oid, "%s.%d", base_oid, extension_id);
7756 name = get_oid_str_name(extension_oid);
7757 proto_item_append_text(tree, " (%s)", name ? name : extension_oid);
7759 return call_ber_oid_callback(extension_oid, tvb, offset, pinfo, tree);
7765 * Dissect X411 MTS APDU
7768 dissect_x411_mts_apdu (tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
7770 proto_item *item=NULL;
7771 proto_tree *tree=NULL;
7772 asn1_ctx_t asn1_ctx;
7773 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7775 /* save parent_tree so subdissectors can create new top nodes */
7776 top_tree=parent_tree;
7779 item = proto_tree_add_item(parent_tree, proto_x411, tvb, 0, -1, FALSE);
7780 tree = proto_item_add_subtree(item, ett_x411);
7783 if (check_col(pinfo->cinfo, COL_PROTOCOL))
7784 col_set_str(pinfo->cinfo, COL_PROTOCOL, "P1");
7785 if (check_col(pinfo->cinfo, COL_INFO))
7786 col_set_str(pinfo->cinfo, COL_INFO, "Transfer");
7788 dissect_x411_MTS_APDU (FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_MTS_APDU_PDU);
7792 * Dissect X411 PDUs inside a PPDU.
7795 dissect_x411(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
7799 proto_item *item=NULL;
7800 proto_tree *tree=NULL;
7801 int (*x411_dissector)(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, asn1_ctx_t *actx _U_, proto_tree *tree, int hf_index _U_) = NULL;
7804 asn1_ctx_t asn1_ctx;
7805 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7807 /* save parent_tree so subdissectors can create new top nodes */
7808 top_tree=parent_tree;
7810 /* do we have operation information from the ROS dissector? */
7811 if( !pinfo->private_data ){
7813 proto_tree_add_text(parent_tree, tvb, offset, -1,
7814 "Internal error: can't get operation information from ROS dissector.");
7818 session = ( (struct SESSION_DATA_STRUCTURE*)(pinfo->private_data) );
7822 item = proto_tree_add_item(parent_tree, proto_x411, tvb, 0, -1, FALSE);
7823 tree = proto_item_add_subtree(item, ett_x411);
7825 if (check_col(pinfo->cinfo, COL_PROTOCOL))
7826 col_set_str(pinfo->cinfo, COL_PROTOCOL, "P1");
7827 if (check_col(pinfo->cinfo, COL_INFO))
7828 col_clear(pinfo->cinfo, COL_INFO);
7830 switch(session->ros_op & ROS_OP_MASK) {
7831 case (ROS_OP_BIND | ROS_OP_ARGUMENT): /* BindInvoke */
7832 x411_dissector = dissect_x411_MTABindArgument;
7833 x411_op_name = "Bind-Argument";
7834 hf_x411_index = hf_x411_MTABindArgument_PDU;
7836 case (ROS_OP_BIND | ROS_OP_RESULT): /* BindResult */
7837 x411_dissector = dissect_x411_MTABindResult;
7838 x411_op_name = "Bind-Result";
7839 hf_x411_index = hf_x411_MTABindResult_PDU;
7841 case (ROS_OP_BIND | ROS_OP_ERROR): /* BindError */
7842 x411_dissector = dissect_x411_MTABindError;
7843 x411_op_name = "Bind-Error";
7844 hf_x411_index = hf_x411_MTABindError_PDU;
7846 case (ROS_OP_INVOKE | ROS_OP_ARGUMENT): /* Invoke Argument */
7847 x411_dissector = dissect_x411_MTS_APDU;
7848 x411_op_name = "Transfer";
7849 hf_x411_index = hf_x411_MTS_APDU_PDU;
7852 proto_tree_add_text(tree, tvb, offset, -1,"Unsupported X411 PDU");
7856 if (check_col(pinfo->cinfo, COL_INFO))
7857 col_add_str(pinfo->cinfo, COL_INFO, x411_op_name);
7859 while (tvb_reported_length_remaining(tvb, offset) > 0){
7861 offset=(*x411_dissector)(FALSE, tvb, offset, &asn1_ctx , tree, hf_x411_index);
7862 if(offset == old_offset){
7863 proto_tree_add_text(tree, tvb, offset, -1,"Internal error, zero-byte X411 PDU");
7864 offset = tvb_length(tvb);
7871 /*--- proto_register_x411 -------------------------------------------*/
7872 void proto_register_x411(void) {
7874 /* List of fields */
7875 static hf_register_info hf[] =
7878 /*--- Included file: packet-x411-hfarr.c ---*/
7879 #line 1 "packet-x411-hfarr.c"
7880 { &hf_x411_MTABindArgument_PDU,
7881 { "MTABindArgument", "x411.MTABindArgument",
7882 FT_UINT32, BASE_DEC, VALS(x411_MTABindArgument_vals), 0,
7883 "x411.MTABindArgument", HFILL }},
7884 { &hf_x411_MTABindResult_PDU,
7885 { "MTABindResult", "x411.MTABindResult",
7886 FT_UINT32, BASE_DEC, VALS(x411_MTABindResult_vals), 0,
7887 "x411.MTABindResult", HFILL }},
7888 { &hf_x411_MTABindError_PDU,
7889 { "MTABindError", "x411.MTABindError",
7890 FT_UINT32, BASE_DEC, VALS(x411_MTABindError_vals), 0,
7891 "x411.MTABindError", HFILL }},
7892 { &hf_x411_MTS_APDU_PDU,
7893 { "MTS-APDU", "x411.MTS_APDU",
7894 FT_UINT32, BASE_DEC, VALS(x411_MTS_APDU_vals), 0,
7895 "x411.MTS_APDU", HFILL }},
7896 { &hf_x411_InternalTraceInformation_PDU,
7897 { "InternalTraceInformation", "x411.InternalTraceInformation",
7898 FT_UINT32, BASE_DEC, NULL, 0,
7899 "x411.InternalTraceInformation", HFILL }},
7900 { &hf_x411_TraceInformation_PDU,
7901 { "TraceInformation", "x411.TraceInformation",
7902 FT_UINT32, BASE_DEC, NULL, 0,
7903 "x411.TraceInformation", HFILL }},
7904 { &hf_x411_ReportDeliveryArgument_PDU,
7905 { "ReportDeliveryArgument", "x411.ReportDeliveryArgument",
7906 FT_NONE, BASE_NONE, NULL, 0,
7907 "x411.ReportDeliveryArgument", HFILL }},
7908 { &hf_x411_RecipientCertificate_PDU,
7909 { "RecipientCertificate", "x411.RecipientCertificate",
7910 FT_NONE, BASE_NONE, NULL, 0,
7911 "x411.RecipientCertificate", HFILL }},
7912 { &hf_x411_ProofOfDelivery_PDU,
7913 { "ProofOfDelivery", "x411.ProofOfDelivery",
7914 FT_NONE, BASE_NONE, NULL, 0,
7915 "x411.ProofOfDelivery", HFILL }},
7916 { &hf_x411_ExtendedContentType_PDU,
7917 { "ExtendedContentType", "x411.ExtendedContentType",
7918 FT_OID, BASE_NONE, NULL, 0,
7919 "x411.ExtendedContentType", HFILL }},
7920 { &hf_x411_ContentLength_PDU,
7921 { "ContentLength", "x411.ContentLength",
7922 FT_UINT32, BASE_DEC, NULL, 0,
7923 "x411.ContentLength", HFILL }},
7924 { &hf_x411_RecipientReassignmentProhibited_PDU,
7925 { "RecipientReassignmentProhibited", "x411.RecipientReassignmentProhibited",
7926 FT_UINT32, BASE_DEC, VALS(x411_RecipientReassignmentProhibited_vals), 0,
7927 "x411.RecipientReassignmentProhibited", HFILL }},
7928 { &hf_x411_MTSOriginatorRequestedAlternateRecipient_PDU,
7929 { "MTSOriginatorRequestedAlternateRecipient", "x411.MTSOriginatorRequestedAlternateRecipient",
7930 FT_NONE, BASE_NONE, NULL, 0,
7931 "x411.MTSOriginatorRequestedAlternateRecipient", HFILL }},
7932 { &hf_x411_DLExpansionProhibited_PDU,
7933 { "DLExpansionProhibited", "x411.DLExpansionProhibited",
7934 FT_UINT32, BASE_DEC, VALS(x411_DLExpansionProhibited_vals), 0,
7935 "x411.DLExpansionProhibited", HFILL }},
7936 { &hf_x411_ConversionWithLossProhibited_PDU,
7937 { "ConversionWithLossProhibited", "x411.ConversionWithLossProhibited",
7938 FT_UINT32, BASE_DEC, VALS(x411_ConversionWithLossProhibited_vals), 0,
7939 "x411.ConversionWithLossProhibited", HFILL }},
7940 { &hf_x411_LatestDeliveryTime_PDU,
7941 { "LatestDeliveryTime", "x411.LatestDeliveryTime",
7942 FT_STRING, BASE_NONE, NULL, 0,
7943 "x411.LatestDeliveryTime", HFILL }},
7944 { &hf_x411_RequestedDeliveryMethod_PDU,
7945 { "RequestedDeliveryMethod", "x411.RequestedDeliveryMethod",
7946 FT_UINT32, BASE_DEC, NULL, 0,
7947 "x411.RequestedDeliveryMethod", HFILL }},
7948 { &hf_x411_PhysicalForwardingProhibited_PDU,
7949 { "PhysicalForwardingProhibited", "x411.PhysicalForwardingProhibited",
7950 FT_UINT32, BASE_DEC, VALS(x411_PhysicalForwardingProhibited_vals), 0,
7951 "x411.PhysicalForwardingProhibited", HFILL }},
7952 { &hf_x411_PhysicalForwardingAddressRequest_PDU,
7953 { "PhysicalForwardingAddressRequest", "x411.PhysicalForwardingAddressRequest",
7954 FT_UINT32, BASE_DEC, VALS(x411_PhysicalForwardingAddressRequest_vals), 0,
7955 "x411.PhysicalForwardingAddressRequest", HFILL }},
7956 { &hf_x411_PhysicalDeliveryModes_PDU,
7957 { "PhysicalDeliveryModes", "x411.PhysicalDeliveryModes",
7958 FT_BYTES, BASE_HEX, NULL, 0,
7959 "x411.PhysicalDeliveryModes", HFILL }},
7960 { &hf_x411_RegisteredMailType_PDU,
7961 { "RegisteredMailType", "x411.RegisteredMailType",
7962 FT_UINT32, BASE_DEC, VALS(x411_RegisteredMailType_vals), 0,
7963 "x411.RegisteredMailType", HFILL }},
7964 { &hf_x411_RecipientNumberForAdvice_PDU,
7965 { "RecipientNumberForAdvice", "x411.RecipientNumberForAdvice",
7966 FT_STRING, BASE_NONE, NULL, 0,
7967 "x411.RecipientNumberForAdvice", HFILL }},
7968 { &hf_x411_PhysicalRenditionAttributes_PDU,
7969 { "PhysicalRenditionAttributes", "x411.PhysicalRenditionAttributes",
7970 FT_OID, BASE_NONE, NULL, 0,
7971 "x411.PhysicalRenditionAttributes", HFILL }},
7972 { &hf_x411_OriginatorReturnAddress_PDU,
7973 { "OriginatorReturnAddress", "x411.OriginatorReturnAddress",
7974 FT_NONE, BASE_NONE, NULL, 0,
7975 "x411.OriginatorReturnAddress", HFILL }},
7976 { &hf_x411_PhysicalDeliveryReportRequest_PDU,
7977 { "PhysicalDeliveryReportRequest", "x411.PhysicalDeliveryReportRequest",
7978 FT_INT32, BASE_DEC, VALS(x411_PhysicalDeliveryReportRequest_vals), 0,
7979 "x411.PhysicalDeliveryReportRequest", HFILL }},
7980 { &hf_x411_OriginatorCertificate_PDU,
7981 { "OriginatorCertificate", "x411.OriginatorCertificate",
7982 FT_NONE, BASE_NONE, NULL, 0,
7983 "x411.OriginatorCertificate", HFILL }},
7984 { &hf_x411_MessageToken_PDU,
7985 { "MessageToken", "x411.MessageToken",
7986 FT_NONE, BASE_NONE, NULL, 0,
7987 "x411.MessageToken", HFILL }},
7988 { &hf_x411_ContentConfidentialityAlgorithmIdentifier_PDU,
7989 { "ContentConfidentialityAlgorithmIdentifier", "x411.ContentConfidentialityAlgorithmIdentifier",
7990 FT_NONE, BASE_NONE, NULL, 0,
7991 "x411.ContentConfidentialityAlgorithmIdentifier", HFILL }},
7992 { &hf_x411_ContentIntegrityCheck_PDU,
7993 { "ContentIntegrityCheck", "x411.ContentIntegrityCheck",
7994 FT_NONE, BASE_NONE, NULL, 0,
7995 "x411.ContentIntegrityCheck", HFILL }},
7996 { &hf_x411_MessageOriginAuthenticationCheck_PDU,
7997 { "MessageOriginAuthenticationCheck", "x411.MessageOriginAuthenticationCheck",
7998 FT_NONE, BASE_NONE, NULL, 0,
7999 "x411.MessageOriginAuthenticationCheck", HFILL }},
8000 { &hf_x411_MessageSecurityLabel_PDU,
8001 { "MessageSecurityLabel", "x411.MessageSecurityLabel",
8002 FT_NONE, BASE_NONE, NULL, 0,
8003 "x411.MessageSecurityLabel", HFILL }},
8004 { &hf_x411_ProofOfSubmissionRequest_PDU,
8005 { "ProofOfSubmissionRequest", "x411.ProofOfSubmissionRequest",
8006 FT_UINT32, BASE_DEC, VALS(x411_ProofOfSubmissionRequest_vals), 0,
8007 "x411.ProofOfSubmissionRequest", HFILL }},
8008 { &hf_x411_ProofOfDeliveryRequest_PDU,
8009 { "ProofOfDeliveryRequest", "x411.ProofOfDeliveryRequest",
8010 FT_UINT32, BASE_DEC, VALS(x411_ProofOfDeliveryRequest_vals), 0,
8011 "x411.ProofOfDeliveryRequest", HFILL }},
8012 { &hf_x411_ContentCorrelator_PDU,
8013 { "ContentCorrelator", "x411.ContentCorrelator",
8014 FT_UINT32, BASE_DEC, VALS(x411_ContentCorrelator_vals), 0,
8015 "x411.ContentCorrelator", HFILL }},
8016 { &hf_x411_ProbeOriginAuthenticationCheck_PDU,
8017 { "ProbeOriginAuthenticationCheck", "x411.ProbeOriginAuthenticationCheck",
8018 FT_NONE, BASE_NONE, NULL, 0,
8019 "x411.ProbeOriginAuthenticationCheck", HFILL }},
8020 { &hf_x411_RedirectionHistory_PDU,
8021 { "RedirectionHistory", "x411.RedirectionHistory",
8022 FT_UINT32, BASE_DEC, NULL, 0,
8023 "x411.RedirectionHistory", HFILL }},
8024 { &hf_x411_DLExpansionHistory_PDU,
8025 { "DLExpansionHistory", "x411.DLExpansionHistory",
8026 FT_UINT32, BASE_DEC, NULL, 0,
8027 "x411.DLExpansionHistory", HFILL }},
8028 { &hf_x411_PhysicalForwardingAddress_PDU,
8029 { "PhysicalForwardingAddress", "x411.PhysicalForwardingAddress",
8030 FT_NONE, BASE_NONE, NULL, 0,
8031 "x411.PhysicalForwardingAddress", HFILL }},
8032 { &hf_x411_OriginatorAndDLExpansionHistory_PDU,
8033 { "OriginatorAndDLExpansionHistory", "x411.OriginatorAndDLExpansionHistory",
8034 FT_UINT32, BASE_DEC, NULL, 0,
8035 "x411.OriginatorAndDLExpansionHistory", HFILL }},
8036 { &hf_x411_ReportingDLName_PDU,
8037 { "ReportingDLName", "x411.ReportingDLName",
8038 FT_NONE, BASE_NONE, NULL, 0,
8039 "x411.ReportingDLName", HFILL }},
8040 { &hf_x411_ReportingMTACertificate_PDU,
8041 { "ReportingMTACertificate", "x411.ReportingMTACertificate",
8042 FT_NONE, BASE_NONE, NULL, 0,
8043 "x411.ReportingMTACertificate", HFILL }},
8044 { &hf_x411_ReportOriginAuthenticationCheck_PDU,
8045 { "ReportOriginAuthenticationCheck", "x411.ReportOriginAuthenticationCheck",
8046 FT_NONE, BASE_NONE, NULL, 0,
8047 "x411.ReportOriginAuthenticationCheck", HFILL }},
8048 { &hf_x411_ProofOfSubmission_PDU,
8049 { "ProofOfSubmission", "x411.ProofOfSubmission",
8050 FT_NONE, BASE_NONE, NULL, 0,
8051 "x411.ProofOfSubmission", HFILL }},
8052 { &hf_x411_ReportingMTAName_PDU,
8053 { "ReportingMTAName", "x411.ReportingMTAName",
8054 FT_NONE, BASE_NONE, NULL, 0,
8055 "x411.ReportingMTAName", HFILL }},
8056 { &hf_x411_ExtendedCertificates_PDU,
8057 { "ExtendedCertificates", "x411.ExtendedCertificates",
8058 FT_UINT32, BASE_DEC, NULL, 0,
8059 "x411.ExtendedCertificates", HFILL }},
8060 { &hf_x411_DLExemptedRecipients_PDU,
8061 { "DLExemptedRecipients", "x411.DLExemptedRecipients",
8062 FT_UINT32, BASE_DEC, NULL, 0,
8063 "x411.DLExemptedRecipients", HFILL }},
8064 { &hf_x411_CertificateSelectors_PDU,
8065 { "CertificateSelectors", "x411.CertificateSelectors",
8066 FT_NONE, BASE_NONE, NULL, 0,
8067 "x411.CertificateSelectors", HFILL }},
8068 { &hf_x411_ORName_PDU,
8069 { "ORName", "x411.ORName",
8070 FT_NONE, BASE_NONE, NULL, 0,
8071 "x411.ORName", HFILL }},
8072 { &hf_x411_ORAddress_PDU,
8073 { "ORAddress", "x411.ORAddress",
8074 FT_NONE, BASE_NONE, NULL, 0,
8075 "x411.ORAddress", HFILL }},
8076 { &hf_x411_CommonName_PDU,
8077 { "CommonName", "x411.CommonName",
8078 FT_STRING, BASE_NONE, NULL, 0,
8079 "x411.CommonName", HFILL }},
8080 { &hf_x411_TeletexCommonName_PDU,
8081 { "TeletexCommonName", "x411.TeletexCommonName",
8082 FT_STRING, BASE_NONE, NULL, 0,
8083 "x411.TeletexCommonName", HFILL }},
8084 { &hf_x411_UniversalCommonName_PDU,
8085 { "UniversalCommonName", "x411.UniversalCommonName",
8086 FT_NONE, BASE_NONE, NULL, 0,
8087 "x411.UniversalCommonName", HFILL }},
8088 { &hf_x411_TeletexOrganizationName_PDU,
8089 { "TeletexOrganizationName", "x411.TeletexOrganizationName",
8090 FT_STRING, BASE_NONE, NULL, 0,
8091 "x411.TeletexOrganizationName", HFILL }},
8092 { &hf_x411_UniversalOrganizationName_PDU,
8093 { "UniversalOrganizationName", "x411.UniversalOrganizationName",
8094 FT_NONE, BASE_NONE, NULL, 0,
8095 "x411.UniversalOrganizationName", HFILL }},
8096 { &hf_x411_TeletexPersonalName_PDU,
8097 { "TeletexPersonalName", "x411.TeletexPersonalName",
8098 FT_NONE, BASE_NONE, NULL, 0,
8099 "x411.TeletexPersonalName", HFILL }},
8100 { &hf_x411_UniversalPersonalName_PDU,
8101 { "UniversalPersonalName", "x411.UniversalPersonalName",
8102 FT_NONE, BASE_NONE, NULL, 0,
8103 "x411.UniversalPersonalName", HFILL }},
8104 { &hf_x411_TeletexOrganizationalUnitNames_PDU,
8105 { "TeletexOrganizationalUnitNames", "x411.TeletexOrganizationalUnitNames",
8106 FT_UINT32, BASE_DEC, NULL, 0,
8107 "x411.TeletexOrganizationalUnitNames", HFILL }},
8108 { &hf_x411_UniversalOrganizationalUnitNames_PDU,
8109 { "UniversalOrganizationalUnitNames", "x411.UniversalOrganizationalUnitNames",
8110 FT_UINT32, BASE_DEC, NULL, 0,
8111 "x411.UniversalOrganizationalUnitNames", HFILL }},
8112 { &hf_x411_PDSName_PDU,
8113 { "PDSName", "x411.PDSName",
8114 FT_STRING, BASE_NONE, NULL, 0,
8115 "x411.PDSName", HFILL }},
8116 { &hf_x411_PhysicalDeliveryCountryName_PDU,
8117 { "PhysicalDeliveryCountryName", "x411.PhysicalDeliveryCountryName",
8118 FT_UINT32, BASE_DEC, VALS(x411_PhysicalDeliveryCountryName_vals), 0,
8119 "x411.PhysicalDeliveryCountryName", HFILL }},
8120 { &hf_x411_PostalCode_PDU,
8121 { "PostalCode", "x411.PostalCode",
8122 FT_UINT32, BASE_DEC, VALS(x411_PostalCode_vals), 0,
8123 "x411.PostalCode", HFILL }},
8124 { &hf_x411_PhysicalDeliveryOfficeName_PDU,
8125 { "PhysicalDeliveryOfficeName", "x411.PhysicalDeliveryOfficeName",
8126 FT_NONE, BASE_NONE, NULL, 0,
8127 "x411.PhysicalDeliveryOfficeName", HFILL }},
8128 { &hf_x411_ExtendedEncodedInformationType_PDU,
8129 { "ExtendedEncodedInformationType", "x411.ExtendedEncodedInformationType",
8130 FT_OID, BASE_NONE, NULL, 0,
8131 "x411.ExtendedEncodedInformationType", HFILL }},
8132 { &hf_x411_MTANameAndOptionalGDI_PDU,
8133 { "MTANameAndOptionalGDI", "x411.MTANameAndOptionalGDI",
8134 FT_NONE, BASE_NONE, NULL, 0,
8135 "x411.MTANameAndOptionalGDI", HFILL }},
8136 { &hf_x411_AsymmetricToken_PDU,
8137 { "AsymmetricToken", "x411.AsymmetricToken",
8138 FT_NONE, BASE_NONE, NULL, 0,
8139 "x411.AsymmetricToken", HFILL }},
8140 { &hf_x411_BindTokenSignedData_PDU,
8141 { "BindTokenSignedData", "x411.BindTokenSignedData",
8142 FT_BYTES, BASE_HEX, NULL, 0,
8143 "x411.BindTokenSignedData", HFILL }},
8144 { &hf_x411_MessageTokenSignedData_PDU,
8145 { "MessageTokenSignedData", "x411.MessageTokenSignedData",
8146 FT_NONE, BASE_NONE, NULL, 0,
8147 "x411.MessageTokenSignedData", HFILL }},
8148 { &hf_x411_MessageTokenEncryptedData_PDU,
8149 { "MessageTokenEncryptedData", "x411.MessageTokenEncryptedData",
8150 FT_NONE, BASE_NONE, NULL, 0,
8151 "x411.MessageTokenEncryptedData", HFILL }},
8152 { &hf_x411_BindTokenEncryptedData_PDU,
8153 { "BindTokenEncryptedData", "x411.BindTokenEncryptedData",
8154 FT_NONE, BASE_NONE, NULL, 0,
8155 "x411.BindTokenEncryptedData", HFILL }},
8156 { &hf_x411_unauthenticated,
8157 { "unauthenticated", "x411.unauthenticated",
8158 FT_NONE, BASE_NONE, NULL, 0,
8159 "x411.NULL", HFILL }},
8160 { &hf_x411_authenticated_argument,
8161 { "authenticated", "x411.authenticated",
8162 FT_NONE, BASE_NONE, NULL, 0,
8163 "x411.AuthenticatedArgument", HFILL }},
8164 { &hf_x411_authenticated_initiator_name,
8165 { "initiator-name", "x411.initiator_name",
8166 FT_STRING, BASE_NONE, NULL, 0,
8167 "x411.MTAName", HFILL }},
8168 { &hf_x411_initiator_credentials,
8169 { "initiator-credentials", "x411.initiator_credentials",
8170 FT_UINT32, BASE_DEC, VALS(x411_Credentials_vals), 0,
8171 "x411.InitiatorCredentials", HFILL }},
8172 { &hf_x411_security_context,
8173 { "security-context", "x411.security_context",
8174 FT_UINT32, BASE_DEC, NULL, 0,
8175 "x411.SecurityContext", HFILL }},
8176 { &hf_x411_authenticated_result,
8177 { "authenticated", "x411.authenticated",
8178 FT_NONE, BASE_NONE, NULL, 0,
8179 "x411.AuthenticatedResult", HFILL }},
8180 { &hf_x411_authenticated_responder_name,
8181 { "responder-name", "x411.responder_name",
8182 FT_STRING, BASE_NONE, NULL, 0,
8183 "x411.MTAName", HFILL }},
8184 { &hf_x411_responder_credentials,
8185 { "responder-credentials", "x411.responder_credentials",
8186 FT_UINT32, BASE_DEC, VALS(x411_Credentials_vals), 0,
8187 "x411.ResponderCredentials", HFILL }},
8189 { "message", "x411.message",
8190 FT_NONE, BASE_NONE, NULL, 0,
8191 "x411.Message", HFILL }},
8193 { "report", "x411.report",
8194 FT_NONE, BASE_NONE, NULL, 0,
8195 "x411.Report", HFILL }},
8197 { "probe", "x411.probe",
8198 FT_NONE, BASE_NONE, NULL, 0,
8199 "x411.Probe", HFILL }},
8200 { &hf_x411_message_envelope,
8201 { "envelope", "x411.envelope",
8202 FT_NONE, BASE_NONE, NULL, 0,
8203 "x411.MessageTransferEnvelope", HFILL }},
8205 { "content", "x411.content",
8206 FT_BYTES, BASE_HEX, NULL, 0,
8207 "x411.Content", HFILL }},
8208 { &hf_x411_report_envelope,
8209 { "envelope", "x411.envelope",
8210 FT_NONE, BASE_NONE, NULL, 0,
8211 "x411.ReportTransferEnvelope", HFILL }},
8212 { &hf_x411_report_content,
8213 { "content", "x411.content",
8214 FT_NONE, BASE_NONE, NULL, 0,
8215 "x411.ReportTransferContent", HFILL }},
8216 { &hf_x411_message_identifier,
8217 { "message-identifier", "x411.message_identifier",
8218 FT_NONE, BASE_NONE, NULL, 0,
8219 "x411.MessageIdentifier", HFILL }},
8220 { &hf_x411_mta_originator_name,
8221 { "originator-name", "x411.originator_name",
8222 FT_NONE, BASE_NONE, NULL, 0,
8223 "x411.MTAOriginatorName", HFILL }},
8224 { &hf_x411_original_encoded_information_types,
8225 { "original-encoded-information-types", "x411.original_encoded_information_types",
8226 FT_NONE, BASE_NONE, NULL, 0,
8227 "x411.OriginalEncodedInformationTypes", HFILL }},
8228 { &hf_x411_content_type,
8229 { "content-type", "x411.content_type",
8230 FT_UINT32, BASE_DEC, VALS(x411_ContentType_vals), 0,
8231 "x411.ContentType", HFILL }},
8232 { &hf_x411_content_identifier,
8233 { "content-identifier", "x411.content_identifier",
8234 FT_STRING, BASE_NONE, NULL, 0,
8235 "x411.ContentIdentifier", HFILL }},
8236 { &hf_x411_priority,
8237 { "priority", "x411.priority",
8238 FT_UINT32, BASE_DEC, VALS(x411_Priority_vals), 0,
8239 "x411.Priority", HFILL }},
8240 { &hf_x411_per_message_indicators,
8241 { "per-message-indicators", "x411.per_message_indicators",
8242 FT_BYTES, BASE_HEX, NULL, 0,
8243 "x411.PerMessageIndicators", HFILL }},
8244 { &hf_x411_deferred_delivery_time,
8245 { "deferred-delivery-time", "x411.deferred_delivery_time",
8246 FT_STRING, BASE_NONE, NULL, 0,
8247 "x411.DeferredDeliveryTime", HFILL }},
8248 { &hf_x411_per_domain_bilateral_information,
8249 { "per-domain-bilateral-information", "x411.per_domain_bilateral_information",
8250 FT_UINT32, BASE_DEC, NULL, 0,
8251 "x411.SEQUENCE_OF_PerDomainBilateralInformation", HFILL }},
8252 { &hf_x411_per_domain_bilateral_information_item,
8253 { "Item", "x411.per_domain_bilateral_information_item",
8254 FT_NONE, BASE_NONE, NULL, 0,
8255 "x411.PerDomainBilateralInformation", HFILL }},
8256 { &hf_x411_trace_information,
8257 { "trace-information", "x411.trace_information",
8258 FT_UINT32, BASE_DEC, NULL, 0,
8259 "x411.TraceInformation", HFILL }},
8260 { &hf_x411_extensions,
8261 { "extensions", "x411.extensions",
8262 FT_UINT32, BASE_DEC, NULL, 0,
8263 "x411.SET_OF_ExtensionField", HFILL }},
8264 { &hf_x411_extensions_item,
8265 { "Item", "x411.extensions_item",
8266 FT_NONE, BASE_NONE, NULL, 0,
8267 "x411.ExtensionField", HFILL }},
8268 { &hf_x411_per_recipient_message_fields,
8269 { "per-recipient-fields", "x411.per_recipient_fields",
8270 FT_UINT32, BASE_DEC, NULL, 0,
8271 "x411.SEQUENCE_OF_PerRecipientMessageTransferFields", HFILL }},
8272 { &hf_x411_per_recipient_message_fields_item,
8273 { "Item", "x411.per_recipient_fields_item",
8274 FT_NONE, BASE_NONE, NULL, 0,
8275 "x411.PerRecipientMessageTransferFields", HFILL }},
8276 { &hf_x411_recipient_name,
8277 { "recipient-name", "x411.recipient_name",
8278 FT_NONE, BASE_NONE, NULL, 0,
8279 "x411.MTARecipientName", HFILL }},
8280 { &hf_x411_originally_specified_recipient_number,
8281 { "originally-specified-recipient-number", "x411.originally_specified_recipient_number",
8282 FT_INT32, BASE_DEC, NULL, 0,
8283 "x411.OriginallySpecifiedRecipientNumber", HFILL }},
8284 { &hf_x411_per_recipient_indicators,
8285 { "per-recipient-indicators", "x411.per_recipient_indicators",
8286 FT_BYTES, BASE_HEX, NULL, 0,
8287 "x411.PerRecipientIndicators", HFILL }},
8288 { &hf_x411_explicit_conversion,
8289 { "explicit-conversion", "x411.explicit_conversion",
8290 FT_UINT32, BASE_DEC, VALS(x411_ExplicitConversion_vals), 0,
8291 "x411.ExplicitConversion", HFILL }},
8292 { &hf_x411_probe_identifier,
8293 { "probe-identifier", "x411.probe_identifier",
8294 FT_NONE, BASE_NONE, NULL, 0,
8295 "x411.ProbeIdentifier", HFILL }},
8296 { &hf_x411_content_length,
8297 { "content-length", "x411.content_length",
8298 FT_UINT32, BASE_DEC, NULL, 0,
8299 "x411.ContentLength", HFILL }},
8300 { &hf_x411_per_recipient_probe_transfer_fields,
8301 { "per-recipient-fields", "x411.per_recipient_fields",
8302 FT_UINT32, BASE_DEC, NULL, 0,
8303 "x411.SEQUENCE_OF_PerRecipientProbeTransferFields", HFILL }},
8304 { &hf_x411_per_recipient_probe_transfer_fields_item,
8305 { "Item", "x411.per_recipient_fields_item",
8306 FT_NONE, BASE_NONE, NULL, 0,
8307 "x411.PerRecipientProbeTransferFields", HFILL }},
8308 { &hf_x411_report_identifier,
8309 { "report-identifier", "x411.report_identifier",
8310 FT_NONE, BASE_NONE, NULL, 0,
8311 "x411.ReportIdentifier", HFILL }},
8312 { &hf_x411_report_destination_name,
8313 { "report-destination-name", "x411.report_destination_name",
8314 FT_NONE, BASE_NONE, NULL, 0,
8315 "x411.ReportDestinationName", HFILL }},
8316 { &hf_x411_subject_identifier,
8317 { "subject-identifier", "x411.subject_identifier",
8318 FT_NONE, BASE_NONE, NULL, 0,
8319 "x411.SubjectIdentifier", HFILL }},
8320 { &hf_x411_subject_intermediate_trace_information,
8321 { "subject-intermediate-trace-information", "x411.subject_intermediate_trace_information",
8322 FT_UINT32, BASE_DEC, NULL, 0,
8323 "x411.SubjectIntermediateTraceInformation", HFILL }},
8324 { &hf_x411_returned_content,
8325 { "returned-content", "x411.returned_content",
8326 FT_BYTES, BASE_HEX, NULL, 0,
8327 "x411.Content", HFILL }},
8328 { &hf_x411_additional_information,
8329 { "additional-information", "x411.additional_information",
8330 FT_NONE, BASE_NONE, NULL, 0,
8331 "x411.AdditionalInformation", HFILL }},
8332 { &hf_x411_per_recipient_report_fields,
8333 { "per-recipient-fields", "x411.per_recipient_fields",
8334 FT_UINT32, BASE_DEC, NULL, 0,
8335 "x411.SEQUENCE_OF_PerRecipientReportTransferFields", HFILL }},
8336 { &hf_x411_per_recipient_report_fields_item,
8337 { "Item", "x411.per_recipient_fields_item",
8338 FT_NONE, BASE_NONE, NULL, 0,
8339 "x411.PerRecipientReportTransferFields", HFILL }},
8340 { &hf_x411_mta_actual_recipient_name,
8341 { "actual-recipient-name", "x411.actual_recipient_name",
8342 FT_NONE, BASE_NONE, NULL, 0,
8343 "x411.MTAActualRecipientName", HFILL }},
8344 { &hf_x411_last_trace_information,
8345 { "last-trace-information", "x411.last_trace_information",
8346 FT_NONE, BASE_NONE, NULL, 0,
8347 "x411.LastTraceInformation", HFILL }},
8348 { &hf_x411_report_originally_intended_recipient_name,
8349 { "originally-intended-recipient-name", "x411.originally_intended_recipient_name",
8350 FT_NONE, BASE_NONE, NULL, 0,
8351 "x411.MTAOriginallyIntendedRecipientName", HFILL }},
8352 { &hf_x411_supplementary_information,
8353 { "supplementary-information", "x411.supplementary_information",
8354 FT_STRING, BASE_NONE, NULL, 0,
8355 "x411.SupplementaryInformation", HFILL }},
8356 { &hf_x411_country_name,
8357 { "country-name", "x411.country_name",
8358 FT_UINT32, BASE_DEC, VALS(x411_CountryName_vals), 0,
8359 "x411.CountryName", HFILL }},
8360 { &hf_x411_bilateral_domain,
8361 { "domain", "x411.domain",
8362 FT_UINT32, BASE_DEC, VALS(x411_T_bilateral_domain_vals), 0,
8363 "x411.T_bilateral_domain", HFILL }},
8364 { &hf_x411_administration_domain_name,
8365 { "administration-domain-name", "x411.administration_domain_name",
8366 FT_UINT32, BASE_DEC, VALS(x411_AdministrationDomainName_vals), 0,
8367 "x411.AdministrationDomainName", HFILL }},
8368 { &hf_x411_private_domain,
8369 { "private-domain", "x411.private_domain",
8370 FT_NONE, BASE_NONE, NULL, 0,
8371 "x411.T_private_domain", HFILL }},
8372 { &hf_x411_private_domain_identifier,
8373 { "private-domain-identifier", "x411.private_domain_identifier",
8374 FT_UINT32, BASE_DEC, VALS(x411_PrivateDomainIdentifier_vals), 0,
8375 "x411.PrivateDomainIdentifier", HFILL }},
8376 { &hf_x411_bilateral_information,
8377 { "bilateral-information", "x411.bilateral_information",
8378 FT_NONE, BASE_NONE, NULL, 0,
8379 "x411.T_bilateral_information", HFILL }},
8380 { &hf_x411_arrival_time,
8381 { "arrival-time", "x411.arrival_time",
8382 FT_STRING, BASE_NONE, NULL, 0,
8383 "x411.ArrivalTime", HFILL }},
8384 { &hf_x411_converted_encoded_information_types,
8385 { "converted-encoded-information-types", "x411.converted_encoded_information_types",
8386 FT_NONE, BASE_NONE, NULL, 0,
8387 "x411.ConvertedEncodedInformationTypes", HFILL }},
8388 { &hf_x411_trace_report_type,
8389 { "report-type", "x411.report_type",
8390 FT_UINT32, BASE_DEC, VALS(x411_ReportType_vals), 0,
8391 "x411.ReportType", HFILL }},
8392 { &hf_x411_InternalTraceInformation_item,
8393 { "Item", "x411.InternalTraceInformation_item",
8394 FT_NONE, BASE_NONE, NULL, 0,
8395 "x411.InternalTraceInformationElement", HFILL }},
8396 { &hf_x411_global_domain_identifier,
8397 { "global-domain-identifier", "x411.global_domain_identifier",
8398 FT_NONE, BASE_NONE, NULL, 0,
8399 "x411.GlobalDomainIdentifier", HFILL }},
8400 { &hf_x411_mta_name,
8401 { "mta-name", "x411.mta_name",
8402 FT_STRING, BASE_NONE, NULL, 0,
8403 "x411.MTAName", HFILL }},
8404 { &hf_x411_mta_supplied_information,
8405 { "mta-supplied-information", "x411.mta_supplied_information",
8406 FT_NONE, BASE_NONE, NULL, 0,
8407 "x411.MTASuppliedInformation", HFILL }},
8408 { &hf_x411_routing_action,
8409 { "routing-action", "x411.routing_action",
8410 FT_UINT32, BASE_DEC, VALS(x411_RoutingAction_vals), 0,
8411 "x411.RoutingAction", HFILL }},
8412 { &hf_x411_attempted,
8413 { "attempted", "x411.attempted",
8414 FT_UINT32, BASE_DEC, VALS(x411_T_attempted_vals), 0,
8415 "x411.T_attempted", HFILL }},
8417 { "mta", "x411.mta",
8418 FT_STRING, BASE_NONE, NULL, 0,
8419 "x411.MTAName", HFILL }},
8421 { "domain", "x411.domain",
8422 FT_NONE, BASE_NONE, NULL, 0,
8423 "x411.GlobalDomainIdentifier", HFILL }},
8424 { &hf_x411_deferred_time,
8425 { "deferred-time", "x411.deferred_time",
8426 FT_STRING, BASE_NONE, NULL, 0,
8427 "x411.DeferredTime", HFILL }},
8428 { &hf_x411_other_actions,
8429 { "other-actions", "x411.other_actions",
8430 FT_BYTES, BASE_HEX, NULL, 0,
8431 "x411.OtherActions", HFILL }},
8432 { &hf_x411_TraceInformation_item,
8433 { "Item", "x411.TraceInformation_item",
8434 FT_NONE, BASE_NONE, NULL, 0,
8435 "x411.TraceInformationElement", HFILL }},
8436 { &hf_x411_domain_supplied_information,
8437 { "domain-supplied-information", "x411.domain_supplied_information",
8438 FT_NONE, BASE_NONE, NULL, 0,
8439 "x411.DomainSuppliedInformation", HFILL }},
8440 { &hf_x411_attempted_domain,
8441 { "attempted-domain", "x411.attempted_domain",
8442 FT_NONE, BASE_NONE, NULL, 0,
8443 "x411.GlobalDomainIdentifier", HFILL }},
8444 { &hf_x411_initiator_name,
8445 { "initiator-name", "x411.initiator_name",
8446 FT_UINT32, BASE_DEC, VALS(x411_ObjectName_vals), 0,
8447 "x411.ObjectName", HFILL }},
8448 { &hf_x411_messages_waiting,
8449 { "messages-waiting", "x411.messages_waiting",
8450 FT_NONE, BASE_NONE, NULL, 0,
8451 "x411.MessagesWaiting", HFILL }},
8452 { &hf_x411_responder_name,
8453 { "responder-name", "x411.responder_name",
8454 FT_UINT32, BASE_DEC, VALS(x411_ObjectName_vals), 0,
8455 "x411.ObjectName", HFILL }},
8456 { &hf_x411_user_agent,
8457 { "user-agent", "x411.user_agent",
8458 FT_NONE, BASE_NONE, NULL, 0,
8459 "x411.ORAddressAndOptionalDirectoryName", HFILL }},
8461 { "mTA", "x411.mTA",
8462 FT_STRING, BASE_NONE, NULL, 0,
8463 "x411.MTAName", HFILL }},
8464 { &hf_x411_message_store,
8465 { "message-store", "x411.message_store",
8466 FT_NONE, BASE_NONE, NULL, 0,
8467 "x411.ORAddressAndOptionalDirectoryName", HFILL }},
8469 { "urgent", "x411.urgent",
8470 FT_NONE, BASE_NONE, NULL, 0,
8471 "x411.DeliveryQueue", HFILL }},
8473 { "normal", "x411.normal",
8474 FT_NONE, BASE_NONE, NULL, 0,
8475 "x411.DeliveryQueue", HFILL }},
8476 { &hf_x411_non_urgent,
8477 { "non-urgent", "x411.non_urgent",
8478 FT_NONE, BASE_NONE, NULL, 0,
8479 "x411.DeliveryQueue", HFILL }},
8480 { &hf_x411_messages,
8481 { "messages", "x411.messages",
8482 FT_INT32, BASE_DEC, NULL, 0,
8483 "x411.INTEGER", HFILL }},
8484 { &hf_x411_delivery_queue_octets,
8485 { "octets", "x411.octets",
8486 FT_INT32, BASE_DEC, NULL, 0,
8487 "x411.INTEGER", HFILL }},
8489 { "simple", "x411.simple",
8490 FT_UINT32, BASE_DEC, VALS(x411_Password_vals), 0,
8491 "x411.Password", HFILL }},
8493 { "strong", "x411.strong",
8494 FT_NONE, BASE_NONE, NULL, 0,
8495 "x411.StrongCredentials", HFILL }},
8496 { &hf_x411_protected,
8497 { "protected", "x411.protected",
8498 FT_NONE, BASE_NONE, NULL, 0,
8499 "x411.ProtectedPassword", HFILL }},
8500 { &hf_x411_ia5_string,
8501 { "ia5-string", "x411.ia5_string",
8502 FT_STRING, BASE_NONE, NULL, 0,
8503 "x411.IA5String", HFILL }},
8504 { &hf_x411_octet_string,
8505 { "octet-string", "x411.octet_string",
8506 FT_BYTES, BASE_HEX, NULL, 0,
8507 "x411.OCTET_STRING", HFILL }},
8508 { &hf_x411_bind_token,
8509 { "bind-token", "x411.bind_token",
8510 FT_NONE, BASE_NONE, NULL, 0,
8511 "x411.Token", HFILL }},
8512 { &hf_x411_certificate,
8513 { "certificate", "x411.certificate",
8514 FT_NONE, BASE_NONE, NULL, 0,
8515 "x509af.Certificates", HFILL }},
8516 { &hf_x411_certificate_selector,
8517 { "certificate-selector", "x411.certificate_selector",
8518 FT_NONE, BASE_NONE, NULL, 0,
8519 "x509ce.CertificateAssertion", HFILL }},
8520 { &hf_x411_signature,
8521 { "signature", "x411.signature",
8522 FT_NONE, BASE_NONE, NULL, 0,
8523 "x411.Signature", HFILL }},
8525 { "time1", "x411.time1",
8526 FT_STRING, BASE_NONE, NULL, 0,
8527 "x411.UTCTime", HFILL }},
8529 { "time2", "x411.time2",
8530 FT_STRING, BASE_NONE, NULL, 0,
8531 "x411.UTCTime", HFILL }},
8533 { "random1", "x411.random1",
8534 FT_BYTES, BASE_HEX, NULL, 0,
8535 "x411.BIT_STRING", HFILL }},
8537 { "random2", "x411.random2",
8538 FT_BYTES, BASE_HEX, NULL, 0,
8539 "x411.BIT_STRING", HFILL }},
8540 { &hf_x411_algorithmIdentifier,
8541 { "algorithmIdentifier", "x411.algorithmIdentifier",
8542 FT_NONE, BASE_NONE, NULL, 0,
8543 "x509af.AlgorithmIdentifier", HFILL }},
8544 { &hf_x411_encrypted,
8545 { "encrypted", "x411.encrypted",
8546 FT_BYTES, BASE_HEX, NULL, 0,
8547 "x411.BIT_STRING", HFILL }},
8548 { &hf_x411_SecurityContext_item,
8549 { "Item", "x411.SecurityContext_item",
8550 FT_NONE, BASE_NONE, NULL, 0,
8551 "x411.SecurityLabel", HFILL }},
8552 { &hf_x411_message_submission_envelope,
8553 { "envelope", "x411.envelope",
8554 FT_NONE, BASE_NONE, NULL, 0,
8555 "x411.MessageSubmissionEnvelope", HFILL }},
8556 { &hf_x411_message_submission_identifier,
8557 { "message-submission-identifier", "x411.message_submission_identifier",
8558 FT_NONE, BASE_NONE, NULL, 0,
8559 "x411.MessageSubmissionIdentifier", HFILL }},
8560 { &hf_x411_message_submission_time,
8561 { "message-submission-time", "x411.message_submission_time",
8562 FT_STRING, BASE_NONE, NULL, 0,
8563 "x411.MessageSubmissionTime", HFILL }},
8564 { &hf_x411_probe_submission_identifier,
8565 { "probe-submission-identifier", "x411.probe_submission_identifier",
8566 FT_NONE, BASE_NONE, NULL, 0,
8567 "x411.ProbeSubmissionIdentifier", HFILL }},
8568 { &hf_x411_probe_submission_time,
8569 { "probe-submission-time", "x411.probe_submission_time",
8570 FT_STRING, BASE_NONE, NULL, 0,
8571 "x411.ProbeSubmissionTime", HFILL }},
8572 { &hf_x411_ImproperlySpecifiedRecipients_item,
8573 { "Item", "x411.ImproperlySpecifiedRecipients_item",
8574 FT_NONE, BASE_NONE, NULL, 0,
8575 "x411.MTSRecipientName", HFILL }},
8576 { &hf_x411_waiting_operations,
8577 { "waiting-operations", "x411.waiting_operations",
8578 FT_BYTES, BASE_HEX, NULL, 0,
8579 "x411.Operations", HFILL }},
8580 { &hf_x411_waiting_messages,
8581 { "waiting-messages", "x411.waiting_messages",
8582 FT_BYTES, BASE_HEX, NULL, 0,
8583 "x411.WaitingMessages", HFILL }},
8584 { &hf_x411_waiting_content_types,
8585 { "waiting-content-types", "x411.waiting_content_types",
8586 FT_UINT32, BASE_DEC, NULL, 0,
8587 "x411.SET_OF_ContentType", HFILL }},
8588 { &hf_x411_waiting_content_types_item,
8589 { "Item", "x411.waiting_content_types_item",
8590 FT_UINT32, BASE_DEC, VALS(x411_ContentType_vals), 0,
8591 "x411.ContentType", HFILL }},
8592 { &hf_x411_waiting_encoded_information_types,
8593 { "waiting-encoded-information-types", "x411.waiting_encoded_information_types",
8594 FT_NONE, BASE_NONE, NULL, 0,
8595 "x411.EncodedInformationTypes", HFILL }},
8596 { &hf_x411_message_delivery_identifier,
8597 { "message-delivery-identifier", "x411.message_delivery_identifier",
8598 FT_NONE, BASE_NONE, NULL, 0,
8599 "x411.MessageDeliveryIdentifier", HFILL }},
8600 { &hf_x411_message_delivery_time,
8601 { "message-delivery-time", "x411.message_delivery_time",
8602 FT_STRING, BASE_NONE, NULL, 0,
8603 "x411.MessageDeliveryTime", HFILL }},
8604 { &hf_x411_other_fields,
8605 { "other-fields", "x411.other_fields",
8606 FT_NONE, BASE_NONE, NULL, 0,
8607 "x411.OtherMessageDeliveryFields", HFILL }},
8608 { &hf_x411_recipient_certificate,
8609 { "recipient-certificate", "x411.recipient_certificate",
8610 FT_NONE, BASE_NONE, NULL, 0,
8611 "x411.RecipientCertificate", HFILL }},
8612 { &hf_x411_proof_of_delivery,
8613 { "proof-of-delivery", "x411.proof_of_delivery",
8614 FT_NONE, BASE_NONE, NULL, 0,
8615 "x411.ProofOfDelivery", HFILL }},
8616 { &hf_x411_subject_submission_identifier,
8617 { "subject-submission-identifier", "x411.subject_submission_identifier",
8618 FT_NONE, BASE_NONE, NULL, 0,
8619 "x411.SubjectSubmissionIdentifier", HFILL }},
8620 { &hf_x411_per_recipient_report_delivery_fields,
8621 { "per-recipient-fields", "x411.per_recipient_fields",
8622 FT_UINT32, BASE_DEC, NULL, 0,
8623 "x411.SEQUENCE_OF_PerRecipientReportDeliveryFields", HFILL }},
8624 { &hf_x411_per_recipient_report_delivery_fields_item,
8625 { "Item", "x411.per_recipient_fields_item",
8626 FT_NONE, BASE_NONE, NULL, 0,
8627 "x411.PerRecipientReportDeliveryFields", HFILL }},
8628 { &hf_x411_empty_result,
8629 { "empty-result", "x411.empty_result",
8630 FT_NONE, BASE_NONE, NULL, 0,
8631 "x411.NULL", HFILL }},
8632 { &hf_x411_restrict,
8633 { "restrict", "x411.restrict",
8634 FT_BOOLEAN, 8, NULL, 0,
8635 "x411.BOOLEAN", HFILL }},
8636 { &hf_x411_permissible_operations,
8637 { "permissible-operations", "x411.permissible_operations",
8638 FT_BYTES, BASE_HEX, NULL, 0,
8639 "x411.Operations", HFILL }},
8640 { &hf_x411_permissible_maximum_content_length,
8641 { "permissible-maximum-content-length", "x411.permissible_maximum_content_length",
8642 FT_UINT32, BASE_DEC, NULL, 0,
8643 "x411.ContentLength", HFILL }},
8644 { &hf_x411_permissible_lowest_priority,
8645 { "permissible-lowest-priority", "x411.permissible_lowest_priority",
8646 FT_UINT32, BASE_DEC, VALS(x411_Priority_vals), 0,
8647 "x411.Priority", HFILL }},
8648 { &hf_x411_permissible_content_types,
8649 { "permissible-content-types", "x411.permissible_content_types",
8650 FT_UINT32, BASE_DEC, NULL, 0,
8651 "x411.ContentTypes", HFILL }},
8652 { &hf_x411_permissible_encoded_information_types,
8653 { "permissible-encoded-information-types", "x411.permissible_encoded_information_types",
8654 FT_NONE, BASE_NONE, NULL, 0,
8655 "x411.PermissibleEncodedInformationTypes", HFILL }},
8656 { &hf_x411_permissible_security_context,
8657 { "permissible-security-context", "x411.permissible_security_context",
8658 FT_UINT32, BASE_DEC, NULL, 0,
8659 "x411.SecurityContext", HFILL }},
8660 { &hf_x411_refused_argument,
8661 { "refused-argument", "x411.refused_argument",
8662 FT_UINT32, BASE_DEC, VALS(x411_T_refused_argument_vals), 0,
8663 "x411.T_refused_argument", HFILL }},
8664 { &hf_x411_built_in_argument,
8665 { "built-in-argument", "x411.built_in_argument",
8666 FT_UINT32, BASE_DEC, VALS(x411_RefusedArgument_vals), 0,
8667 "x411.RefusedArgument", HFILL }},
8668 { &hf_x411_refused_extension,
8669 { "refused-extension", "x411.refused_extension",
8670 FT_NONE, BASE_NONE, NULL, 0,
8671 "x411.T_refused_extension", HFILL }},
8672 { &hf_x411_refusal_reason,
8673 { "refusal-reason", "x411.refusal_reason",
8674 FT_UINT32, BASE_DEC, VALS(x411_RefusalReason_vals), 0,
8675 "x411.RefusalReason", HFILL }},
8676 { &hf_x411_user_name,
8677 { "user-name", "x411.user_name",
8678 FT_NONE, BASE_NONE, NULL, 0,
8679 "x411.UserName", HFILL }},
8680 { &hf_x411_user_address,
8681 { "user-address", "x411.user_address",
8682 FT_UINT32, BASE_DEC, VALS(x411_UserAddress_vals), 0,
8683 "x411.UserAddress", HFILL }},
8684 { &hf_x411_deliverable_class,
8685 { "deliverable-class", "x411.deliverable_class",
8686 FT_UINT32, BASE_DEC, NULL, 0,
8687 "x411.SET_OF_DeliverableClass", HFILL }},
8688 { &hf_x411_deliverable_class_item,
8689 { "Item", "x411.deliverable_class_item",
8690 FT_NONE, BASE_NONE, NULL, 0,
8691 "x411.DeliverableClass", HFILL }},
8692 { &hf_x411_default_delivery_controls,
8693 { "default-delivery-controls", "x411.default_delivery_controls",
8694 FT_NONE, BASE_NONE, NULL, 0,
8695 "x411.DefaultDeliveryControls", HFILL }},
8696 { &hf_x411_redirections,
8697 { "redirections", "x411.redirections",
8698 FT_UINT32, BASE_DEC, NULL, 0,
8699 "x411.Redirections", HFILL }},
8700 { &hf_x411_restricted_delivery,
8701 { "restricted-delivery", "x411.restricted_delivery",
8702 FT_UINT32, BASE_DEC, NULL, 0,
8703 "x411.RestrictedDelivery", HFILL }},
8704 { &hf_x411_retrieve_registrations,
8705 { "retrieve-registrations", "x411.retrieve_registrations",
8706 FT_NONE, BASE_NONE, NULL, 0,
8707 "x411.RegistrationTypes", HFILL }},
8708 { &hf_x411_non_empty_result,
8709 { "non-empty-result", "x411.non_empty_result",
8710 FT_NONE, BASE_NONE, NULL, 0,
8711 "x411.T_non_empty_result", HFILL }},
8712 { &hf_x411_registered_information,
8713 { "registered-information", "x411.registered_information",
8714 FT_NONE, BASE_NONE, NULL, 0,
8715 "x411.RegisterArgument", HFILL }},
8716 { &hf_x411_old_credentials,
8717 { "old-credentials", "x411.old_credentials",
8718 FT_UINT32, BASE_DEC, VALS(x411_Credentials_vals), 0,
8719 "x411.Credentials", HFILL }},
8720 { &hf_x411_new_credentials,
8721 { "new-credentials", "x411.new_credentials",
8722 FT_UINT32, BASE_DEC, VALS(x411_Credentials_vals), 0,
8723 "x411.Credentials", HFILL }},
8725 { "x121", "x411.x121",
8726 FT_NONE, BASE_NONE, NULL, 0,
8727 "x411.T_x121", HFILL }},
8728 { &hf_x411_x121_address,
8729 { "x121-address", "x411.x121_address",
8730 FT_STRING, BASE_NONE, NULL, 0,
8731 "x411.AddrNumericString", HFILL }},
8733 { "tsap-id", "x411.tsap_id",
8734 FT_STRING, BASE_NONE, NULL, 0,
8735 "x411.PrintableString", HFILL }},
8736 { &hf_x411_presentation,
8737 { "presentation", "x411.presentation",
8738 FT_NONE, BASE_NONE, NULL, 0,
8739 "x411.PSAPAddress", HFILL }},
8740 { &hf_x411_Redirections_item,
8741 { "Item", "x411.Redirections_item",
8742 FT_NONE, BASE_NONE, NULL, 0,
8743 "x411.RecipientRedirection", HFILL }},
8744 { &hf_x411_redirection_classes,
8745 { "redirection-classes", "x411.redirection_classes",
8746 FT_UINT32, BASE_DEC, NULL, 0,
8747 "x411.SET_OF_RedirectionClass", HFILL }},
8748 { &hf_x411_redirection_classes_item,
8749 { "Item", "x411.redirection_classes_item",
8750 FT_NONE, BASE_NONE, NULL, 0,
8751 "x411.RedirectionClass", HFILL }},
8752 { &hf_x411_recipient_assigned_alternate_recipient,
8753 { "recipient-assigned-alternate-recipient", "x411.recipient_assigned_alternate_recipient",
8754 FT_NONE, BASE_NONE, NULL, 0,
8755 "x411.RecipientAssignedAlternateRecipient", HFILL }},
8756 { &hf_x411_content_types,
8757 { "content-types", "x411.content_types",
8758 FT_UINT32, BASE_DEC, NULL, 0,
8759 "x411.ContentTypes", HFILL }},
8760 { &hf_x411_maximum_content_length,
8761 { "maximum-content-length", "x411.maximum_content_length",
8762 FT_UINT32, BASE_DEC, NULL, 0,
8763 "x411.ContentLength", HFILL }},
8764 { &hf_x411_encoded_information_types_constraints,
8765 { "encoded-information-types-constraints", "x411.encoded_information_types_constraints",
8766 FT_NONE, BASE_NONE, NULL, 0,
8767 "x411.EncodedInformationTypesConstraints", HFILL }},
8768 { &hf_x411_security_labels,
8769 { "security-labels", "x411.security_labels",
8770 FT_UINT32, BASE_DEC, NULL, 0,
8771 "x411.SecurityContext", HFILL }},
8772 { &hf_x411_class_priority,
8773 { "priority", "x411.priority",
8774 FT_UINT32, BASE_DEC, NULL, 0,
8775 "x411.SET_OF_Priority", HFILL }},
8776 { &hf_x411_class_priority_item,
8777 { "Item", "x411.priority_item",
8778 FT_UINT32, BASE_DEC, VALS(x411_Priority_vals), 0,
8779 "x411.Priority", HFILL }},
8781 { "objects", "x411.objects",
8782 FT_UINT32, BASE_DEC, VALS(x411_T_objects_vals), 0,
8783 "x411.T_objects", HFILL }},
8784 { &hf_x411_applies_only_to,
8785 { "applies-only-to", "x411.applies_only_to",
8786 FT_UINT32, BASE_DEC, NULL, 0,
8787 "x411.SEQUENCE_OF_Restriction", HFILL }},
8788 { &hf_x411_applies_only_to_item,
8789 { "Item", "x411.applies_only_to_item",
8790 FT_NONE, BASE_NONE, NULL, 0,
8791 "x411.Restriction", HFILL }},
8792 { &hf_x411_unacceptable_eits,
8793 { "unacceptable-eits", "x411.unacceptable_eits",
8794 FT_UINT32, BASE_DEC, NULL, 0,
8795 "x411.ExtendedEncodedInformationTypes", HFILL }},
8796 { &hf_x411_acceptable_eits,
8797 { "acceptable-eits", "x411.acceptable_eits",
8798 FT_UINT32, BASE_DEC, NULL, 0,
8799 "x411.ExtendedEncodedInformationTypes", HFILL }},
8800 { &hf_x411_exclusively_acceptable_eits,
8801 { "exclusively-acceptable-eits", "x411.exclusively_acceptable_eits",
8802 FT_UINT32, BASE_DEC, NULL, 0,
8803 "x411.ExtendedEncodedInformationTypes", HFILL }},
8804 { &hf_x411_RestrictedDelivery_item,
8805 { "Item", "x411.RestrictedDelivery_item",
8806 FT_NONE, BASE_NONE, NULL, 0,
8807 "x411.Restriction", HFILL }},
8808 { &hf_x411_permitted,
8809 { "permitted", "x411.permitted",
8810 FT_BOOLEAN, 8, NULL, 0,
8811 "x411.BOOLEAN", HFILL }},
8812 { &hf_x411_source_type,
8813 { "source-type", "x411.source_type",
8814 FT_BYTES, BASE_HEX, NULL, 0,
8815 "x411.T_source_type", HFILL }},
8816 { &hf_x411_source_name,
8817 { "source-name", "x411.source_name",
8818 FT_UINT32, BASE_DEC, VALS(x411_ExactOrPattern_vals), 0,
8819 "x411.ExactOrPattern", HFILL }},
8820 { &hf_x411_exact_match,
8821 { "exact-match", "x411.exact_match",
8822 FT_NONE, BASE_NONE, NULL, 0,
8823 "x411.ORName", HFILL }},
8824 { &hf_x411_pattern_match,
8825 { "pattern-match", "x411.pattern_match",
8826 FT_NONE, BASE_NONE, NULL, 0,
8827 "x411.ORName", HFILL }},
8828 { &hf_x411_standard_parameters,
8829 { "standard-parameters", "x411.standard_parameters",
8830 FT_BYTES, BASE_HEX, NULL, 0,
8831 "x411.T_standard_parameters", HFILL }},
8832 { &hf_x411_type_extensions,
8833 { "extensions", "x411.extensions",
8834 FT_UINT32, BASE_DEC, NULL, 0,
8835 "x411.T_type_extensions", HFILL }},
8836 { &hf_x411_type_extensions_item,
8837 { "Item", "x411.extensions_item",
8838 FT_NONE, BASE_NONE, NULL, 0,
8839 "x411.T_type_extensions_item", HFILL }},
8840 { &hf_x411_mts_originator_name,
8841 { "originator-name", "x411.originator_name",
8842 FT_NONE, BASE_NONE, NULL, 0,
8843 "x411.MTSOriginatorName", HFILL }},
8844 { &hf_x411_per_recipient_message_submission_fields,
8845 { "per-recipient-fields", "x411.per_recipient_fields",
8846 FT_UINT32, BASE_DEC, NULL, 0,
8847 "x411.SEQUENCE_OF_PerRecipientMessageSubmissionFields", HFILL }},
8848 { &hf_x411_per_recipient_message_submission_fields_item,
8849 { "Item", "x411.per_recipient_fields_item",
8850 FT_NONE, BASE_NONE, NULL, 0,
8851 "x411.PerRecipientMessageSubmissionFields", HFILL }},
8852 { &hf_x411_submission_recipient_name,
8853 { "recipient-name", "x411.recipient_name",
8854 FT_NONE, BASE_NONE, NULL, 0,
8855 "x411.MTSRecipientName", HFILL }},
8856 { &hf_x411_originator_report_request,
8857 { "originator-report-request", "x411.originator_report_request",
8858 FT_BYTES, BASE_HEX, NULL, 0,
8859 "x411.OriginatorReportRequest", HFILL }},
8860 { &hf_x411_per_recipient_probe_submission_fields,
8861 { "per-recipient-fields", "x411.per_recipient_fields",
8862 FT_UINT32, BASE_DEC, NULL, 0,
8863 "x411.SEQUENCE_OF_PerRecipientProbeSubmissionFields", HFILL }},
8864 { &hf_x411_per_recipient_probe_submission_fields_item,
8865 { "Item", "x411.per_recipient_fields_item",
8866 FT_NONE, BASE_NONE, NULL, 0,
8867 "x411.PerRecipientProbeSubmissionFields", HFILL }},
8868 { &hf_x411_probe_recipient_name,
8869 { "recipient-name", "x411.recipient_name",
8870 FT_NONE, BASE_NONE, NULL, 0,
8871 "x411.MTSRecipientName", HFILL }},
8872 { &hf_x411_delivered_content_type,
8873 { "content-type", "x411.content_type",
8874 FT_UINT32, BASE_DEC, VALS(x411_DeliveredContentType_vals), 0,
8875 "x411.DeliveredContentType", HFILL }},
8876 { &hf_x411_originator_name,
8877 { "originator-name", "x411.originator_name",
8878 FT_NONE, BASE_NONE, NULL, 0,
8879 "x411.DeliveredOriginatorName", HFILL }},
8880 { &hf_x411_delivery_flags,
8881 { "delivery-flags", "x411.delivery_flags",
8882 FT_BYTES, BASE_HEX, NULL, 0,
8883 "x411.DeliveryFlags", HFILL }},
8884 { &hf_x411_other_recipient_names,
8885 { "other-recipient-names", "x411.other_recipient_names",
8886 FT_UINT32, BASE_DEC, NULL, 0,
8887 "x411.OtherRecipientNames", HFILL }},
8888 { &hf_x411_this_recipient_name,
8889 { "this-recipient-name", "x411.this_recipient_name",
8890 FT_NONE, BASE_NONE, NULL, 0,
8891 "x411.ThisRecipientName", HFILL }},
8892 { &hf_x411_originally_intended_recipient_name,
8893 { "originally-intended-recipient-name", "x411.originally_intended_recipient_name",
8894 FT_NONE, BASE_NONE, NULL, 0,
8895 "x411.MTSOriginallyIntendedRecipientName", HFILL }},
8896 { &hf_x411_actual_recipient_name,
8897 { "actual-recipient-name", "x411.actual_recipient_name",
8898 FT_NONE, BASE_NONE, NULL, 0,
8899 "x411.MTSActualRecipientName", HFILL }},
8900 { &hf_x411_delivery_report_type,
8901 { "report-type", "x411.report_type",
8902 FT_UINT32, BASE_DEC, VALS(x411_ReportType_vals), 0,
8903 "x411.ReportType", HFILL }},
8904 { &hf_x411_delivery,
8905 { "delivery", "x411.delivery",
8906 FT_NONE, BASE_NONE, NULL, 0,
8907 "x411.DeliveryReport", HFILL }},
8908 { &hf_x411_non_delivery,
8909 { "non-delivery", "x411.non_delivery",
8910 FT_NONE, BASE_NONE, NULL, 0,
8911 "x411.NonDeliveryReport", HFILL }},
8912 { &hf_x411_type_of_MTS_user,
8913 { "type-of-MTS-user", "x411.type_of_MTS_user",
8914 FT_UINT32, BASE_DEC, VALS(x411_TypeOfMTSUser_vals), 0,
8915 "x411.TypeOfMTSUser", HFILL }},
8916 { &hf_x411_non_delivery_reason_code,
8917 { "non-delivery-reason-code", "x411.non_delivery_reason_code",
8918 FT_UINT32, BASE_DEC, VALS(x411_NonDeliveryReasonCode_vals), 0,
8919 "x411.NonDeliveryReasonCode", HFILL }},
8920 { &hf_x411_non_delivery_diagnostic_code,
8921 { "non-delivery-diagnostic-code", "x411.non_delivery_diagnostic_code",
8922 FT_UINT32, BASE_DEC, VALS(x411_NonDeliveryDiagnosticCode_vals), 0,
8923 "x411.NonDeliveryDiagnosticCode", HFILL }},
8924 { &hf_x411_ContentTypes_item,
8925 { "Item", "x411.ContentTypes_item",
8926 FT_UINT32, BASE_DEC, VALS(x411_ContentType_vals), 0,
8927 "x411.ContentType", HFILL }},
8928 { &hf_x411_built_in,
8929 { "built-in", "x411.built_in",
8930 FT_INT32, BASE_DEC, VALS(x411_BuiltInContentType_vals), 0,
8931 "x411.BuiltInContentType", HFILL }},
8932 { &hf_x411_extended,
8933 { "extended", "x411.extended",
8934 FT_OID, BASE_NONE, NULL, 0,
8935 "x411.ExtendedContentType", HFILL }},
8936 { &hf_x411_OtherRecipientNames_item,
8937 { "Item", "x411.OtherRecipientNames_item",
8938 FT_NONE, BASE_NONE, NULL, 0,
8939 "x411.OtherRecipientName", HFILL }},
8940 { &hf_x411_standard_extension,
8941 { "standard-extension", "x411.standard_extension",
8942 FT_INT32, BASE_DEC, NULL, 0,
8943 "x411.T_standard_extension", HFILL }},
8944 { &hf_x411_private_extension,
8945 { "private-extension", "x411.private_extension",
8946 FT_OID, BASE_NONE, NULL, 0,
8947 "x411.T_private_extension", HFILL }},
8948 { &hf_x411_extension_type,
8949 { "type", "x411.type",
8950 FT_UINT32, BASE_DEC, VALS(x411_ExtensionType_vals), 0,
8951 "x411.ExtensionType", HFILL }},
8952 { &hf_x411_criticality,
8953 { "criticality", "x411.criticality",
8954 FT_BYTES, BASE_HEX, NULL, 0,
8955 "x411.Criticality", HFILL }},
8956 { &hf_x411_extension_value,
8957 { "value", "x411.value",
8958 FT_NONE, BASE_NONE, NULL, 0,
8959 "x411.ExtensionValue", HFILL }},
8960 { &hf_x411_RequestedDeliveryMethod_item,
8961 { "Item", "x411.RequestedDeliveryMethod_item",
8962 FT_UINT32, BASE_DEC, VALS(x411_RequestedDeliveryMethod_item_vals), 0,
8963 "x411.RequestedDeliveryMethod_item", HFILL }},
8965 { "ia5text", "x411.ia5text",
8966 FT_STRING, BASE_NONE, NULL, 0,
8967 "x411.IA5String", HFILL }},
8969 { "octets", "x411.octets",
8970 FT_BYTES, BASE_HEX, NULL, 0,
8971 "x411.OCTET_STRING", HFILL }},
8972 { &hf_x411_RedirectionHistory_item,
8973 { "Item", "x411.RedirectionHistory_item",
8974 FT_NONE, BASE_NONE, NULL, 0,
8975 "x411.Redirection", HFILL }},
8976 { &hf_x411_intended_recipient_name,
8977 { "intended-recipient-name", "x411.intended_recipient_name",
8978 FT_NONE, BASE_NONE, NULL, 0,
8979 "x411.IntendedRecipientName", HFILL }},
8980 { &hf_x411_redirection_reason,
8981 { "redirection-reason", "x411.redirection_reason",
8982 FT_UINT32, BASE_DEC, VALS(x411_RedirectionReason_vals), 0,
8983 "x411.RedirectionReason", HFILL }},
8984 { &hf_x411_intended_recipient,
8985 { "intended-recipient", "x411.intended_recipient",
8986 FT_NONE, BASE_NONE, NULL, 0,
8987 "x411.ORAddressAndOptionalDirectoryName", HFILL }},
8988 { &hf_x411_redirection_time,
8989 { "redirection-time", "x411.redirection_time",
8990 FT_STRING, BASE_NONE, NULL, 0,
8991 "x411.Time", HFILL }},
8992 { &hf_x411_DLExpansionHistory_item,
8993 { "Item", "x411.DLExpansionHistory_item",
8994 FT_NONE, BASE_NONE, NULL, 0,
8995 "x411.DLExpansion", HFILL }},
8998 FT_NONE, BASE_NONE, NULL, 0,
8999 "x411.ORAddressAndOptionalDirectoryName", HFILL }},
9000 { &hf_x411_dl_expansion_time,
9001 { "dl-expansion-time", "x411.dl_expansion_time",
9002 FT_STRING, BASE_NONE, NULL, 0,
9003 "x411.Time", HFILL }},
9004 { &hf_x411_OriginatorAndDLExpansionHistory_item,
9005 { "Item", "x411.OriginatorAndDLExpansionHistory_item",
9006 FT_NONE, BASE_NONE, NULL, 0,
9007 "x411.OriginatorAndDLExpansion", HFILL }},
9008 { &hf_x411_originator_or_dl_name,
9009 { "originator-or-dl-name", "x411.originator_or_dl_name",
9010 FT_NONE, BASE_NONE, NULL, 0,
9011 "x411.ORAddressAndOptionalDirectoryName", HFILL }},
9012 { &hf_x411_origination_or_expansion_time,
9013 { "origination-or-expansion-time", "x411.origination_or_expansion_time",
9014 FT_STRING, BASE_NONE, NULL, 0,
9015 "x411.Time", HFILL }},
9016 { &hf_x411_report_type,
9017 { "report-type", "x411.report_type",
9018 FT_UINT32, BASE_DEC, VALS(x411_T_report_type_vals), 0,
9019 "x411.T_report_type", HFILL }},
9020 { &hf_x411_report_type_delivery,
9021 { "delivery", "x411.delivery",
9022 FT_NONE, BASE_NONE, NULL, 0,
9023 "x411.PerRecipientDeliveryReportFields", HFILL }},
9024 { &hf_x411_non_delivery_report,
9025 { "non-delivery", "x411.non_delivery",
9026 FT_NONE, BASE_NONE, NULL, 0,
9027 "x411.PerRecipientNonDeliveryReportFields", HFILL }},
9028 { &hf_x411_mta_directory_name,
9029 { "mta-directory-name", "x411.mta_directory_name",
9030 FT_UINT32, BASE_DEC, VALS(x509if_Name_vals), 0,
9031 "x509if.Name", HFILL }},
9032 { &hf_x411_ExtendedCertificates_item,
9033 { "Item", "x411.ExtendedCertificates_item",
9034 FT_UINT32, BASE_DEC, VALS(x411_ExtendedCertificate_vals), 0,
9035 "x411.ExtendedCertificate", HFILL }},
9036 { &hf_x411_directory_entry,
9037 { "directory-entry", "x411.directory_entry",
9038 FT_UINT32, BASE_DEC, VALS(x509if_Name_vals), 0,
9039 "x509if.Name", HFILL }},
9040 { &hf_x411_DLExemptedRecipients_item,
9041 { "Item", "x411.DLExemptedRecipients_item",
9042 FT_NONE, BASE_NONE, NULL, 0,
9043 "x411.ORAddressAndOrDirectoryName", HFILL }},
9044 { &hf_x411_encryption_recipient,
9045 { "encryption-recipient", "x411.encryption_recipient",
9046 FT_NONE, BASE_NONE, NULL, 0,
9047 "x509ce.CertificateAssertion", HFILL }},
9048 { &hf_x411_encryption_originator,
9049 { "encryption-originator", "x411.encryption_originator",
9050 FT_NONE, BASE_NONE, NULL, 0,
9051 "x509ce.CertificateAssertion", HFILL }},
9052 { &hf_x411_selectors_content_integrity_check,
9053 { "content-integrity-check", "x411.content_integrity_check",
9054 FT_NONE, BASE_NONE, NULL, 0,
9055 "x509ce.CertificateAssertion", HFILL }},
9056 { &hf_x411_token_signature,
9057 { "token-signature", "x411.token_signature",
9058 FT_NONE, BASE_NONE, NULL, 0,
9059 "x509ce.CertificateAssertion", HFILL }},
9060 { &hf_x411_message_origin_authentication,
9061 { "message-origin-authentication", "x411.message_origin_authentication",
9062 FT_NONE, BASE_NONE, NULL, 0,
9063 "x509ce.CertificateAssertion", HFILL }},
9064 { &hf_x411_local_identifier,
9065 { "local-identifier", "x411.local_identifier",
9066 FT_STRING, BASE_NONE, NULL, 0,
9067 "x411.LocalIdentifier", HFILL }},
9069 { "numeric", "x411.numeric",
9070 FT_STRING, BASE_NONE, NULL, 0,
9071 "x411.NumericString", HFILL }},
9072 { &hf_x411_printable,
9073 { "printable", "x411.printable",
9074 FT_STRING, BASE_NONE, NULL, 0,
9075 "x411.PrintableString", HFILL }},
9076 { &hf_x411_built_in_standard_attributes,
9077 { "built-in-standard-attributes", "x411.built_in_standard_attributes",
9078 FT_NONE, BASE_NONE, NULL, 0,
9079 "x411.BuiltInStandardAttributes", HFILL }},
9080 { &hf_x411_built_in_domain_defined_attributes,
9081 { "built-in-domain-defined-attributes", "x411.built_in_domain_defined_attributes",
9082 FT_UINT32, BASE_DEC, NULL, 0,
9083 "x411.BuiltInDomainDefinedAttributes", HFILL }},
9084 { &hf_x411_extension_attributes,
9085 { "extension-attributes", "x411.extension_attributes",
9086 FT_UINT32, BASE_DEC, NULL, 0,
9087 "x411.ExtensionAttributes", HFILL }},
9088 { &hf_x411_directory_name,
9089 { "directory-name", "x411.directory_name",
9090 FT_UINT32, BASE_DEC, VALS(x509if_Name_vals), 0,
9091 "x509if.Name", HFILL }},
9092 { &hf_x411_network_address,
9093 { "network-address", "x411.network_address",
9094 FT_STRING, BASE_NONE, NULL, 0,
9095 "x411.NetworkAddress", HFILL }},
9096 { &hf_x411_terminal_identifier,
9097 { "terminal-identifier", "x411.terminal_identifier",
9098 FT_STRING, BASE_NONE, NULL, 0,
9099 "x411.TerminalIdentifier", HFILL }},
9100 { &hf_x411_private_domain_name,
9101 { "private-domain-name", "x411.private_domain_name",
9102 FT_UINT32, BASE_DEC, VALS(x411_PrivateDomainName_vals), 0,
9103 "x411.PrivateDomainName", HFILL }},
9104 { &hf_x411_organization_name,
9105 { "organization-name", "x411.organization_name",
9106 FT_STRING, BASE_NONE, NULL, 0,
9107 "x411.OrganizationName", HFILL }},
9108 { &hf_x411_numeric_user_identifier,
9109 { "numeric-user-identifier", "x411.numeric_user_identifier",
9110 FT_STRING, BASE_NONE, NULL, 0,
9111 "x411.NumericUserIdentifier", HFILL }},
9112 { &hf_x411_personal_name,
9113 { "personal-name", "x411.personal_name",
9114 FT_NONE, BASE_NONE, NULL, 0,
9115 "x411.PersonalName", HFILL }},
9116 { &hf_x411_organizational_unit_names,
9117 { "organizational-unit-names", "x411.organizational_unit_names",
9118 FT_UINT32, BASE_DEC, NULL, 0,
9119 "x411.OrganizationalUnitNames", HFILL }},
9120 { &hf_x411_x121_dcc_code,
9121 { "x121-dcc-code", "x411.x121_dcc_code",
9122 FT_STRING, BASE_NONE, NULL, 0,
9123 "x411.AddrNumericString", HFILL }},
9124 { &hf_x411_iso_3166_alpha2_code,
9125 { "iso-3166-alpha2-code", "x411.iso_3166_alpha2_code",
9126 FT_STRING, BASE_NONE, NULL, 0,
9127 "x411.PrintableString", HFILL }},
9128 { &hf_x411_printable_surname,
9129 { "surname", "x411.surname",
9130 FT_STRING, BASE_NONE, NULL, 0,
9131 "x411.T_printable_surname", HFILL }},
9132 { &hf_x411_printable_given_name,
9133 { "given-name", "x411.given_name",
9134 FT_STRING, BASE_NONE, NULL, 0,
9135 "x411.T_printable_given_name", HFILL }},
9136 { &hf_x411_printable_initials,
9137 { "initials", "x411.initials",
9138 FT_STRING, BASE_NONE, NULL, 0,
9139 "x411.T_printable_initials", HFILL }},
9140 { &hf_x411_printable_generation_qualifier,
9141 { "generation-qualifier", "x411.generation_qualifier",
9142 FT_STRING, BASE_NONE, NULL, 0,
9143 "x411.T_printable_generation_qualifier", HFILL }},
9144 { &hf_x411_OrganizationalUnitNames_item,
9145 { "Item", "x411.OrganizationalUnitNames_item",
9146 FT_STRING, BASE_NONE, NULL, 0,
9147 "x411.OrganizationalUnitName", HFILL }},
9148 { &hf_x411_BuiltInDomainDefinedAttributes_item,
9149 { "Item", "x411.BuiltInDomainDefinedAttributes_item",
9150 FT_NONE, BASE_NONE, NULL, 0,
9151 "x411.BuiltInDomainDefinedAttribute", HFILL }},
9152 { &hf_x411_printable_type,
9153 { "type", "x411.type",
9154 FT_STRING, BASE_NONE, NULL, 0,
9155 "x411.T_printable_type", HFILL }},
9156 { &hf_x411_printable_value,
9157 { "value", "x411.value",
9158 FT_STRING, BASE_NONE, NULL, 0,
9159 "x411.T_printable_value", HFILL }},
9160 { &hf_x411_ExtensionAttributes_item,
9161 { "Item", "x411.ExtensionAttributes_item",
9162 FT_NONE, BASE_NONE, NULL, 0,
9163 "x411.ExtensionAttribute", HFILL }},
9164 { &hf_x411_extension_attribute_type,
9165 { "extension-attribute-type", "x411.extension_attribute_type",
9166 FT_INT32, BASE_DEC, NULL, 0,
9167 "x411.INTEGER", HFILL }},
9168 { &hf_x411_extension_attribute_value,
9169 { "extension-attribute-value", "x411.extension_attribute_value",
9170 FT_NONE, BASE_NONE, NULL, 0,
9171 "x411.T_extension_attribute_value", HFILL }},
9172 { &hf_x411_teletex_surname,
9173 { "surname", "x411.surname",
9174 FT_STRING, BASE_NONE, NULL, 0,
9175 "x411.AddrTeletexString", HFILL }},
9176 { &hf_x411_teletex_given_name,
9177 { "given-name", "x411.given_name",
9178 FT_STRING, BASE_NONE, NULL, 0,
9179 "x411.AddrTeletexString", HFILL }},
9180 { &hf_x411_teletex_initials,
9181 { "initials", "x411.initials",
9182 FT_STRING, BASE_NONE, NULL, 0,
9183 "x411.AddrTeletexString", HFILL }},
9184 { &hf_x411_teletex_generation_qualifier,
9185 { "generation-qualifier", "x411.generation_qualifier",
9186 FT_STRING, BASE_NONE, NULL, 0,
9187 "x411.AddrTeletexString", HFILL }},
9188 { &hf_x411_universal_surname,
9189 { "surname", "x411.surname",
9190 FT_NONE, BASE_NONE, NULL, 0,
9191 "x411.UniversalOrBMPString", HFILL }},
9192 { &hf_x411_universal_given_name,
9193 { "given-name", "x411.given_name",
9194 FT_NONE, BASE_NONE, NULL, 0,
9195 "x411.UniversalOrBMPString", HFILL }},
9196 { &hf_x411_universal_initials,
9197 { "initials", "x411.initials",
9198 FT_NONE, BASE_NONE, NULL, 0,
9199 "x411.UniversalOrBMPString", HFILL }},
9200 { &hf_x411_universal_generation_qualifier,
9201 { "generation-qualifier", "x411.generation_qualifier",
9202 FT_NONE, BASE_NONE, NULL, 0,
9203 "x411.UniversalOrBMPString", HFILL }},
9204 { &hf_x411_TeletexOrganizationalUnitNames_item,
9205 { "Item", "x411.TeletexOrganizationalUnitNames_item",
9206 FT_STRING, BASE_NONE, NULL, 0,
9207 "x411.TeletexOrganizationalUnitName", HFILL }},
9208 { &hf_x411_UniversalOrganizationalUnitNames_item,
9209 { "Item", "x411.UniversalOrganizationalUnitNames_item",
9210 FT_NONE, BASE_NONE, NULL, 0,
9211 "x411.UniversalOrganizationalUnitName", HFILL }},
9212 { &hf_x411_character_encoding,
9213 { "character-encoding", "x411.character_encoding",
9214 FT_UINT32, BASE_DEC, VALS(x411_T_character_encoding_vals), 0,
9215 "x411.T_character_encoding", HFILL }},
9216 { &hf_x411_two_octets,
9217 { "two-octets", "x411.two_octets",
9218 FT_STRING, BASE_NONE, NULL, 0,
9219 "x411.BMPString", HFILL }},
9220 { &hf_x411_four_octets,
9221 { "four-octets", "x411.four_octets",
9222 FT_STRING, BASE_NONE, NULL, 0,
9223 "x411.UniversalString", HFILL }},
9224 { &hf_x411_iso_639_language_code,
9225 { "iso-639-language-code", "x411.iso_639_language_code",
9226 FT_STRING, BASE_NONE, NULL, 0,
9227 "x411.PrintableString", HFILL }},
9228 { &hf_x411_numeric_code,
9229 { "numeric-code", "x411.numeric_code",
9230 FT_STRING, BASE_NONE, NULL, 0,
9231 "x411.AddrNumericString", HFILL }},
9232 { &hf_x411_printable_code,
9233 { "printable-code", "x411.printable_code",
9234 FT_STRING, BASE_NONE, NULL, 0,
9235 "x411.PrintableString", HFILL }},
9236 { &hf_x411_printable_address,
9237 { "printable-address", "x411.printable_address",
9238 FT_UINT32, BASE_DEC, NULL, 0,
9239 "x411.T_printable_address", HFILL }},
9240 { &hf_x411_printable_address_item,
9241 { "Item", "x411.printable_address_item",
9242 FT_STRING, BASE_NONE, NULL, 0,
9243 "x411.PrintableString", HFILL }},
9244 { &hf_x411_teletex_string,
9245 { "teletex-string", "x411.teletex_string",
9246 FT_STRING, BASE_NONE, NULL, 0,
9247 "x411.TeletexString", HFILL }},
9248 { &hf_x411_printable_string,
9249 { "printable-string", "x411.printable_string",
9250 FT_STRING, BASE_NONE, NULL, 0,
9251 "x411.PrintableString", HFILL }},
9252 { &hf_x411_e163_4_address,
9253 { "e163-4-address", "x411.e163_4_address",
9254 FT_NONE, BASE_NONE, NULL, 0,
9255 "x411.T_e163_4_address", HFILL }},
9257 { "number", "x411.number",
9258 FT_STRING, BASE_NONE, NULL, 0,
9259 "x411.NumericString", HFILL }},
9260 { &hf_x411_sub_address,
9261 { "sub-address", "x411.sub_address",
9262 FT_STRING, BASE_NONE, NULL, 0,
9263 "x411.NumericString", HFILL }},
9264 { &hf_x411_psap_address,
9265 { "psap-address", "x411.psap_address",
9266 FT_NONE, BASE_NONE, NULL, 0,
9267 "x509sat.PresentationAddress", HFILL }},
9268 { &hf_x411_TeletexDomainDefinedAttributes_item,
9269 { "Item", "x411.TeletexDomainDefinedAttributes_item",
9270 FT_NONE, BASE_NONE, NULL, 0,
9271 "x411.TeletexDomainDefinedAttribute", HFILL }},
9273 { "type", "x411.type",
9274 FT_STRING, BASE_NONE, NULL, 0,
9275 "x411.AddrTeletexString", HFILL }},
9276 { &hf_x411_teletex_value,
9277 { "value", "x411.value",
9278 FT_STRING, BASE_NONE, NULL, 0,
9279 "x411.AddrTeletexString", HFILL }},
9280 { &hf_x411_UniversalDomainDefinedAttributes_item,
9281 { "Item", "x411.UniversalDomainDefinedAttributes_item",
9282 FT_NONE, BASE_NONE, NULL, 0,
9283 "x411.UniversalDomainDefinedAttribute", HFILL }},
9284 { &hf_x411_universal_type,
9285 { "type", "x411.type",
9286 FT_NONE, BASE_NONE, NULL, 0,
9287 "x411.UniversalOrBMPString", HFILL }},
9288 { &hf_x411_universal_value,
9289 { "value", "x411.value",
9290 FT_NONE, BASE_NONE, NULL, 0,
9291 "x411.UniversalOrBMPString", HFILL }},
9292 { &hf_x411_built_in_encoded_information_types,
9293 { "built-in-encoded-information-types", "x411.built_in_encoded_information_types",
9294 FT_BYTES, BASE_HEX, NULL, 0,
9295 "x411.BuiltInEncodedInformationTypes", HFILL }},
9296 { &hf_x411_g3_facsimile,
9297 { "g3-facsimile", "x411.g3_facsimile",
9298 FT_BYTES, BASE_HEX, NULL, 0,
9299 "x411.G3FacsimileNonBasicParameters", HFILL }},
9301 { "teletex", "x411.teletex",
9302 FT_NONE, BASE_NONE, NULL, 0,
9303 "x411.TeletexNonBasicParameters", HFILL }},
9304 { &hf_x411_extended_encoded_information_types,
9305 { "extended-encoded-information-types", "x411.extended_encoded_information_types",
9306 FT_UINT32, BASE_DEC, NULL, 0,
9307 "x411.ExtendedEncodedInformationTypes", HFILL }},
9308 { &hf_x411_ExtendedEncodedInformationTypes_item,
9309 { "Item", "x411.ExtendedEncodedInformationTypes_item",
9310 FT_OID, BASE_NONE, NULL, 0,
9311 "x411.ExtendedEncodedInformationType", HFILL }},
9312 { &hf_x411_graphic_character_sets,
9313 { "graphic-character-sets", "x411.graphic_character_sets",
9314 FT_STRING, BASE_NONE, NULL, 0,
9315 "x411.TeletexString", HFILL }},
9316 { &hf_x411_control_character_sets,
9317 { "control-character-sets", "x411.control_character_sets",
9318 FT_STRING, BASE_NONE, NULL, 0,
9319 "x411.TeletexString", HFILL }},
9320 { &hf_x411_page_formats,
9321 { "page-formats", "x411.page_formats",
9322 FT_BYTES, BASE_HEX, NULL, 0,
9323 "x411.OCTET_STRING", HFILL }},
9324 { &hf_x411_miscellaneous_terminal_capabilities,
9325 { "miscellaneous-terminal-capabilities", "x411.miscellaneous_terminal_capabilities",
9326 FT_STRING, BASE_NONE, NULL, 0,
9327 "x411.TeletexString", HFILL }},
9328 { &hf_x411_private_use,
9329 { "private-use", "x411.private_use",
9330 FT_BYTES, BASE_HEX, NULL, 0,
9331 "x411.OCTET_STRING", HFILL }},
9332 { &hf_x411_token_type_identifier,
9333 { "token-type-identifier", "x411.token_type_identifier",
9334 FT_OID, BASE_NONE, NULL, 0,
9335 "x411.TokenTypeIdentifier", HFILL }},
9337 { "token", "x411.token",
9338 FT_NONE, BASE_NONE, NULL, 0,
9339 "x411.TokenTypeData", HFILL }},
9340 { &hf_x411_signature_algorithm_identifier,
9341 { "signature-algorithm-identifier", "x411.signature_algorithm_identifier",
9342 FT_NONE, BASE_NONE, NULL, 0,
9343 "x509af.AlgorithmIdentifier", HFILL }},
9345 { "name", "x411.name",
9346 FT_UINT32, BASE_DEC, VALS(x411_T_name_vals), 0,
9347 "x411.T_name", HFILL }},
9348 { &hf_x411_token_recipient_name,
9349 { "recipient-name", "x411.recipient_name",
9350 FT_NONE, BASE_NONE, NULL, 0,
9351 "x411.MTSRecipientName", HFILL }},
9352 { &hf_x411_token_mta,
9353 { "mta", "x411.mta",
9354 FT_NONE, BASE_NONE, NULL, 0,
9355 "x411.MTANameAndOptionalGDI", HFILL }},
9357 { "time", "x411.time",
9358 FT_STRING, BASE_NONE, NULL, 0,
9359 "x411.Time", HFILL }},
9360 { &hf_x411_signed_data,
9361 { "signed-data", "x411.signed_data",
9362 FT_NONE, BASE_NONE, NULL, 0,
9363 "x411.TokenData", HFILL }},
9364 { &hf_x411_encryption_algorithm_identifier,
9365 { "encryption-algorithm-identifier", "x411.encryption_algorithm_identifier",
9366 FT_NONE, BASE_NONE, NULL, 0,
9367 "x509af.AlgorithmIdentifier", HFILL }},
9368 { &hf_x411_encrypted_data,
9369 { "encrypted-data", "x411.encrypted_data",
9370 FT_BYTES, BASE_HEX, NULL, 0,
9371 "x411.BIT_STRING", HFILL }},
9372 { &hf_x411_asymmetric_token_data,
9373 { "asymmetric-token-data", "x411.asymmetric_token_data",
9374 FT_NONE, BASE_NONE, NULL, 0,
9375 "x411.AsymmetricTokenData", HFILL }},
9376 { &hf_x411_algorithm_identifier,
9377 { "algorithm-identifier", "x411.algorithm_identifier",
9378 FT_NONE, BASE_NONE, NULL, 0,
9379 "x509af.AlgorithmIdentifier", HFILL }},
9380 { &hf_x411_token_data_type,
9381 { "type", "x411.type",
9382 FT_INT32, BASE_DEC, NULL, 0,
9383 "x411.INTEGER", HFILL }},
9385 { "value", "x411.value",
9386 FT_NONE, BASE_NONE, NULL, 0,
9387 "x411.T_value", HFILL }},
9388 { &hf_x411_content_confidentiality_algorithm_identifier,
9389 { "content-confidentiality-algorithm-identifier", "x411.content_confidentiality_algorithm_identifier",
9390 FT_NONE, BASE_NONE, NULL, 0,
9391 "x411.ContentConfidentialityAlgorithmIdentifier", HFILL }},
9392 { &hf_x411_content_integrity_check,
9393 { "content-integrity-check", "x411.content_integrity_check",
9394 FT_NONE, BASE_NONE, NULL, 0,
9395 "x411.ContentIntegrityCheck", HFILL }},
9396 { &hf_x411_message_security_label,
9397 { "message-security-label", "x411.message_security_label",
9398 FT_NONE, BASE_NONE, NULL, 0,
9399 "x411.MessageSecurityLabel", HFILL }},
9400 { &hf_x411_proof_of_delivery_request,
9401 { "proof-of-delivery-request", "x411.proof_of_delivery_request",
9402 FT_UINT32, BASE_DEC, VALS(x411_ProofOfDeliveryRequest_vals), 0,
9403 "x411.ProofOfDeliveryRequest", HFILL }},
9404 { &hf_x411_message_sequence_number,
9405 { "message-sequence-number", "x411.message_sequence_number",
9406 FT_INT32, BASE_DEC, NULL, 0,
9407 "x411.INTEGER", HFILL }},
9408 { &hf_x411_content_confidentiality_key,
9409 { "content-confidentiality-key", "x411.content_confidentiality_key",
9410 FT_BYTES, BASE_HEX, NULL, 0,
9411 "x411.EncryptionKey", HFILL }},
9412 { &hf_x411_content_integrity_key,
9413 { "content-integrity-key", "x411.content_integrity_key",
9414 FT_BYTES, BASE_HEX, NULL, 0,
9415 "x411.EncryptionKey", HFILL }},
9416 { &hf_x411_security_policy_identifier,
9417 { "security-policy-identifier", "x411.security_policy_identifier",
9418 FT_OID, BASE_NONE, NULL, 0,
9419 "x411.SecurityPolicyIdentifier", HFILL }},
9420 { &hf_x411_security_classification,
9421 { "security-classification", "x411.security_classification",
9422 FT_UINT32, BASE_DEC, VALS(x411_SecurityClassification_vals), 0,
9423 "x411.SecurityClassification", HFILL }},
9424 { &hf_x411_privacy_mark,
9425 { "privacy-mark", "x411.privacy_mark",
9426 FT_STRING, BASE_NONE, NULL, 0,
9427 "x411.PrivacyMark", HFILL }},
9428 { &hf_x411_security_categories,
9429 { "security-categories", "x411.security_categories",
9430 FT_UINT32, BASE_DEC, NULL, 0,
9431 "x411.SecurityCategories", HFILL }},
9432 { &hf_x411_SecurityCategories_item,
9433 { "Item", "x411.SecurityCategories_item",
9434 FT_NONE, BASE_NONE, NULL, 0,
9435 "x411.SecurityCategory", HFILL }},
9436 { &hf_x411_category_type,
9437 { "type", "x411.type",
9438 FT_OID, BASE_NONE, NULL, 0,
9439 "x411.OBJECT_IDENTIFIER", HFILL }},
9440 { &hf_x411_category_value,
9441 { "value", "x411.value",
9442 FT_NONE, BASE_NONE, NULL, 0,
9443 "x411.CategoryValue", HFILL }},
9444 { &hf_x411_PerRecipientIndicators_responsibility,
9445 { "responsibility", "x411.responsibility",
9446 FT_BOOLEAN, 8, NULL, 0x80,
9448 { &hf_x411_PerRecipientIndicators_originating_MTA_report,
9449 { "originating-MTA-report", "x411.originating-MTA-report",
9450 FT_BOOLEAN, 8, NULL, 0x40,
9452 { &hf_x411_PerRecipientIndicators_originating_MTA_non_delivery_report,
9453 { "originating-MTA-non-delivery-report", "x411.originating-MTA-non-delivery-report",
9454 FT_BOOLEAN, 8, NULL, 0x20,
9456 { &hf_x411_PerRecipientIndicators_originator_report,
9457 { "originator-report", "x411.originator-report",
9458 FT_BOOLEAN, 8, NULL, 0x10,
9460 { &hf_x411_PerRecipientIndicators_originator_non_delivery_report,
9461 { "originator-non-delivery-report", "x411.originator-non-delivery-report",
9462 FT_BOOLEAN, 8, NULL, 0x08,
9464 { &hf_x411_PerRecipientIndicators_reserved_5,
9465 { "reserved-5", "x411.reserved-5",
9466 FT_BOOLEAN, 8, NULL, 0x04,
9468 { &hf_x411_PerRecipientIndicators_reserved_6,
9469 { "reserved-6", "x411.reserved-6",
9470 FT_BOOLEAN, 8, NULL, 0x02,
9472 { &hf_x411_PerRecipientIndicators_reserved_7,
9473 { "reserved-7", "x411.reserved-7",
9474 FT_BOOLEAN, 8, NULL, 0x01,
9476 { &hf_x411_OtherActions_redirected,
9477 { "redirected", "x411.redirected",
9478 FT_BOOLEAN, 8, NULL, 0x80,
9480 { &hf_x411_OtherActions_dl_operation,
9481 { "dl-operation", "x411.dl-operation",
9482 FT_BOOLEAN, 8, NULL, 0x40,
9484 { &hf_x411_Operations_probe_submission_or_report_delivery,
9485 { "probe-submission-or-report-delivery", "x411.probe-submission-or-report-delivery",
9486 FT_BOOLEAN, 8, NULL, 0x80,
9488 { &hf_x411_Operations_message_submission_or_message_delivery,
9489 { "message-submission-or-message-delivery", "x411.message-submission-or-message-delivery",
9490 FT_BOOLEAN, 8, NULL, 0x40,
9492 { &hf_x411_WaitingMessages_long_content,
9493 { "long-content", "x411.long-content",
9494 FT_BOOLEAN, 8, NULL, 0x80,
9496 { &hf_x411_WaitingMessages_low_priority,
9497 { "low-priority", "x411.low-priority",
9498 FT_BOOLEAN, 8, NULL, 0x40,
9500 { &hf_x411_WaitingMessages_other_security_labels,
9501 { "other-security-labels", "x411.other-security-labels",
9502 FT_BOOLEAN, 8, NULL, 0x20,
9504 { &hf_x411_T_source_type_originated_by,
9505 { "originated-by", "x411.originated-by",
9506 FT_BOOLEAN, 8, NULL, 0x80,
9508 { &hf_x411_T_source_type_redirected_by,
9509 { "redirected-by", "x411.redirected-by",
9510 FT_BOOLEAN, 8, NULL, 0x40,
9512 { &hf_x411_T_source_type_dl_expanded_by,
9513 { "dl-expanded-by", "x411.dl-expanded-by",
9514 FT_BOOLEAN, 8, NULL, 0x20,
9516 { &hf_x411_T_standard_parameters_user_name,
9517 { "user-name", "x411.user-name",
9518 FT_BOOLEAN, 8, NULL, 0x80,
9520 { &hf_x411_T_standard_parameters_user_address,
9521 { "user-address", "x411.user-address",
9522 FT_BOOLEAN, 8, NULL, 0x40,
9524 { &hf_x411_T_standard_parameters_deliverable_class,
9525 { "deliverable-class", "x411.deliverable-class",
9526 FT_BOOLEAN, 8, NULL, 0x20,
9528 { &hf_x411_T_standard_parameters_default_delivery_controls,
9529 { "default-delivery-controls", "x411.default-delivery-controls",
9530 FT_BOOLEAN, 8, NULL, 0x10,
9532 { &hf_x411_T_standard_parameters_redirections,
9533 { "redirections", "x411.redirections",
9534 FT_BOOLEAN, 8, NULL, 0x08,
9536 { &hf_x411_T_standard_parameters_restricted_delivery,
9537 { "restricted-delivery", "x411.restricted-delivery",
9538 FT_BOOLEAN, 8, NULL, 0x04,
9540 { &hf_x411_PerMessageIndicators_disclosure_of_other_recipients,
9541 { "disclosure-of-other-recipients", "x411.disclosure-of-other-recipients",
9542 FT_BOOLEAN, 8, NULL, 0x80,
9544 { &hf_x411_PerMessageIndicators_implicit_conversion_prohibited,
9545 { "implicit-conversion-prohibited", "x411.implicit-conversion-prohibited",
9546 FT_BOOLEAN, 8, NULL, 0x40,
9548 { &hf_x411_PerMessageIndicators_alternate_recipient_allowed,
9549 { "alternate-recipient-allowed", "x411.alternate-recipient-allowed",
9550 FT_BOOLEAN, 8, NULL, 0x20,
9552 { &hf_x411_PerMessageIndicators_content_return_request,
9553 { "content-return-request", "x411.content-return-request",
9554 FT_BOOLEAN, 8, NULL, 0x10,
9556 { &hf_x411_PerMessageIndicators_reserved,
9557 { "reserved", "x411.reserved",
9558 FT_BOOLEAN, 8, NULL, 0x08,
9560 { &hf_x411_PerMessageIndicators_bit_5,
9561 { "bit-5", "x411.bit-5",
9562 FT_BOOLEAN, 8, NULL, 0x04,
9564 { &hf_x411_PerMessageIndicators_bit_6,
9565 { "bit-6", "x411.bit-6",
9566 FT_BOOLEAN, 8, NULL, 0x02,
9568 { &hf_x411_PerMessageIndicators_service_message,
9569 { "service-message", "x411.service-message",
9570 FT_BOOLEAN, 8, NULL, 0x01,
9572 { &hf_x411_OriginatorReportRequest_report,
9573 { "report", "x411.report",
9574 FT_BOOLEAN, 8, NULL, 0x10,
9576 { &hf_x411_OriginatorReportRequest_non_delivery_report,
9577 { "non-delivery-report", "x411.non-delivery-report",
9578 FT_BOOLEAN, 8, NULL, 0x08,
9580 { &hf_x411_DeliveryFlags_implicit_conversion_prohibited,
9581 { "implicit-conversion-prohibited", "x411.implicit-conversion-prohibited",
9582 FT_BOOLEAN, 8, NULL, 0x40,
9584 { &hf_x411_Criticality_for_submission,
9585 { "for-submission", "x411.for-submission",
9586 FT_BOOLEAN, 8, NULL, 0x80,
9588 { &hf_x411_Criticality_for_transfer,
9589 { "for-transfer", "x411.for-transfer",
9590 FT_BOOLEAN, 8, NULL, 0x40,
9592 { &hf_x411_Criticality_for_delivery,
9593 { "for-delivery", "x411.for-delivery",
9594 FT_BOOLEAN, 8, NULL, 0x20,
9596 { &hf_x411_PhysicalDeliveryModes_ordinary_mail,
9597 { "ordinary-mail", "x411.ordinary-mail",
9598 FT_BOOLEAN, 8, NULL, 0x80,
9600 { &hf_x411_PhysicalDeliveryModes_special_delivery,
9601 { "special-delivery", "x411.special-delivery",
9602 FT_BOOLEAN, 8, NULL, 0x40,
9604 { &hf_x411_PhysicalDeliveryModes_express_mail,
9605 { "express-mail", "x411.express-mail",
9606 FT_BOOLEAN, 8, NULL, 0x20,
9608 { &hf_x411_PhysicalDeliveryModes_counter_collection,
9609 { "counter-collection", "x411.counter-collection",
9610 FT_BOOLEAN, 8, NULL, 0x10,
9612 { &hf_x411_PhysicalDeliveryModes_counter_collection_with_telephone_advice,
9613 { "counter-collection-with-telephone-advice", "x411.counter-collection-with-telephone-advice",
9614 FT_BOOLEAN, 8, NULL, 0x08,
9616 { &hf_x411_PhysicalDeliveryModes_counter_collection_with_telex_advice,
9617 { "counter-collection-with-telex-advice", "x411.counter-collection-with-telex-advice",
9618 FT_BOOLEAN, 8, NULL, 0x04,
9620 { &hf_x411_PhysicalDeliveryModes_counter_collection_with_teletex_advice,
9621 { "counter-collection-with-teletex-advice", "x411.counter-collection-with-teletex-advice",
9622 FT_BOOLEAN, 8, NULL, 0x02,
9624 { &hf_x411_PhysicalDeliveryModes_bureau_fax_delivery,
9625 { "bureau-fax-delivery", "x411.bureau-fax-delivery",
9626 FT_BOOLEAN, 8, NULL, 0x01,
9628 { &hf_x411_BuiltInEncodedInformationTypes_unknown,
9629 { "unknown", "x411.unknown",
9630 FT_BOOLEAN, 8, NULL, 0x80,
9632 { &hf_x411_BuiltInEncodedInformationTypes_ia5_text,
9633 { "ia5-text", "x411.ia5-text",
9634 FT_BOOLEAN, 8, NULL, 0x20,
9636 { &hf_x411_BuiltInEncodedInformationTypes_g3_facsimile,
9637 { "g3-facsimile", "x411.g3-facsimile",
9638 FT_BOOLEAN, 8, NULL, 0x10,
9640 { &hf_x411_BuiltInEncodedInformationTypes_g4_class_1,
9641 { "g4-class-1", "x411.g4-class-1",
9642 FT_BOOLEAN, 8, NULL, 0x08,
9644 { &hf_x411_BuiltInEncodedInformationTypes_teletex,
9645 { "teletex", "x411.teletex",
9646 FT_BOOLEAN, 8, NULL, 0x04,
9648 { &hf_x411_BuiltInEncodedInformationTypes_videotex,
9649 { "videotex", "x411.videotex",
9650 FT_BOOLEAN, 8, NULL, 0x02,
9652 { &hf_x411_BuiltInEncodedInformationTypes_voice,
9653 { "voice", "x411.voice",
9654 FT_BOOLEAN, 8, NULL, 0x01,
9656 { &hf_x411_BuiltInEncodedInformationTypes_sfd,
9657 { "sfd", "x411.sfd",
9658 FT_BOOLEAN, 8, NULL, 0x80,
9660 { &hf_x411_BuiltInEncodedInformationTypes_mixed_mode,
9661 { "mixed-mode", "x411.mixed-mode",
9662 FT_BOOLEAN, 8, NULL, 0x40,
9664 { &hf_x411_G3FacsimileNonBasicParameters_two_dimensional,
9665 { "two-dimensional", "x411.two-dimensional",
9666 FT_BOOLEAN, 8, NULL, 0x80,
9668 { &hf_x411_G3FacsimileNonBasicParameters_fine_resolution,
9669 { "fine-resolution", "x411.fine-resolution",
9670 FT_BOOLEAN, 8, NULL, 0x40,
9672 { &hf_x411_G3FacsimileNonBasicParameters_unlimited_length,
9673 { "unlimited-length", "x411.unlimited-length",
9674 FT_BOOLEAN, 8, NULL, 0x08,
9676 { &hf_x411_G3FacsimileNonBasicParameters_b4_length,
9677 { "b4-length", "x411.b4-length",
9678 FT_BOOLEAN, 8, NULL, 0x04,
9680 { &hf_x411_G3FacsimileNonBasicParameters_a3_width,
9681 { "a3-width", "x411.a3-width",
9682 FT_BOOLEAN, 8, NULL, 0x02,
9684 { &hf_x411_G3FacsimileNonBasicParameters_b4_width,
9685 { "b4-width", "x411.b4-width",
9686 FT_BOOLEAN, 8, NULL, 0x01,
9688 { &hf_x411_G3FacsimileNonBasicParameters_t6_coding,
9689 { "t6-coding", "x411.t6-coding",
9690 FT_BOOLEAN, 8, NULL, 0x40,
9692 { &hf_x411_G3FacsimileNonBasicParameters_uncompressed,
9693 { "uncompressed", "x411.uncompressed",
9694 FT_BOOLEAN, 8, NULL, 0x02,
9696 { &hf_x411_G3FacsimileNonBasicParameters_width_middle_864_of_1728,
9697 { "width-middle-864-of-1728", "x411.width-middle-864-of-1728",
9698 FT_BOOLEAN, 8, NULL, 0x04,
9700 { &hf_x411_G3FacsimileNonBasicParameters_width_middle_1216_of_1728,
9701 { "width-middle-1216-of-1728", "x411.width-middle-1216-of-1728",
9702 FT_BOOLEAN, 8, NULL, 0x02,
9704 { &hf_x411_G3FacsimileNonBasicParameters_resolution_type,
9705 { "resolution-type", "x411.resolution-type",
9706 FT_BOOLEAN, 8, NULL, 0x08,
9708 { &hf_x411_G3FacsimileNonBasicParameters_resolution_400x400,
9709 { "resolution-400x400", "x411.resolution-400x400",
9710 FT_BOOLEAN, 8, NULL, 0x04,
9712 { &hf_x411_G3FacsimileNonBasicParameters_resolution_300x300,
9713 { "resolution-300x300", "x411.resolution-300x300",
9714 FT_BOOLEAN, 8, NULL, 0x02,
9716 { &hf_x411_G3FacsimileNonBasicParameters_resolution_8x15,
9717 { "resolution-8x15", "x411.resolution-8x15",
9718 FT_BOOLEAN, 8, NULL, 0x01,
9720 { &hf_x411_G3FacsimileNonBasicParameters_edi,
9721 { "edi", "x411.edi",
9722 FT_BOOLEAN, 8, NULL, 0x40,
9724 { &hf_x411_G3FacsimileNonBasicParameters_dtm,
9725 { "dtm", "x411.dtm",
9726 FT_BOOLEAN, 8, NULL, 0x20,
9728 { &hf_x411_G3FacsimileNonBasicParameters_bft,
9729 { "bft", "x411.bft",
9730 FT_BOOLEAN, 8, NULL, 0x10,
9732 { &hf_x411_G3FacsimileNonBasicParameters_mixed_mode,
9733 { "mixed-mode", "x411.mixed-mode",
9734 FT_BOOLEAN, 8, NULL, 0x20,
9736 { &hf_x411_G3FacsimileNonBasicParameters_character_mode,
9737 { "character-mode", "x411.character-mode",
9738 FT_BOOLEAN, 8, NULL, 0x08,
9740 { &hf_x411_G3FacsimileNonBasicParameters_twelve_bits,
9741 { "twelve-bits", "x411.twelve-bits",
9742 FT_BOOLEAN, 8, NULL, 0x40,
9744 { &hf_x411_G3FacsimileNonBasicParameters_preferred_huffmann,
9745 { "preferred-huffmann", "x411.preferred-huffmann",
9746 FT_BOOLEAN, 8, NULL, 0x20,
9748 { &hf_x411_G3FacsimileNonBasicParameters_full_colour,
9749 { "full-colour", "x411.full-colour",
9750 FT_BOOLEAN, 8, NULL, 0x10,
9752 { &hf_x411_G3FacsimileNonBasicParameters_jpeg,
9753 { "jpeg", "x411.jpeg",
9754 FT_BOOLEAN, 8, NULL, 0x08,
9756 { &hf_x411_G3FacsimileNonBasicParameters_processable_mode_26,
9757 { "processable-mode-26", "x411.processable-mode-26",
9758 FT_BOOLEAN, 8, NULL, 0x01,
9761 /*--- End of included file: packet-x411-hfarr.c ---*/
9762 #line 223 "packet-x411-template.c"
9765 /* List of subtrees */
9766 static gint *ett[] = {
9768 &ett_x411_content_unknown,
9769 &ett_x411_bilateral_information,
9770 &ett_x411_additional_information,
9772 /*--- Included file: packet-x411-ettarr.c ---*/
9773 #line 1 "packet-x411-ettarr.c"
9774 &ett_x411_MTABindArgument,
9775 &ett_x411_AuthenticatedArgument,
9776 &ett_x411_MTABindResult,
9777 &ett_x411_AuthenticatedResult,
9781 &ett_x411_MessageTransferEnvelope,
9782 &ett_x411_SEQUENCE_OF_PerDomainBilateralInformation,
9783 &ett_x411_SET_OF_ExtensionField,
9784 &ett_x411_SEQUENCE_OF_PerRecipientMessageTransferFields,
9785 &ett_x411_PerRecipientMessageTransferFields,
9786 &ett_x411_ProbeTransferEnvelope,
9787 &ett_x411_SEQUENCE_OF_PerRecipientProbeTransferFields,
9788 &ett_x411_PerRecipientProbeTransferFields,
9789 &ett_x411_ReportTransferEnvelope,
9790 &ett_x411_ReportTransferContent,
9791 &ett_x411_SEQUENCE_OF_PerRecipientReportTransferFields,
9792 &ett_x411_PerRecipientReportTransferFields,
9793 &ett_x411_PerDomainBilateralInformation,
9794 &ett_x411_T_bilateral_domain,
9795 &ett_x411_T_private_domain,
9796 &ett_x411_PerRecipientIndicators,
9797 &ett_x411_LastTraceInformation,
9798 &ett_x411_InternalTraceInformation,
9799 &ett_x411_InternalTraceInformationElement,
9800 &ett_x411_MTASuppliedInformation,
9801 &ett_x411_T_attempted,
9802 &ett_x411_TraceInformation,
9803 &ett_x411_TraceInformationElement,
9804 &ett_x411_DomainSuppliedInformation,
9805 &ett_x411_OtherActions,
9806 &ett_x411_MTSBindArgument,
9807 &ett_x411_MTSBindResult,
9808 &ett_x411_ObjectName,
9809 &ett_x411_MessagesWaiting,
9810 &ett_x411_DeliveryQueue,
9811 &ett_x411_Credentials,
9813 &ett_x411_StrongCredentials,
9814 &ett_x411_ProtectedPassword,
9815 &ett_x411_Signature,
9816 &ett_x411_SecurityContext,
9817 &ett_x411_MessageSubmissionArgument,
9818 &ett_x411_MessageSubmissionResult,
9819 &ett_x411_ProbeSubmissionResult,
9820 &ett_x411_ImproperlySpecifiedRecipients,
9822 &ett_x411_SET_OF_ContentType,
9823 &ett_x411_Operations,
9824 &ett_x411_WaitingMessages,
9825 &ett_x411_MessageDeliveryArgument,
9826 &ett_x411_MessageDeliveryResult,
9827 &ett_x411_ReportDeliveryArgument,
9828 &ett_x411_SEQUENCE_OF_PerRecipientReportDeliveryFields,
9829 &ett_x411_ReportDeliveryResult,
9830 &ett_x411_DeliveryControlArgument,
9831 &ett_x411_DeliveryControlResult,
9832 &ett_x411_RefusedOperation,
9833 &ett_x411_T_refused_argument,
9835 &ett_x411_RegisterArgument,
9836 &ett_x411_SET_OF_DeliverableClass,
9837 &ett_x411_RegisterResult,
9838 &ett_x411_T_non_empty_result,
9839 &ett_x411_ChangeCredentialsArgument,
9840 &ett_x411_UserAddress,
9842 &ett_x411_Redirections,
9843 &ett_x411_RecipientRedirection,
9844 &ett_x411_SET_OF_RedirectionClass,
9845 &ett_x411_MessageClass,
9846 &ett_x411_SET_OF_Priority,
9847 &ett_x411_SEQUENCE_OF_Restriction,
9848 &ett_x411_EncodedInformationTypesConstraints,
9849 &ett_x411_RestrictedDelivery,
9850 &ett_x411_Restriction,
9851 &ett_x411_T_source_type,
9852 &ett_x411_ExactOrPattern,
9853 &ett_x411_RegistrationTypes,
9854 &ett_x411_T_standard_parameters,
9855 &ett_x411_T_type_extensions,
9856 &ett_x411_MessageSubmissionEnvelope,
9857 &ett_x411_SEQUENCE_OF_PerRecipientMessageSubmissionFields,
9858 &ett_x411_PerRecipientMessageSubmissionFields,
9859 &ett_x411_ProbeSubmissionEnvelope,
9860 &ett_x411_SEQUENCE_OF_PerRecipientProbeSubmissionFields,
9861 &ett_x411_PerRecipientProbeSubmissionFields,
9862 &ett_x411_MessageDeliveryEnvelope,
9863 &ett_x411_OtherMessageDeliveryFields,
9864 &ett_x411_ReportDeliveryEnvelope,
9865 &ett_x411_PerRecipientReportDeliveryFields,
9866 &ett_x411_ReportType,
9867 &ett_x411_DeliveryReport,
9868 &ett_x411_NonDeliveryReport,
9869 &ett_x411_ContentTypes,
9870 &ett_x411_ContentType,
9871 &ett_x411_DeliveredContentType,
9872 &ett_x411_PerMessageIndicators,
9873 &ett_x411_OriginatorReportRequest,
9874 &ett_x411_DeliveryFlags,
9875 &ett_x411_OtherRecipientNames,
9876 &ett_x411_ExtensionType,
9877 &ett_x411_Criticality,
9878 &ett_x411_ExtensionField,
9879 &ett_x411_RequestedDeliveryMethod,
9880 &ett_x411_PhysicalDeliveryModes,
9881 &ett_x411_ContentCorrelator,
9882 &ett_x411_RedirectionHistory,
9883 &ett_x411_Redirection,
9884 &ett_x411_IntendedRecipientName,
9885 &ett_x411_DLExpansionHistory,
9886 &ett_x411_DLExpansion,
9887 &ett_x411_OriginatorAndDLExpansionHistory,
9888 &ett_x411_OriginatorAndDLExpansion,
9889 &ett_x411_PerRecipientReportFields,
9890 &ett_x411_T_report_type,
9891 &ett_x411_PerRecipientDeliveryReportFields,
9892 &ett_x411_PerRecipientNonDeliveryReportFields,
9893 &ett_x411_ReportingMTAName,
9894 &ett_x411_ExtendedCertificates,
9895 &ett_x411_ExtendedCertificate,
9896 &ett_x411_DLExemptedRecipients,
9897 &ett_x411_CertificateSelectors,
9898 &ett_x411_MTSIdentifier,
9899 &ett_x411_GlobalDomainIdentifier,
9900 &ett_x411_PrivateDomainIdentifier,
9902 &ett_x411_ORAddress,
9903 &ett_x411_BuiltInStandardAttributes,
9904 &ett_x411_CountryName,
9905 &ett_x411_AdministrationDomainName,
9906 &ett_x411_PrivateDomainName,
9907 &ett_x411_PersonalName,
9908 &ett_x411_OrganizationalUnitNames,
9909 &ett_x411_BuiltInDomainDefinedAttributes,
9910 &ett_x411_BuiltInDomainDefinedAttribute,
9911 &ett_x411_ExtensionAttributes,
9912 &ett_x411_ExtensionAttribute,
9913 &ett_x411_TeletexPersonalName,
9914 &ett_x411_UniversalPersonalName,
9915 &ett_x411_TeletexOrganizationalUnitNames,
9916 &ett_x411_UniversalOrganizationalUnitNames,
9917 &ett_x411_UniversalOrBMPString,
9918 &ett_x411_T_character_encoding,
9919 &ett_x411_PhysicalDeliveryCountryName,
9920 &ett_x411_PostalCode,
9921 &ett_x411_UnformattedPostalAddress,
9922 &ett_x411_T_printable_address,
9923 &ett_x411_PDSParameter,
9924 &ett_x411_ExtendedNetworkAddress,
9925 &ett_x411_T_e163_4_address,
9926 &ett_x411_TeletexDomainDefinedAttributes,
9927 &ett_x411_TeletexDomainDefinedAttribute,
9928 &ett_x411_UniversalDomainDefinedAttributes,
9929 &ett_x411_UniversalDomainDefinedAttribute,
9930 &ett_x411_EncodedInformationTypes,
9931 &ett_x411_BuiltInEncodedInformationTypes,
9932 &ett_x411_ExtendedEncodedInformationTypes,
9933 &ett_x411_NonBasicParameters,
9934 &ett_x411_G3FacsimileNonBasicParameters,
9935 &ett_x411_TeletexNonBasicParameters,
9937 &ett_x411_AsymmetricTokenData,
9939 &ett_x411_MTANameAndOptionalGDI,
9940 &ett_x411_AsymmetricToken,
9941 &ett_x411_TokenData,
9942 &ett_x411_MessageTokenSignedData,
9943 &ett_x411_MessageTokenEncryptedData,
9944 &ett_x411_SecurityLabel,
9945 &ett_x411_SecurityCategories,
9946 &ett_x411_SecurityCategory,
9948 /*--- End of included file: packet-x411-ettarr.c ---*/
9949 #line 232 "packet-x411-template.c"
9952 module_t *x411_module;
9954 /* Register protocol */
9955 proto_x411 = proto_register_protocol(PNAME, PSNAME, PFNAME);
9956 register_dissector("x411", dissect_x411, proto_x411);
9957 /* Register fields and subtrees */
9958 proto_register_field_array(proto_x411, hf, array_length(hf));
9959 proto_register_subtree_array(ett, array_length(ett));
9961 /* Register our configuration options for X411, particularly our port */
9963 #ifdef PREFERENCE_GROUPING
9964 x411_module = prefs_register_protocol_subtree("OSI/X.400", proto_x411, prefs_register_x411);
9966 x411_module = prefs_register_protocol(proto_x411, prefs_register_x411);
9969 prefs_register_uint_preference(x411_module, "tcp.port", "X.411 TCP Port",
9970 "Set the port for P1 operations (if other"
9971 " than the default of 102)",
9972 10, &global_x411_tcp_port);
9977 /*--- proto_reg_handoff_x411 --- */
9978 void proto_reg_handoff_x411(void) {
9979 dissector_handle_t handle = NULL;
9982 /*--- Included file: packet-x411-dis-tab.c ---*/
9983 #line 1 "packet-x411-dis-tab.c"
9984 register_ber_oid_dissector("x411.extension.1", dissect_RecipientReassignmentProhibited_PDU, proto_x411, "recipient-reassignment-prohibited");
9985 register_ber_oid_dissector("x411.extension.2", dissect_MTSOriginatorRequestedAlternateRecipient_PDU, proto_x411, "originator-requested-alternate-recipient");
9986 register_ber_oid_dissector("x411.extension.3", dissect_DLExpansionProhibited_PDU, proto_x411, "dl-expansion-prohibited");
9987 register_ber_oid_dissector("x411.extension.4", dissect_ConversionWithLossProhibited_PDU, proto_x411, "conversion-with-loss-prohibited");
9988 register_ber_oid_dissector("x411.extension.5", dissect_LatestDeliveryTime_PDU, proto_x411, "latest-delivery-time");
9989 register_ber_oid_dissector("x411.extension.6", dissect_RequestedDeliveryMethod_PDU, proto_x411, "requested-delivery-method");
9990 register_ber_oid_dissector("x411.extension.7", dissect_PhysicalForwardingProhibited_PDU, proto_x411, "physical-forwarding-prohibited");
9991 register_ber_oid_dissector("x411.extension.8", dissect_PhysicalForwardingAddressRequest_PDU, proto_x411, "physical-forwarding-address-request");
9992 register_ber_oid_dissector("x411.extension.9", dissect_PhysicalDeliveryModes_PDU, proto_x411, "physical-delivery-modes");
9993 register_ber_oid_dissector("x411.extension.10", dissect_RegisteredMailType_PDU, proto_x411, "registered-mail-type");
9994 register_ber_oid_dissector("x411.extension.11", dissect_RecipientNumberForAdvice_PDU, proto_x411, "recipient-number-for-advice");
9995 register_ber_oid_dissector("x411.extension.12", dissect_PhysicalRenditionAttributes_PDU, proto_x411, "physical-rendition-attributes");
9996 register_ber_oid_dissector("x411.extension.13", dissect_OriginatorReturnAddress_PDU, proto_x411, "originator-return-address");
9997 register_ber_oid_dissector("x411.extension.14", dissect_PhysicalDeliveryReportRequest_PDU, proto_x411, "physical-delivery-report-request");
9998 register_ber_oid_dissector("x411.extension.15", dissect_OriginatorCertificate_PDU, proto_x411, "originator-certificate");
9999 register_ber_oid_dissector("x411.extension.16", dissect_MessageToken_PDU, proto_x411, "message-token");
10000 register_ber_oid_dissector("x411.extension.17", dissect_ContentConfidentialityAlgorithmIdentifier_PDU, proto_x411, "content-confidentiality-algorithm-identifier");
10001 register_ber_oid_dissector("x411.extension.18", dissect_ContentIntegrityCheck_PDU, proto_x411, "content-integrity-check");
10002 register_ber_oid_dissector("x411.extension.19", dissect_MessageOriginAuthenticationCheck_PDU, proto_x411, "message-origin-authentication-check");
10003 register_ber_oid_dissector("x411.extension.20", dissect_MessageSecurityLabel_PDU, proto_x411, "message-security-label");
10004 register_ber_oid_dissector("x411.extension.21", dissect_ProofOfSubmissionRequest_PDU, proto_x411, "proof-of-submission-request");
10005 register_ber_oid_dissector("x411.extension.22", dissect_ProofOfDeliveryRequest_PDU, proto_x411, "proof-of-delivery-request");
10006 register_ber_oid_dissector("x411.extension.23", dissect_ContentCorrelator_PDU, proto_x411, "content-correlator");
10007 register_ber_oid_dissector("x411.extension.24", dissect_ProbeOriginAuthenticationCheck_PDU, proto_x411, "probe-origin-authentication-check");
10008 register_ber_oid_dissector("x411.extension.25", dissect_RedirectionHistory_PDU, proto_x411, "redirection-history");
10009 register_ber_oid_dissector("x411.extension.26", dissect_DLExpansionHistory_PDU, proto_x411, "dl-expansion-history");
10010 register_ber_oid_dissector("x411.extension.27", dissect_PhysicalForwardingAddress_PDU, proto_x411, "physical-forwarding-address");
10011 register_ber_oid_dissector("x411.extension.28", dissect_RecipientCertificate_PDU, proto_x411, "recipient-certificate");
10012 register_ber_oid_dissector("x411.extension.29", dissect_ProofOfDelivery_PDU, proto_x411, "proof-of-delivery");
10013 register_ber_oid_dissector("x411.extension.30", dissect_OriginatorAndDLExpansionHistory_PDU, proto_x411, "originator-and-DL-expansion-history");
10014 register_ber_oid_dissector("x411.extension.31", dissect_ReportingDLName_PDU, proto_x411, "reporting-DL-name");
10015 register_ber_oid_dissector("x411.extension.32", dissect_ReportingMTACertificate_PDU, proto_x411, "reporting-MTA-certificate");
10016 register_ber_oid_dissector("x411.extension.33", dissect_ReportOriginAuthenticationCheck_PDU, proto_x411, "report-origin-authentication-check");
10017 register_ber_oid_dissector("x411.extension.35", dissect_ProofOfSubmission_PDU, proto_x411, "proof-of-submission");
10018 register_ber_oid_dissector("x411.extension.37", dissect_TraceInformation_PDU, proto_x411, "trace-information");
10019 register_ber_oid_dissector("x411.extension.38", dissect_InternalTraceInformation_PDU, proto_x411, "internal-trace-information");
10020 register_ber_oid_dissector("x411.extension.39", dissect_ReportingMTAName_PDU, proto_x411, "reporting-MTA-name");
10021 register_ber_oid_dissector("x411.extension.40", dissect_ExtendedCertificates_PDU, proto_x411, "multiple-originator-certificates");
10022 register_ber_oid_dissector("x411.extension.42", dissect_DLExemptedRecipients_PDU, proto_x411, "dl-exempted-recipients");
10023 register_ber_oid_dissector("x411.extension.45", dissect_CertificateSelectors_PDU, proto_x411, "certificate-selectors");
10024 register_ber_oid_dissector("x411.extension-attribute.1", dissect_CommonName_PDU, proto_x411, "common-name");
10025 register_ber_oid_dissector("x411.extension-attribute.2", dissect_TeletexCommonName_PDU, proto_x411, "teletex-common-name");
10026 register_ber_oid_dissector("x411.extension-attribute.3", dissect_TeletexOrganizationName_PDU, proto_x411, "teletex-organization-name");
10027 register_ber_oid_dissector("x411.extension-attribute.4", dissect_TeletexPersonalName_PDU, proto_x411, "teletex-personal-name");
10028 register_ber_oid_dissector("x411.extension-attribute.5", dissect_TeletexOrganizationalUnitNames_PDU, proto_x411, "teletex-organizational-unit-names");
10029 register_ber_oid_dissector("x411.extension-attribute.7", dissect_PDSName_PDU, proto_x411, "pds-name");
10030 register_ber_oid_dissector("x411.extension-attribute.8", dissect_PhysicalDeliveryCountryName_PDU, proto_x411, "physical-delivery-country-name");
10031 register_ber_oid_dissector("x411.extension-attribute.9", dissect_PostalCode_PDU, proto_x411, "postal-code");
10032 register_ber_oid_dissector("x411.extension-attribute.10", dissect_PhysicalDeliveryOfficeName_PDU, proto_x411, "physical-delivery-office-name");
10033 register_ber_oid_dissector("x411.extension-attribute.24", dissect_UniversalCommonName_PDU, proto_x411, "universal-common-name");
10034 register_ber_oid_dissector("x411.extension-attribute.25", dissect_UniversalOrganizationName_PDU, proto_x411, "universal-organization-name");
10035 register_ber_oid_dissector("x411.extension-attribute.26", dissect_UniversalPersonalName_PDU, proto_x411, "universal-personal-name");
10036 register_ber_oid_dissector("x411.extension-attribute.27", dissect_UniversalOrganizationalUnitNames_PDU, proto_x411, "universal-organizational-unit-names");
10037 register_ber_oid_dissector("2.6.1.4.14", dissect_ReportDeliveryArgument_PDU, proto_x411, "id-et-report");
10038 register_ber_oid_dissector("2.6.3.6.0", dissect_AsymmetricToken_PDU, proto_x411, "id-tok-asymmetricToken");
10039 register_ber_oid_dissector("2.6.5.6.0", dissect_MTANameAndOptionalGDI_PDU, proto_x411, "id-on-mtaName");
10040 register_ber_oid_dissector("x411.tokendata.1", dissect_BindTokenSignedData_PDU, proto_x411, "bind-token-signed-data");
10041 register_ber_oid_dissector("x411.tokendata.2", dissect_MessageTokenSignedData_PDU, proto_x411, "message-token-signed-data");
10042 register_ber_oid_dissector("x411.tokendata.3", dissect_MessageTokenEncryptedData_PDU, proto_x411, "message-token-encrypted-data");
10043 register_ber_oid_dissector("x411.tokendata.4", dissect_BindTokenEncryptedData_PDU, proto_x411, "bind-token-encrypted-data");
10044 register_ber_oid_dissector("2.6.5.2.0", dissect_ContentLength_PDU, proto_x411, "id-at-mhs-maximum-content-length");
10045 register_ber_oid_dissector("2.6.5.2.1", dissect_ExtendedContentType_PDU, proto_x411, "id-at-mhs-deliverable-content-types");
10046 register_ber_oid_dissector("2.6.5.2.2", dissect_ExtendedEncodedInformationType_PDU, proto_x411, "id-at-mhs-exclusively-acceptable-eits");
10047 register_ber_oid_dissector("2.6.5.2.3", dissect_ORName_PDU, proto_x411, "id-at-mhs-dl-members");
10048 register_ber_oid_dissector("2.6.5.2.6", dissect_ORAddress_PDU, proto_x411, "id-at-mhs-or-addresses");
10049 register_ber_oid_dissector("2.6.5.2.9", dissect_ExtendedContentType_PDU, proto_x411, "id-at-mhs-supported-content-types");
10050 register_ber_oid_dissector("2.6.5.2.12", dissect_ORName_PDU, proto_x411, "id-at-mhs-dl-archive-service");
10051 register_ber_oid_dissector("2.6.5.2.15", dissect_ORName_PDU, proto_x411, "id-at-mhs-dl-subscription-service");
10052 register_ber_oid_dissector("2.6.5.2.17", dissect_ExtendedEncodedInformationType_PDU, proto_x411, "id-at-mhs-acceptable-eits");
10053 register_ber_oid_dissector("2.6.5.2.18", dissect_ExtendedEncodedInformationType_PDU, proto_x411, "id-at-mhs-unacceptable-eits");
10054 register_ber_oid_dissector("2.16.840.1.101.2.1.5.47", dissect_ORName_PDU, proto_x411, "id-at-aLExemptedAddressProcessor");
10055 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");
10058 /*--- End of included file: packet-x411-dis-tab.c ---*/
10059 #line 264 "packet-x411-template.c"
10061 /* APPLICATION CONTEXT */
10063 add_oid_str_name("2.6.0.1.6", "id-ac-mts-transfer");
10065 /* ABSTRACT SYNTAXES */
10067 if((handle = find_dissector("x411")) != NULL) {
10068 register_rtse_oid_dissector_handle("2.6.0.2.12", handle, 0, "id-as-mta-rtse", TRUE);
10069 register_rtse_oid_dissector_handle("2.6.0.2.7", handle, 0, "id-as-mtse", FALSE);
10071 register_ber_syntax_dissector("X.411 Message", proto_x411, dissect_x411_mts_apdu);
10072 register_rtse_oid_dissector_handle("applicationProtocol.1", handle, 0, "mts-transfer-protocol-1984", FALSE);
10073 register_rtse_oid_dissector_handle("applicationProtocol.12", handle, 0, "mta-transfer-protocol", FALSE);
10076 /* remember the tpkt handler for change in preferences */
10077 tpkt_handle = find_dissector("tpkt");
10081 void prefs_register_x411(void) {
10083 /* de-register the old port */
10084 /* port 102 is registered by TPKT - don't undo this! */
10085 if((tcp_port != 102) && tpkt_handle)
10086 dissector_delete("tcp.port", tcp_port, tpkt_handle);
10088 /* Set our port number for future use */
10089 tcp_port = global_x411_tcp_port;
10091 if((tcp_port > 0) && (tcp_port != 102) && tpkt_handle)
10092 dissector_add("tcp.port", tcp_port, tpkt_handle);