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 -D . 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/oids.h>
43 #include <epan/asn1.h>
44 #include <epan/expert.h>
49 #include "packet-ber.h"
50 #include "packet-acse.h"
51 #include "packet-ros.h"
52 #include "packet-rtse.h"
54 #include "packet-x509af.h"
55 #include "packet-x509ce.h"
56 #include "packet-x509if.h"
57 #include "packet-x509sat.h"
59 #include "packet-x411.h"
60 #include <epan/emem.h>
61 #include <epan/strutil.h>
63 #define PNAME "X.411 Message Transfer Service"
67 static guint global_x411_tcp_port = 102;
68 static guint tcp_port = 0;
69 static dissector_handle_t tpkt_handle = NULL;
70 void prefs_register_x411(void); /* forwad declaration for use in preferences registration */
72 /* Initialize the protocol and registered fields */
75 static struct SESSION_DATA_STRUCTURE* session = NULL;
76 static int extension_id = -1; /* integer extension id */
77 static const char *object_identifier_id = NULL; /* extensions identifier */
78 static const char *content_type_id = NULL; /* content type identifier */
80 #define MAX_ORA_STR_LEN 256
81 static char *oraddress = NULL;
82 static char *ddatype = NULL;
83 static gboolean doing_address=FALSE;
84 static gboolean doing_subjectid=FALSE;
85 static proto_item *address_item = NULL;
87 static proto_tree *top_tree=NULL;
90 /*--- Included file: packet-x411-hf.c ---*/
91 #line 1 "packet-x411-hf.c"
92 static int hf_x411_MTABindArgument_PDU = -1; /* MTABindArgument */
93 static int hf_x411_MTABindResult_PDU = -1; /* MTABindResult */
94 static int hf_x411_MTABindError_PDU = -1; /* MTABindError */
95 static int hf_x411_MTS_APDU_PDU = -1; /* MTS_APDU */
96 static int hf_x411_InternalTraceInformation_PDU = -1; /* InternalTraceInformation */
97 static int hf_x411_InternalTraceInformationElement_PDU = -1; /* InternalTraceInformationElement */
98 static int hf_x411_TraceInformation_PDU = -1; /* TraceInformation */
99 static int hf_x411_TraceInformationElement_PDU = -1; /* TraceInformationElement */
100 static int hf_x411_MessageSubmissionTime_PDU = -1; /* MessageSubmissionTime */
101 static int hf_x411_ReportDeliveryArgument_PDU = -1; /* ReportDeliveryArgument */
102 static int hf_x411_RecipientCertificate_PDU = -1; /* RecipientCertificate */
103 static int hf_x411_ProofOfDelivery_PDU = -1; /* ProofOfDelivery */
104 static int hf_x411_MessageSubmissionEnvelope_PDU = -1; /* MessageSubmissionEnvelope */
105 static int hf_x411_PerRecipientMessageSubmissionFields_PDU = -1; /* PerRecipientMessageSubmissionFields */
106 static int hf_x411_ProbeSubmissionEnvelope_PDU = -1; /* ProbeSubmissionEnvelope */
107 static int hf_x411_PerRecipientProbeSubmissionFields_PDU = -1; /* PerRecipientProbeSubmissionFields */
108 static int hf_x411_MessageDeliveryEnvelope_PDU = -1; /* MessageDeliveryEnvelope */
109 static int hf_x411_ReportDeliveryEnvelope_PDU = -1; /* ReportDeliveryEnvelope */
110 static int hf_x411_PerRecipientReportDeliveryFields_PDU = -1; /* PerRecipientReportDeliveryFields */
111 static int hf_x411_ExtendedContentType_PDU = -1; /* ExtendedContentType */
112 static int hf_x411_ContentIdentifier_PDU = -1; /* ContentIdentifier */
113 static int hf_x411_PerMessageIndicators_PDU = -1; /* PerMessageIndicators */
114 static int hf_x411_OriginatorReportRequest_PDU = -1; /* OriginatorReportRequest */
115 static int hf_x411_DeferredDeliveryTime_PDU = -1; /* DeferredDeliveryTime */
116 static int hf_x411_Priority_PDU = -1; /* Priority */
117 static int hf_x411_ContentLength_PDU = -1; /* ContentLength */
118 static int hf_x411_MessageDeliveryTime_PDU = -1; /* MessageDeliveryTime */
119 static int hf_x411_DeliveryFlags_PDU = -1; /* DeliveryFlags */
120 static int hf_x411_SubjectSubmissionIdentifier_PDU = -1; /* SubjectSubmissionIdentifier */
121 static int hf_x411_RecipientReassignmentProhibited_PDU = -1; /* RecipientReassignmentProhibited */
122 static int hf_x411_MTSOriginatorRequestedAlternateRecipient_PDU = -1; /* MTSOriginatorRequestedAlternateRecipient */
123 static int hf_x411_DLExpansionProhibited_PDU = -1; /* DLExpansionProhibited */
124 static int hf_x411_ConversionWithLossProhibited_PDU = -1; /* ConversionWithLossProhibited */
125 static int hf_x411_LatestDeliveryTime_PDU = -1; /* LatestDeliveryTime */
126 static int hf_x411_RequestedDeliveryMethod_PDU = -1; /* RequestedDeliveryMethod */
127 static int hf_x411_PhysicalForwardingProhibited_PDU = -1; /* PhysicalForwardingProhibited */
128 static int hf_x411_PhysicalForwardingAddressRequest_PDU = -1; /* PhysicalForwardingAddressRequest */
129 static int hf_x411_PhysicalDeliveryModes_PDU = -1; /* PhysicalDeliveryModes */
130 static int hf_x411_RegisteredMailType_PDU = -1; /* RegisteredMailType */
131 static int hf_x411_RecipientNumberForAdvice_PDU = -1; /* RecipientNumberForAdvice */
132 static int hf_x411_PhysicalRenditionAttributes_PDU = -1; /* PhysicalRenditionAttributes */
133 static int hf_x411_OriginatorReturnAddress_PDU = -1; /* OriginatorReturnAddress */
134 static int hf_x411_PhysicalDeliveryReportRequest_PDU = -1; /* PhysicalDeliveryReportRequest */
135 static int hf_x411_OriginatorCertificate_PDU = -1; /* OriginatorCertificate */
136 static int hf_x411_MessageToken_PDU = -1; /* MessageToken */
137 static int hf_x411_ContentConfidentialityAlgorithmIdentifier_PDU = -1; /* ContentConfidentialityAlgorithmIdentifier */
138 static int hf_x411_ContentIntegrityCheck_PDU = -1; /* ContentIntegrityCheck */
139 static int hf_x411_MessageOriginAuthenticationCheck_PDU = -1; /* MessageOriginAuthenticationCheck */
140 static int hf_x411_MessageSecurityLabel_PDU = -1; /* MessageSecurityLabel */
141 static int hf_x411_ProofOfSubmissionRequest_PDU = -1; /* ProofOfSubmissionRequest */
142 static int hf_x411_ProofOfDeliveryRequest_PDU = -1; /* ProofOfDeliveryRequest */
143 static int hf_x411_ContentCorrelator_PDU = -1; /* ContentCorrelator */
144 static int hf_x411_ProbeOriginAuthenticationCheck_PDU = -1; /* ProbeOriginAuthenticationCheck */
145 static int hf_x411_RedirectionHistory_PDU = -1; /* RedirectionHistory */
146 static int hf_x411_Redirection_PDU = -1; /* Redirection */
147 static int hf_x411_DLExpansionHistory_PDU = -1; /* DLExpansionHistory */
148 static int hf_x411_DLExpansion_PDU = -1; /* DLExpansion */
149 static int hf_x411_PhysicalForwardingAddress_PDU = -1; /* PhysicalForwardingAddress */
150 static int hf_x411_OriginatorAndDLExpansionHistory_PDU = -1; /* OriginatorAndDLExpansionHistory */
151 static int hf_x411_ReportingDLName_PDU = -1; /* ReportingDLName */
152 static int hf_x411_ReportingMTACertificate_PDU = -1; /* ReportingMTACertificate */
153 static int hf_x411_ReportOriginAuthenticationCheck_PDU = -1; /* ReportOriginAuthenticationCheck */
154 static int hf_x411_OriginatingMTACertificate_PDU = -1; /* OriginatingMTACertificate */
155 static int hf_x411_ProofOfSubmission_PDU = -1; /* ProofOfSubmission */
156 static int hf_x411_ReportingMTAName_PDU = -1; /* ReportingMTAName */
157 static int hf_x411_ExtendedCertificates_PDU = -1; /* ExtendedCertificates */
158 static int hf_x411_DLExemptedRecipients_PDU = -1; /* DLExemptedRecipients */
159 static int hf_x411_CertificateSelectors_PDU = -1; /* CertificateSelectors */
160 static int hf_x411_Content_PDU = -1; /* Content */
161 static int hf_x411_MTSIdentifier_PDU = -1; /* MTSIdentifier */
162 static int hf_x411_ORName_PDU = -1; /* ORName */
163 static int hf_x411_ORAddress_PDU = -1; /* ORAddress */
164 static int hf_x411_CommonName_PDU = -1; /* CommonName */
165 static int hf_x411_TeletexCommonName_PDU = -1; /* TeletexCommonName */
166 static int hf_x411_UniversalCommonName_PDU = -1; /* UniversalCommonName */
167 static int hf_x411_TeletexOrganizationName_PDU = -1; /* TeletexOrganizationName */
168 static int hf_x411_UniversalOrganizationName_PDU = -1; /* UniversalOrganizationName */
169 static int hf_x411_TeletexPersonalName_PDU = -1; /* TeletexPersonalName */
170 static int hf_x411_UniversalPersonalName_PDU = -1; /* UniversalPersonalName */
171 static int hf_x411_TeletexOrganizationalUnitNames_PDU = -1; /* TeletexOrganizationalUnitNames */
172 static int hf_x411_UniversalOrganizationalUnitNames_PDU = -1; /* UniversalOrganizationalUnitNames */
173 static int hf_x411_PDSName_PDU = -1; /* PDSName */
174 static int hf_x411_PhysicalDeliveryCountryName_PDU = -1; /* PhysicalDeliveryCountryName */
175 static int hf_x411_PostalCode_PDU = -1; /* PostalCode */
176 static int hf_x411_PhysicalDeliveryOfficeName_PDU = -1; /* PhysicalDeliveryOfficeName */
177 static int hf_x411_ExtendedEncodedInformationType_PDU = -1; /* ExtendedEncodedInformationType */
178 static int hf_x411_MTANameAndOptionalGDI_PDU = -1; /* MTANameAndOptionalGDI */
179 static int hf_x411_AsymmetricToken_PDU = -1; /* AsymmetricToken */
180 static int hf_x411_BindTokenSignedData_PDU = -1; /* BindTokenSignedData */
181 static int hf_x411_MessageTokenSignedData_PDU = -1; /* MessageTokenSignedData */
182 static int hf_x411_MessageTokenEncryptedData_PDU = -1; /* MessageTokenEncryptedData */
183 static int hf_x411_BindTokenEncryptedData_PDU = -1; /* BindTokenEncryptedData */
184 static int hf_x411_SecurityClassification_PDU = -1; /* SecurityClassification */
185 static int hf_x411_unauthenticated = -1; /* NULL */
186 static int hf_x411_authenticated_argument = -1; /* AuthenticatedArgument */
187 static int hf_x411_authenticated_initiator_name = -1; /* MTAName */
188 static int hf_x411_initiator_credentials = -1; /* InitiatorCredentials */
189 static int hf_x411_security_context = -1; /* SecurityContext */
190 static int hf_x411_authenticated_result = -1; /* AuthenticatedResult */
191 static int hf_x411_authenticated_responder_name = -1; /* MTAName */
192 static int hf_x411_responder_credentials = -1; /* ResponderCredentials */
193 static int hf_x411_message = -1; /* Message */
194 static int hf_x411_report = -1; /* Report */
195 static int hf_x411_probe = -1; /* Probe */
196 static int hf_x411_message_envelope = -1; /* MessageTransferEnvelope */
197 static int hf_x411_content = -1; /* Content */
198 static int hf_x411_report_envelope = -1; /* ReportTransferEnvelope */
199 static int hf_x411_report_content = -1; /* ReportTransferContent */
200 static int hf_x411_message_identifier = -1; /* MessageIdentifier */
201 static int hf_x411_mta_originator_name = -1; /* MTAOriginatorName */
202 static int hf_x411_original_encoded_information_types = -1; /* OriginalEncodedInformationTypes */
203 static int hf_x411_content_type = -1; /* ContentType */
204 static int hf_x411_content_identifier = -1; /* ContentIdentifier */
205 static int hf_x411_priority = -1; /* Priority */
206 static int hf_x411_per_message_indicators = -1; /* PerMessageIndicators */
207 static int hf_x411_deferred_delivery_time = -1; /* DeferredDeliveryTime */
208 static int hf_x411_per_domain_bilateral_information = -1; /* SEQUENCE_OF_PerDomainBilateralInformation */
209 static int hf_x411_per_domain_bilateral_information_item = -1; /* PerDomainBilateralInformation */
210 static int hf_x411_trace_information = -1; /* TraceInformation */
211 static int hf_x411_extensions = -1; /* SET_OF_ExtensionField */
212 static int hf_x411_extensions_item = -1; /* ExtensionField */
213 static int hf_x411_per_recipient_message_fields = -1; /* SEQUENCE_OF_PerRecipientMessageTransferFields */
214 static int hf_x411_per_recipient_message_fields_item = -1; /* PerRecipientMessageTransferFields */
215 static int hf_x411_recipient_name = -1; /* MTARecipientName */
216 static int hf_x411_originally_specified_recipient_number = -1; /* OriginallySpecifiedRecipientNumber */
217 static int hf_x411_per_recipient_indicators = -1; /* PerRecipientIndicators */
218 static int hf_x411_explicit_conversion = -1; /* ExplicitConversion */
219 static int hf_x411_probe_identifier = -1; /* ProbeIdentifier */
220 static int hf_x411_content_length = -1; /* ContentLength */
221 static int hf_x411_per_recipient_probe_transfer_fields = -1; /* SEQUENCE_OF_PerRecipientProbeTransferFields */
222 static int hf_x411_per_recipient_probe_transfer_fields_item = -1; /* PerRecipientProbeTransferFields */
223 static int hf_x411_report_identifier = -1; /* ReportIdentifier */
224 static int hf_x411_report_destination_name = -1; /* ReportDestinationName */
225 static int hf_x411_subject_identifier = -1; /* SubjectIdentifier */
226 static int hf_x411_subject_intermediate_trace_information = -1; /* SubjectIntermediateTraceInformation */
227 static int hf_x411_returned_content = -1; /* Content */
228 static int hf_x411_additional_information = -1; /* AdditionalInformation */
229 static int hf_x411_per_recipient_report_fields = -1; /* SEQUENCE_OF_PerRecipientReportTransferFields */
230 static int hf_x411_per_recipient_report_fields_item = -1; /* PerRecipientReportTransferFields */
231 static int hf_x411_mta_actual_recipient_name = -1; /* MTAActualRecipientName */
232 static int hf_x411_last_trace_information = -1; /* LastTraceInformation */
233 static int hf_x411_report_originally_intended_recipient_name = -1; /* MTAOriginallyIntendedRecipientName */
234 static int hf_x411_supplementary_information = -1; /* SupplementaryInformation */
235 static int hf_x411_country_name = -1; /* CountryName */
236 static int hf_x411_bilateral_domain = -1; /* T_bilateral_domain */
237 static int hf_x411_administration_domain_name = -1; /* AdministrationDomainName */
238 static int hf_x411_private_domain = -1; /* T_private_domain */
239 static int hf_x411_private_domain_identifier = -1; /* PrivateDomainIdentifier */
240 static int hf_x411_bilateral_information = -1; /* T_bilateral_information */
241 static int hf_x411_arrival_time = -1; /* ArrivalTime */
242 static int hf_x411_converted_encoded_information_types = -1; /* ConvertedEncodedInformationTypes */
243 static int hf_x411_trace_report_type = -1; /* ReportType */
244 static int hf_x411_InternalTraceInformation_item = -1; /* InternalTraceInformationElement */
245 static int hf_x411_global_domain_identifier = -1; /* GlobalDomainIdentifier */
246 static int hf_x411_mta_name = -1; /* MTAName */
247 static int hf_x411_mta_supplied_information = -1; /* MTASuppliedInformation */
248 static int hf_x411_routing_action = -1; /* RoutingAction */
249 static int hf_x411_attempted = -1; /* T_attempted */
250 static int hf_x411_mta = -1; /* MTAName */
251 static int hf_x411_domain = -1; /* GlobalDomainIdentifier */
252 static int hf_x411_deferred_time = -1; /* DeferredTime */
253 static int hf_x411_other_actions = -1; /* OtherActions */
254 static int hf_x411__untag_item = -1; /* TraceInformationElement */
255 static int hf_x411_domain_supplied_information = -1; /* DomainSuppliedInformation */
256 static int hf_x411_attempted_domain = -1; /* GlobalDomainIdentifier */
257 static int hf_x411_initiator_name = -1; /* ObjectName */
258 static int hf_x411_messages_waiting = -1; /* MessagesWaiting */
259 static int hf_x411_responder_name = -1; /* ObjectName */
260 static int hf_x411_user_agent = -1; /* ORAddressAndOptionalDirectoryName */
261 static int hf_x411_mTA = -1; /* MTAName */
262 static int hf_x411_message_store = -1; /* ORAddressAndOptionalDirectoryName */
263 static int hf_x411_urgent = -1; /* DeliveryQueue */
264 static int hf_x411_normal = -1; /* DeliveryQueue */
265 static int hf_x411_non_urgent = -1; /* DeliveryQueue */
266 static int hf_x411_messages = -1; /* INTEGER */
267 static int hf_x411_delivery_queue_octets = -1; /* INTEGER */
268 static int hf_x411_simple = -1; /* Password */
269 static int hf_x411_strong = -1; /* StrongCredentials */
270 static int hf_x411_protected = -1; /* ProtectedPassword */
271 static int hf_x411_ia5_string = -1; /* IA5String */
272 static int hf_x411_octet_string = -1; /* OCTET_STRING */
273 static int hf_x411_bind_token = -1; /* Token */
274 static int hf_x411_certificate = -1; /* Certificates */
275 static int hf_x411_certificate_selector = -1; /* CertificateAssertion */
276 static int hf_x411_signature = -1; /* Signature */
277 static int hf_x411_time1 = -1; /* UTCTime */
278 static int hf_x411_time2 = -1; /* UTCTime */
279 static int hf_x411_random1 = -1; /* BIT_STRING */
280 static int hf_x411_random2 = -1; /* BIT_STRING */
281 static int hf_x411_algorithmIdentifier = -1; /* AlgorithmIdentifier */
282 static int hf_x411_encrypted = -1; /* BIT_STRING */
283 static int hf_x411_SecurityContext_item = -1; /* SecurityLabel */
284 static int hf_x411_message_submission_envelope = -1; /* MessageSubmissionEnvelope */
285 static int hf_x411_message_submission_identifier = -1; /* MessageSubmissionIdentifier */
286 static int hf_x411_message_submission_time = -1; /* MessageSubmissionTime */
287 static int hf_x411_probe_submission_identifier = -1; /* ProbeSubmissionIdentifier */
288 static int hf_x411_probe_submission_time = -1; /* ProbeSubmissionTime */
289 static int hf_x411_ImproperlySpecifiedRecipients_item = -1; /* MTSRecipientName */
290 static int hf_x411_waiting_operations = -1; /* Operations */
291 static int hf_x411_waiting_messages = -1; /* WaitingMessages */
292 static int hf_x411_waiting_content_types = -1; /* SET_OF_ContentType */
293 static int hf_x411_waiting_content_types_item = -1; /* ContentType */
294 static int hf_x411_waiting_encoded_information_types = -1; /* EncodedInformationTypes */
295 static int hf_x411_message_delivery_identifier = -1; /* MessageDeliveryIdentifier */
296 static int hf_x411_message_delivery_time = -1; /* MessageDeliveryTime */
297 static int hf_x411_other_fields = -1; /* OtherMessageDeliveryFields */
298 static int hf_x411_recipient_certificate = -1; /* RecipientCertificate */
299 static int hf_x411_proof_of_delivery = -1; /* ProofOfDelivery */
300 static int hf_x411_subject_submission_identifier = -1; /* SubjectSubmissionIdentifier */
301 static int hf_x411_per_recipient_report_delivery_fields = -1; /* SEQUENCE_OF_PerRecipientReportDeliveryFields */
302 static int hf_x411_per_recipient_report_delivery_fields_item = -1; /* PerRecipientReportDeliveryFields */
303 static int hf_x411_empty_result = -1; /* NULL */
304 static int hf_x411_restrict = -1; /* BOOLEAN */
305 static int hf_x411_permissible_operations = -1; /* Operations */
306 static int hf_x411_permissible_maximum_content_length = -1; /* ContentLength */
307 static int hf_x411_permissible_lowest_priority = -1; /* Priority */
308 static int hf_x411_permissible_content_types = -1; /* ContentTypes */
309 static int hf_x411_permissible_encoded_information_types = -1; /* PermissibleEncodedInformationTypes */
310 static int hf_x411_permissible_security_context = -1; /* SecurityContext */
311 static int hf_x411_refused_argument = -1; /* T_refused_argument */
312 static int hf_x411_built_in_argument = -1; /* RefusedArgument */
313 static int hf_x411_refused_extension = -1; /* T_refused_extension */
314 static int hf_x411_refusal_reason = -1; /* RefusalReason */
315 static int hf_x411_user_name = -1; /* UserName */
316 static int hf_x411_user_address = -1; /* UserAddress */
317 static int hf_x411_deliverable_class = -1; /* SET_OF_DeliverableClass */
318 static int hf_x411_deliverable_class_item = -1; /* DeliverableClass */
319 static int hf_x411_default_delivery_controls = -1; /* DefaultDeliveryControls */
320 static int hf_x411_redirections = -1; /* Redirections */
321 static int hf_x411_restricted_delivery = -1; /* RestrictedDelivery */
322 static int hf_x411_retrieve_registrations = -1; /* RegistrationTypes */
323 static int hf_x411_non_empty_result = -1; /* T_non_empty_result */
324 static int hf_x411_registered_information = -1; /* RegisterArgument */
325 static int hf_x411_old_credentials = -1; /* Credentials */
326 static int hf_x411_new_credentials = -1; /* Credentials */
327 static int hf_x411_x121 = -1; /* T_x121 */
328 static int hf_x411_x121_address = -1; /* AddrNumericString */
329 static int hf_x411_tsap_id = -1; /* PrintableString */
330 static int hf_x411_presentation = -1; /* PSAPAddress */
331 static int hf_x411_Redirections_item = -1; /* RecipientRedirection */
332 static int hf_x411_redirection_classes = -1; /* SET_OF_RedirectionClass */
333 static int hf_x411_redirection_classes_item = -1; /* RedirectionClass */
334 static int hf_x411_recipient_assigned_alternate_recipient = -1; /* RecipientAssignedAlternateRecipient */
335 static int hf_x411_content_types = -1; /* ContentTypes */
336 static int hf_x411_maximum_content_length = -1; /* ContentLength */
337 static int hf_x411_encoded_information_types_constraints = -1; /* EncodedInformationTypesConstraints */
338 static int hf_x411_security_labels = -1; /* SecurityContext */
339 static int hf_x411_class_priority = -1; /* SET_OF_Priority */
340 static int hf_x411_class_priority_item = -1; /* Priority */
341 static int hf_x411_objects = -1; /* T_objects */
342 static int hf_x411_applies_only_to = -1; /* SEQUENCE_OF_Restriction */
343 static int hf_x411_applies_only_to_item = -1; /* Restriction */
344 static int hf_x411_unacceptable_eits = -1; /* ExtendedEncodedInformationTypes */
345 static int hf_x411_acceptable_eits = -1; /* ExtendedEncodedInformationTypes */
346 static int hf_x411_exclusively_acceptable_eits = -1; /* ExtendedEncodedInformationTypes */
347 static int hf_x411_RestrictedDelivery_item = -1; /* Restriction */
348 static int hf_x411_permitted = -1; /* BOOLEAN */
349 static int hf_x411_source_type = -1; /* T_source_type */
350 static int hf_x411_source_name = -1; /* ExactOrPattern */
351 static int hf_x411_exact_match = -1; /* ORName */
352 static int hf_x411_pattern_match = -1; /* ORName */
353 static int hf_x411_standard_parameters = -1; /* T_standard_parameters */
354 static int hf_x411_type_extensions = -1; /* T_type_extensions */
355 static int hf_x411_type_extensions_item = -1; /* T_type_extensions_item */
356 static int hf_x411_mts_originator_name = -1; /* MTSOriginatorName */
357 static int hf_x411_per_recipient_message_submission_fields = -1; /* SEQUENCE_OF_PerRecipientMessageSubmissionFields */
358 static int hf_x411_per_recipient_message_submission_fields_item = -1; /* PerRecipientMessageSubmissionFields */
359 static int hf_x411_submission_recipient_name = -1; /* MTSRecipientName */
360 static int hf_x411_originator_report_request = -1; /* OriginatorReportRequest */
361 static int hf_x411_per_recipient_probe_submission_fields = -1; /* SEQUENCE_OF_PerRecipientProbeSubmissionFields */
362 static int hf_x411_per_recipient_probe_submission_fields_item = -1; /* PerRecipientProbeSubmissionFields */
363 static int hf_x411_probe_recipient_name = -1; /* MTSRecipientName */
364 static int hf_x411_delivered_content_type = -1; /* DeliveredContentType */
365 static int hf_x411_originator_name = -1; /* DeliveredOriginatorName */
366 static int hf_x411_delivery_flags = -1; /* DeliveryFlags */
367 static int hf_x411_other_recipient_names = -1; /* OtherRecipientNames */
368 static int hf_x411_this_recipient_name = -1; /* ThisRecipientName */
369 static int hf_x411_originally_intended_recipient_name = -1; /* MTSOriginallyIntendedRecipientName */
370 static int hf_x411_actual_recipient_name = -1; /* MTSActualRecipientName */
371 static int hf_x411_delivery_report_type = -1; /* ReportType */
372 static int hf_x411_delivery = -1; /* DeliveryReport */
373 static int hf_x411_non_delivery = -1; /* NonDeliveryReport */
374 static int hf_x411_type_of_MTS_user = -1; /* TypeOfMTSUser */
375 static int hf_x411_non_delivery_reason_code = -1; /* NonDeliveryReasonCode */
376 static int hf_x411_non_delivery_diagnostic_code = -1; /* NonDeliveryDiagnosticCode */
377 static int hf_x411_ContentTypes_item = -1; /* ContentType */
378 static int hf_x411_built_in = -1; /* BuiltInContentType */
379 static int hf_x411_extended = -1; /* ExtendedContentType */
380 static int hf_x411_OtherRecipientNames_item = -1; /* OtherRecipientName */
381 static int hf_x411_standard_extension = -1; /* StandardExtension */
382 static int hf_x411_private_extension = -1; /* T_private_extension */
383 static int hf_x411_extension_type = -1; /* ExtensionType */
384 static int hf_x411_criticality = -1; /* Criticality */
385 static int hf_x411_extension_value = -1; /* ExtensionValue */
386 static int hf_x411_RequestedDeliveryMethod_item = -1; /* RequestedDeliveryMethod_item */
387 static int hf_x411_ia5text = -1; /* IA5String */
388 static int hf_x411_octets = -1; /* OCTET_STRING */
389 static int hf_x411_RedirectionHistory_item = -1; /* Redirection */
390 static int hf_x411_intended_recipient_name = -1; /* IntendedRecipientName */
391 static int hf_x411_redirection_reason = -1; /* RedirectionReason */
392 static int hf_x411_intended_recipient = -1; /* ORAddressAndOptionalDirectoryName */
393 static int hf_x411_redirection_time = -1; /* Time */
394 static int hf_x411_DLExpansionHistory_item = -1; /* DLExpansion */
395 static int hf_x411_dl = -1; /* ORAddressAndOptionalDirectoryName */
396 static int hf_x411_dl_expansion_time = -1; /* Time */
397 static int hf_x411_OriginatorAndDLExpansionHistory_item = -1; /* OriginatorAndDLExpansion */
398 static int hf_x411_originator_or_dl_name = -1; /* ORAddressAndOptionalDirectoryName */
399 static int hf_x411_origination_or_expansion_time = -1; /* Time */
400 static int hf_x411_report_type = -1; /* T_report_type */
401 static int hf_x411_report_type_delivery = -1; /* PerRecipientDeliveryReportFields */
402 static int hf_x411_non_delivery_report = -1; /* PerRecipientNonDeliveryReportFields */
403 static int hf_x411_mta_directory_name = -1; /* Name */
404 static int hf_x411_ExtendedCertificates_item = -1; /* ExtendedCertificate */
405 static int hf_x411_directory_entry = -1; /* Name */
406 static int hf_x411_DLExemptedRecipients_item = -1; /* ORAddressAndOrDirectoryName */
407 static int hf_x411_encryption_recipient = -1; /* CertificateAssertion */
408 static int hf_x411_encryption_originator = -1; /* CertificateAssertion */
409 static int hf_x411_selectors_content_integrity_check = -1; /* CertificateAssertion */
410 static int hf_x411_token_signature = -1; /* CertificateAssertion */
411 static int hf_x411_message_origin_authentication = -1; /* CertificateAssertion */
412 static int hf_x411_local_identifier = -1; /* LocalIdentifier */
413 static int hf_x411_numeric_private_domain_identifier = -1; /* AddrNumericString */
414 static int hf_x411_printable_private_domain_identifier = -1; /* AddrPrintableString */
415 static int hf_x411_built_in_standard_attributes = -1; /* BuiltInStandardAttributes */
416 static int hf_x411_built_in_domain_defined_attributes = -1; /* BuiltInDomainDefinedAttributes */
417 static int hf_x411_extension_attributes = -1; /* ExtensionAttributes */
418 static int hf_x411_directory_name = -1; /* Name */
419 static int hf_x411_network_address = -1; /* NetworkAddress */
420 static int hf_x411_terminal_identifier = -1; /* TerminalIdentifier */
421 static int hf_x411_private_domain_name = -1; /* PrivateDomainName */
422 static int hf_x411_organization_name = -1; /* OrganizationName */
423 static int hf_x411_numeric_user_identifier = -1; /* NumericUserIdentifier */
424 static int hf_x411_personal_name = -1; /* PersonalName */
425 static int hf_x411_organizational_unit_names = -1; /* OrganizationalUnitNames */
426 static int hf_x411_x121_dcc_code = -1; /* AddrNumericString */
427 static int hf_x411_iso_3166_alpha2_code = -1; /* AddrPrintableString */
428 static int hf_x411_numeric = -1; /* AddrNumericString */
429 static int hf_x411_printable = -1; /* AddrPrintableString */
430 static int hf_x411_numeric_private_domain_name = -1; /* AddrNumericString */
431 static int hf_x411_printable_private_domain_name = -1; /* AddrPrintableString */
432 static int hf_x411_printable_surname = -1; /* T_printable_surname */
433 static int hf_x411_printable_given_name = -1; /* T_printable_given_name */
434 static int hf_x411_printable_initials = -1; /* T_printable_initials */
435 static int hf_x411_printable_generation_qualifier = -1; /* T_printable_generation_qualifier */
436 static int hf_x411_OrganizationalUnitNames_item = -1; /* OrganizationalUnitName */
437 static int hf_x411_BuiltInDomainDefinedAttributes_item = -1; /* BuiltInDomainDefinedAttribute */
438 static int hf_x411_printable_type = -1; /* T_printable_type */
439 static int hf_x411_printable_value = -1; /* T_printable_value */
440 static int hf_x411_ExtensionAttributes_item = -1; /* ExtensionAttribute */
441 static int hf_x411_extension_attribute_type = -1; /* ExtensionAttributeType */
442 static int hf_x411_extension_attribute_value = -1; /* T_extension_attribute_value */
443 static int hf_x411_teletex_surname = -1; /* AddrTeletexString */
444 static int hf_x411_teletex_given_name = -1; /* AddrTeletexString */
445 static int hf_x411_teletex_initials = -1; /* AddrTeletexString */
446 static int hf_x411_teletex_generation_qualifier = -1; /* AddrTeletexString */
447 static int hf_x411_universal_surname = -1; /* UniversalOrBMPString */
448 static int hf_x411_universal_given_name = -1; /* UniversalOrBMPString */
449 static int hf_x411_universal_initials = -1; /* UniversalOrBMPString */
450 static int hf_x411_universal_generation_qualifier = -1; /* UniversalOrBMPString */
451 static int hf_x411_TeletexOrganizationalUnitNames_item = -1; /* TeletexOrganizationalUnitName */
452 static int hf_x411_UniversalOrganizationalUnitNames_item = -1; /* UniversalOrganizationalUnitName */
453 static int hf_x411_character_encoding = -1; /* T_character_encoding */
454 static int hf_x411_two_octets = -1; /* BMPString */
455 static int hf_x411_four_octets = -1; /* UniversalString */
456 static int hf_x411_iso_639_language_code = -1; /* PrintableString */
457 static int hf_x411_numeric_code = -1; /* AddrNumericString */
458 static int hf_x411_printable_code = -1; /* PrintableString */
459 static int hf_x411_printable_address = -1; /* T_printable_address */
460 static int hf_x411_printable_address_item = -1; /* PrintableString */
461 static int hf_x411_teletex_string = -1; /* TeletexString */
462 static int hf_x411_printable_string = -1; /* PrintableString */
463 static int hf_x411_e163_4_address = -1; /* T_e163_4_address */
464 static int hf_x411_number = -1; /* NumericString */
465 static int hf_x411_sub_address = -1; /* NumericString */
466 static int hf_x411_psap_address = -1; /* PresentationAddress */
467 static int hf_x411_TeletexDomainDefinedAttributes_item = -1; /* TeletexDomainDefinedAttribute */
468 static int hf_x411_type = -1; /* AddrTeletexString */
469 static int hf_x411_teletex_value = -1; /* AddrTeletexString */
470 static int hf_x411_UniversalDomainDefinedAttributes_item = -1; /* UniversalDomainDefinedAttribute */
471 static int hf_x411_universal_type = -1; /* UniversalOrBMPString */
472 static int hf_x411_universal_value = -1; /* UniversalOrBMPString */
473 static int hf_x411_built_in_encoded_information_types = -1; /* BuiltInEncodedInformationTypes */
474 static int hf_x411_g3_facsimile = -1; /* G3FacsimileNonBasicParameters */
475 static int hf_x411_teletex = -1; /* TeletexNonBasicParameters */
476 static int hf_x411_extended_encoded_information_types = -1; /* ExtendedEncodedInformationTypes */
477 static int hf_x411_ExtendedEncodedInformationTypes_item = -1; /* ExtendedEncodedInformationType */
478 static int hf_x411_graphic_character_sets = -1; /* TeletexString */
479 static int hf_x411_control_character_sets = -1; /* TeletexString */
480 static int hf_x411_page_formats = -1; /* OCTET_STRING */
481 static int hf_x411_miscellaneous_terminal_capabilities = -1; /* TeletexString */
482 static int hf_x411_private_use = -1; /* OCTET_STRING */
483 static int hf_x411_token_type_identifier = -1; /* TokenTypeIdentifier */
484 static int hf_x411_token = -1; /* TokenTypeData */
485 static int hf_x411_signature_algorithm_identifier = -1; /* AlgorithmIdentifier */
486 static int hf_x411_name = -1; /* T_name */
487 static int hf_x411_token_recipient_name = -1; /* MTSRecipientName */
488 static int hf_x411_token_mta = -1; /* MTANameAndOptionalGDI */
489 static int hf_x411_time = -1; /* Time */
490 static int hf_x411_signed_data = -1; /* TokenData */
491 static int hf_x411_encryption_algorithm_identifier = -1; /* AlgorithmIdentifier */
492 static int hf_x411_encrypted_data = -1; /* BIT_STRING */
493 static int hf_x411_asymmetric_token_data = -1; /* AsymmetricTokenData */
494 static int hf_x411_algorithm_identifier = -1; /* AlgorithmIdentifier */
495 static int hf_x411_token_data_type = -1; /* TokenDataType */
496 static int hf_x411_value = -1; /* T_value */
497 static int hf_x411_content_confidentiality_algorithm_identifier = -1; /* ContentConfidentialityAlgorithmIdentifier */
498 static int hf_x411_content_integrity_check = -1; /* ContentIntegrityCheck */
499 static int hf_x411_message_security_label = -1; /* MessageSecurityLabel */
500 static int hf_x411_proof_of_delivery_request = -1; /* ProofOfDeliveryRequest */
501 static int hf_x411_message_sequence_number = -1; /* INTEGER */
502 static int hf_x411_content_confidentiality_key = -1; /* EncryptionKey */
503 static int hf_x411_content_integrity_key = -1; /* EncryptionKey */
504 static int hf_x411_security_policy_identifier = -1; /* SecurityPolicyIdentifier */
505 static int hf_x411_security_classification = -1; /* SecurityClassification */
506 static int hf_x411_privacy_mark = -1; /* PrivacyMark */
507 static int hf_x411_security_categories = -1; /* SecurityCategories */
508 static int hf_x411_SecurityCategories_item = -1; /* SecurityCategory */
509 static int hf_x411_category_type = -1; /* OBJECT_IDENTIFIER */
510 static int hf_x411_category_value = -1; /* CategoryValue */
512 static int hf_x411_PerRecipientIndicators_responsibility = -1;
513 static int hf_x411_PerRecipientIndicators_originating_MTA_report = -1;
514 static int hf_x411_PerRecipientIndicators_originating_MTA_non_delivery_report = -1;
515 static int hf_x411_PerRecipientIndicators_originator_report = -1;
516 static int hf_x411_PerRecipientIndicators_originator_non_delivery_report = -1;
517 static int hf_x411_PerRecipientIndicators_reserved_5 = -1;
518 static int hf_x411_PerRecipientIndicators_reserved_6 = -1;
519 static int hf_x411_PerRecipientIndicators_reserved_7 = -1;
520 static int hf_x411_OtherActions_redirected = -1;
521 static int hf_x411_OtherActions_dl_operation = -1;
522 static int hf_x411_Operations_probe_submission_or_report_delivery = -1;
523 static int hf_x411_Operations_message_submission_or_message_delivery = -1;
524 static int hf_x411_WaitingMessages_long_content = -1;
525 static int hf_x411_WaitingMessages_low_priority = -1;
526 static int hf_x411_WaitingMessages_other_security_labels = -1;
527 static int hf_x411_T_source_type_originated_by = -1;
528 static int hf_x411_T_source_type_redirected_by = -1;
529 static int hf_x411_T_source_type_dl_expanded_by = -1;
530 static int hf_x411_T_standard_parameters_user_name = -1;
531 static int hf_x411_T_standard_parameters_user_address = -1;
532 static int hf_x411_T_standard_parameters_deliverable_class = -1;
533 static int hf_x411_T_standard_parameters_default_delivery_controls = -1;
534 static int hf_x411_T_standard_parameters_redirections = -1;
535 static int hf_x411_T_standard_parameters_restricted_delivery = -1;
536 static int hf_x411_PerMessageIndicators_U_disclosure_of_other_recipients = -1;
537 static int hf_x411_PerMessageIndicators_U_implicit_conversion_prohibited = -1;
538 static int hf_x411_PerMessageIndicators_U_alternate_recipient_allowed = -1;
539 static int hf_x411_PerMessageIndicators_U_content_return_request = -1;
540 static int hf_x411_PerMessageIndicators_U_reserved = -1;
541 static int hf_x411_PerMessageIndicators_U_bit_5 = -1;
542 static int hf_x411_PerMessageIndicators_U_bit_6 = -1;
543 static int hf_x411_PerMessageIndicators_U_service_message = -1;
544 static int hf_x411_OriginatorReportRequest_report = -1;
545 static int hf_x411_OriginatorReportRequest_non_delivery_report = -1;
546 static int hf_x411_DeliveryFlags_implicit_conversion_prohibited = -1;
547 static int hf_x411_Criticality_for_submission = -1;
548 static int hf_x411_Criticality_for_transfer = -1;
549 static int hf_x411_Criticality_for_delivery = -1;
550 static int hf_x411_PhysicalDeliveryModes_ordinary_mail = -1;
551 static int hf_x411_PhysicalDeliveryModes_special_delivery = -1;
552 static int hf_x411_PhysicalDeliveryModes_express_mail = -1;
553 static int hf_x411_PhysicalDeliveryModes_counter_collection = -1;
554 static int hf_x411_PhysicalDeliveryModes_counter_collection_with_telephone_advice = -1;
555 static int hf_x411_PhysicalDeliveryModes_counter_collection_with_telex_advice = -1;
556 static int hf_x411_PhysicalDeliveryModes_counter_collection_with_teletex_advice = -1;
557 static int hf_x411_PhysicalDeliveryModes_bureau_fax_delivery = -1;
558 static int hf_x411_BuiltInEncodedInformationTypes_unknown = -1;
559 static int hf_x411_BuiltInEncodedInformationTypes_ia5_text = -1;
560 static int hf_x411_BuiltInEncodedInformationTypes_g3_facsimile = -1;
561 static int hf_x411_BuiltInEncodedInformationTypes_g4_class_1 = -1;
562 static int hf_x411_BuiltInEncodedInformationTypes_teletex = -1;
563 static int hf_x411_BuiltInEncodedInformationTypes_videotex = -1;
564 static int hf_x411_BuiltInEncodedInformationTypes_voice = -1;
565 static int hf_x411_BuiltInEncodedInformationTypes_sfd = -1;
566 static int hf_x411_BuiltInEncodedInformationTypes_mixed_mode = -1;
567 static int hf_x411_G3FacsimileNonBasicParameters_two_dimensional = -1;
568 static int hf_x411_G3FacsimileNonBasicParameters_fine_resolution = -1;
569 static int hf_x411_G3FacsimileNonBasicParameters_unlimited_length = -1;
570 static int hf_x411_G3FacsimileNonBasicParameters_b4_length = -1;
571 static int hf_x411_G3FacsimileNonBasicParameters_a3_width = -1;
572 static int hf_x411_G3FacsimileNonBasicParameters_b4_width = -1;
573 static int hf_x411_G3FacsimileNonBasicParameters_t6_coding = -1;
574 static int hf_x411_G3FacsimileNonBasicParameters_uncompressed = -1;
575 static int hf_x411_G3FacsimileNonBasicParameters_width_middle_864_of_1728 = -1;
576 static int hf_x411_G3FacsimileNonBasicParameters_width_middle_1216_of_1728 = -1;
577 static int hf_x411_G3FacsimileNonBasicParameters_resolution_type = -1;
578 static int hf_x411_G3FacsimileNonBasicParameters_resolution_400x400 = -1;
579 static int hf_x411_G3FacsimileNonBasicParameters_resolution_300x300 = -1;
580 static int hf_x411_G3FacsimileNonBasicParameters_resolution_8x15 = -1;
581 static int hf_x411_G3FacsimileNonBasicParameters_edi = -1;
582 static int hf_x411_G3FacsimileNonBasicParameters_dtm = -1;
583 static int hf_x411_G3FacsimileNonBasicParameters_bft = -1;
584 static int hf_x411_G3FacsimileNonBasicParameters_mixed_mode = -1;
585 static int hf_x411_G3FacsimileNonBasicParameters_character_mode = -1;
586 static int hf_x411_G3FacsimileNonBasicParameters_twelve_bits = -1;
587 static int hf_x411_G3FacsimileNonBasicParameters_preferred_huffmann = -1;
588 static int hf_x411_G3FacsimileNonBasicParameters_full_colour = -1;
589 static int hf_x411_G3FacsimileNonBasicParameters_jpeg = -1;
590 static int hf_x411_G3FacsimileNonBasicParameters_processable_mode_26 = -1;
592 /*--- End of included file: packet-x411-hf.c ---*/
593 #line 82 "packet-x411-template.c"
595 /* Initialize the subtree pointers */
596 static gint ett_x411 = -1;
597 static gint ett_x411_content_unknown = -1;
598 static gint ett_x411_bilateral_information = -1;
599 static gint ett_x411_additional_information = -1;
600 static gint ett_x411_unknown_standard_extension = -1;
601 static gint ett_x411_unknown_extension_attribute_type = -1;
602 static gint ett_x411_unknown_tokendata_type = -1;
604 /*--- Included file: packet-x411-ett.c ---*/
605 #line 1 "packet-x411-ett.c"
606 static gint ett_x411_MTABindArgument = -1;
607 static gint ett_x411_AuthenticatedArgument = -1;
608 static gint ett_x411_MTABindResult = -1;
609 static gint ett_x411_AuthenticatedResult = -1;
610 static gint ett_x411_MTS_APDU = -1;
611 static gint ett_x411_Message = -1;
612 static gint ett_x411_Report = -1;
613 static gint ett_x411_MessageTransferEnvelope = -1;
614 static gint ett_x411_SEQUENCE_OF_PerDomainBilateralInformation = -1;
615 static gint ett_x411_SET_OF_ExtensionField = -1;
616 static gint ett_x411_SEQUENCE_OF_PerRecipientMessageTransferFields = -1;
617 static gint ett_x411_PerRecipientMessageTransferFields = -1;
618 static gint ett_x411_ProbeTransferEnvelope = -1;
619 static gint ett_x411_SEQUENCE_OF_PerRecipientProbeTransferFields = -1;
620 static gint ett_x411_PerRecipientProbeTransferFields = -1;
621 static gint ett_x411_ReportTransferEnvelope = -1;
622 static gint ett_x411_ReportTransferContent = -1;
623 static gint ett_x411_SEQUENCE_OF_PerRecipientReportTransferFields = -1;
624 static gint ett_x411_PerRecipientReportTransferFields = -1;
625 static gint ett_x411_PerDomainBilateralInformation = -1;
626 static gint ett_x411_T_bilateral_domain = -1;
627 static gint ett_x411_T_private_domain = -1;
628 static gint ett_x411_PerRecipientIndicators = -1;
629 static gint ett_x411_LastTraceInformation = -1;
630 static gint ett_x411_InternalTraceInformation = -1;
631 static gint ett_x411_InternalTraceInformationElement = -1;
632 static gint ett_x411_MTASuppliedInformation = -1;
633 static gint ett_x411_T_attempted = -1;
634 static gint ett_x411_SEQUENCE_OF_TraceInformationElement = -1;
635 static gint ett_x411_TraceInformationElement = -1;
636 static gint ett_x411_DomainSuppliedInformation = -1;
637 static gint ett_x411_OtherActions = -1;
638 static gint ett_x411_MTSBindArgument = -1;
639 static gint ett_x411_MTSBindResult = -1;
640 static gint ett_x411_ObjectName = -1;
641 static gint ett_x411_MessagesWaiting = -1;
642 static gint ett_x411_DeliveryQueue = -1;
643 static gint ett_x411_Credentials = -1;
644 static gint ett_x411_Password = -1;
645 static gint ett_x411_StrongCredentials = -1;
646 static gint ett_x411_ProtectedPassword = -1;
647 static gint ett_x411_Signature = -1;
648 static gint ett_x411_SecurityContext = -1;
649 static gint ett_x411_MessageSubmissionArgument = -1;
650 static gint ett_x411_MessageSubmissionResult = -1;
651 static gint ett_x411_ProbeSubmissionResult = -1;
652 static gint ett_x411_ImproperlySpecifiedRecipients = -1;
653 static gint ett_x411_Waiting = -1;
654 static gint ett_x411_SET_OF_ContentType = -1;
655 static gint ett_x411_Operations = -1;
656 static gint ett_x411_WaitingMessages = -1;
657 static gint ett_x411_MessageDeliveryArgument = -1;
658 static gint ett_x411_MessageDeliveryResult = -1;
659 static gint ett_x411_ReportDeliveryArgument = -1;
660 static gint ett_x411_SEQUENCE_OF_PerRecipientReportDeliveryFields = -1;
661 static gint ett_x411_ReportDeliveryResult = -1;
662 static gint ett_x411_DeliveryControlArgument = -1;
663 static gint ett_x411_DeliveryControlResult = -1;
664 static gint ett_x411_RefusedOperation = -1;
665 static gint ett_x411_T_refused_argument = -1;
666 static gint ett_x411_Controls = -1;
667 static gint ett_x411_RegisterArgument = -1;
668 static gint ett_x411_SET_OF_DeliverableClass = -1;
669 static gint ett_x411_RegisterResult = -1;
670 static gint ett_x411_T_non_empty_result = -1;
671 static gint ett_x411_ChangeCredentialsArgument = -1;
672 static gint ett_x411_UserAddress = -1;
673 static gint ett_x411_T_x121 = -1;
674 static gint ett_x411_Redirections = -1;
675 static gint ett_x411_RecipientRedirection = -1;
676 static gint ett_x411_SET_OF_RedirectionClass = -1;
677 static gint ett_x411_MessageClass = -1;
678 static gint ett_x411_SET_OF_Priority = -1;
679 static gint ett_x411_SEQUENCE_OF_Restriction = -1;
680 static gint ett_x411_EncodedInformationTypesConstraints = -1;
681 static gint ett_x411_RestrictedDelivery = -1;
682 static gint ett_x411_Restriction = -1;
683 static gint ett_x411_T_source_type = -1;
684 static gint ett_x411_ExactOrPattern = -1;
685 static gint ett_x411_RegistrationTypes = -1;
686 static gint ett_x411_T_standard_parameters = -1;
687 static gint ett_x411_T_type_extensions = -1;
688 static gint ett_x411_MessageSubmissionEnvelope = -1;
689 static gint ett_x411_SEQUENCE_OF_PerRecipientMessageSubmissionFields = -1;
690 static gint ett_x411_PerRecipientMessageSubmissionFields = -1;
691 static gint ett_x411_ProbeSubmissionEnvelope = -1;
692 static gint ett_x411_SEQUENCE_OF_PerRecipientProbeSubmissionFields = -1;
693 static gint ett_x411_PerRecipientProbeSubmissionFields = -1;
694 static gint ett_x411_MessageDeliveryEnvelope = -1;
695 static gint ett_x411_OtherMessageDeliveryFields = -1;
696 static gint ett_x411_ReportDeliveryEnvelope = -1;
697 static gint ett_x411_PerRecipientReportDeliveryFields = -1;
698 static gint ett_x411_ReportType = -1;
699 static gint ett_x411_DeliveryReport = -1;
700 static gint ett_x411_NonDeliveryReport = -1;
701 static gint ett_x411_ContentTypes = -1;
702 static gint ett_x411_ContentType = -1;
703 static gint ett_x411_DeliveredContentType = -1;
704 static gint ett_x411_PerMessageIndicators_U = -1;
705 static gint ett_x411_OriginatorReportRequest = -1;
706 static gint ett_x411_DeliveryFlags = -1;
707 static gint ett_x411_OtherRecipientNames = -1;
708 static gint ett_x411_ExtensionType = -1;
709 static gint ett_x411_Criticality = -1;
710 static gint ett_x411_ExtensionField = -1;
711 static gint ett_x411_RequestedDeliveryMethod = -1;
712 static gint ett_x411_PhysicalDeliveryModes = -1;
713 static gint ett_x411_ContentCorrelator = -1;
714 static gint ett_x411_RedirectionHistory = -1;
715 static gint ett_x411_Redirection = -1;
716 static gint ett_x411_IntendedRecipientName = -1;
717 static gint ett_x411_DLExpansionHistory = -1;
718 static gint ett_x411_DLExpansion = -1;
719 static gint ett_x411_OriginatorAndDLExpansionHistory = -1;
720 static gint ett_x411_OriginatorAndDLExpansion = -1;
721 static gint ett_x411_PerRecipientReportFields = -1;
722 static gint ett_x411_T_report_type = -1;
723 static gint ett_x411_PerRecipientDeliveryReportFields = -1;
724 static gint ett_x411_PerRecipientNonDeliveryReportFields = -1;
725 static gint ett_x411_ReportingMTAName = -1;
726 static gint ett_x411_ExtendedCertificates = -1;
727 static gint ett_x411_ExtendedCertificate = -1;
728 static gint ett_x411_DLExemptedRecipients = -1;
729 static gint ett_x411_CertificateSelectors = -1;
730 static gint ett_x411_MTSIdentifier_U = -1;
731 static gint ett_x411_GlobalDomainIdentifier_U = -1;
732 static gint ett_x411_PrivateDomainIdentifier = -1;
733 static gint ett_x411_ORName_U = -1;
734 static gint ett_x411_ORAddress = -1;
735 static gint ett_x411_BuiltInStandardAttributes = -1;
736 static gint ett_x411_CountryName_U = -1;
737 static gint ett_x411_AdministrationDomainName_U = -1;
738 static gint ett_x411_PrivateDomainName = -1;
739 static gint ett_x411_PersonalName = -1;
740 static gint ett_x411_OrganizationalUnitNames = -1;
741 static gint ett_x411_BuiltInDomainDefinedAttributes = -1;
742 static gint ett_x411_BuiltInDomainDefinedAttribute = -1;
743 static gint ett_x411_ExtensionAttributes = -1;
744 static gint ett_x411_ExtensionAttribute = -1;
745 static gint ett_x411_TeletexPersonalName = -1;
746 static gint ett_x411_UniversalPersonalName = -1;
747 static gint ett_x411_TeletexOrganizationalUnitNames = -1;
748 static gint ett_x411_UniversalOrganizationalUnitNames = -1;
749 static gint ett_x411_UniversalOrBMPString = -1;
750 static gint ett_x411_T_character_encoding = -1;
751 static gint ett_x411_PhysicalDeliveryCountryName = -1;
752 static gint ett_x411_PostalCode = -1;
753 static gint ett_x411_UnformattedPostalAddress = -1;
754 static gint ett_x411_T_printable_address = -1;
755 static gint ett_x411_PDSParameter = -1;
756 static gint ett_x411_ExtendedNetworkAddress = -1;
757 static gint ett_x411_T_e163_4_address = -1;
758 static gint ett_x411_TeletexDomainDefinedAttributes = -1;
759 static gint ett_x411_TeletexDomainDefinedAttribute = -1;
760 static gint ett_x411_UniversalDomainDefinedAttributes = -1;
761 static gint ett_x411_UniversalDomainDefinedAttribute = -1;
762 static gint ett_x411_EncodedInformationTypes_U = -1;
763 static gint ett_x411_BuiltInEncodedInformationTypes = -1;
764 static gint ett_x411_ExtendedEncodedInformationTypes = -1;
765 static gint ett_x411_NonBasicParameters = -1;
766 static gint ett_x411_G3FacsimileNonBasicParameters = -1;
767 static gint ett_x411_TeletexNonBasicParameters = -1;
768 static gint ett_x411_Token = -1;
769 static gint ett_x411_AsymmetricTokenData = -1;
770 static gint ett_x411_T_name = -1;
771 static gint ett_x411_MTANameAndOptionalGDI = -1;
772 static gint ett_x411_AsymmetricToken = -1;
773 static gint ett_x411_TokenData = -1;
774 static gint ett_x411_MessageTokenSignedData = -1;
775 static gint ett_x411_MessageTokenEncryptedData = -1;
776 static gint ett_x411_SecurityLabel = -1;
777 static gint ett_x411_SecurityCategories = -1;
778 static gint ett_x411_SecurityCategory = -1;
780 /*--- End of included file: packet-x411-ett.c ---*/
781 #line 92 "packet-x411-template.c"
783 /* Dissector tables */
784 static dissector_table_t x411_extension_dissector_table;
785 static dissector_table_t x411_extension_attribute_dissector_table;
786 static dissector_table_t x411_tokendata_dissector_table;
789 /*--- Included file: packet-x411-fn.c ---*/
790 #line 1 "packet-x411-fn.c"
794 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_) {
795 offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
803 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_) {
805 tvbuff_t *mtaname = NULL;
807 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_IA5String,
808 actx, tree, tvb, offset, hf_index,
814 proto_item_append_text(address_item, " %s", tvb_format_text(mtaname, 0, tvb_length(mtaname)));
818 if (check_col(actx->pinfo->cinfo, COL_INFO) && mtaname) {
819 col_append_fstr(actx->pinfo->cinfo, COL_INFO, " %s", tvb_format_text(mtaname, 0, tvb_length(mtaname)));
832 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_) {
833 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_IA5String,
834 actx, tree, tvb, offset, hf_index,
843 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_) {
844 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
851 static const value_string x411_Password_vals[] = {
853 { 1, "octet-string" },
857 static const ber_choice_t Password_choice[] = {
858 { 0, &hf_x411_ia5_string , BER_CLASS_UNI, BER_UNI_TAG_IA5String, BER_FLAGS_NOOWNTAG, dissect_x411_IA5String },
859 { 1, &hf_x411_octet_string , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_x411_OCTET_STRING },
860 { 0, NULL, 0, 0, 0, NULL }
864 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_) {
865 offset = dissect_ber_choice(actx, tree, tvb, offset,
866 Password_choice, hf_index, ett_x411_Password,
875 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_) {
876 offset = dissect_ber_object_identifier_str(implicit_tag, actx, tree, tvb, offset, hf_index, &object_identifier_id);
884 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_) {
887 if(object_identifier_id)
888 call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree);
896 static const ber_sequence_t Token_sequence[] = {
897 { &hf_x411_token_type_identifier, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x411_TokenTypeIdentifier },
898 { &hf_x411_token , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x411_TokenTypeData },
899 { NULL, 0, 0, 0, NULL }
903 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_) {
904 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
905 Token_sequence, hf_index, ett_x411_Token);
911 static const ber_sequence_t StrongCredentials_set[] = {
912 { &hf_x411_bind_token , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_Token },
913 { &hf_x411_certificate , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509af_Certificates },
914 { &hf_x411_certificate_selector, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_CertificateAssertion },
915 { NULL, 0, 0, 0, NULL }
919 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_) {
920 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
921 StrongCredentials_set, hf_index, ett_x411_StrongCredentials);
929 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_) {
930 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
938 static const ber_sequence_t Signature_sequence[] = {
939 { &hf_x411_algorithmIdentifier, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AlgorithmIdentifier },
940 { &hf_x411_encrypted , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_x411_BIT_STRING },
941 { NULL, 0, 0, 0, NULL }
945 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_) {
946 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
947 Signature_sequence, hf_index, ett_x411_Signature);
955 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_) {
956 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_UTCTime,
957 actx, tree, tvb, offset, hf_index,
964 static const ber_sequence_t ProtectedPassword_set[] = {
965 { &hf_x411_signature , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x411_Signature },
966 { &hf_x411_time1 , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_UTCTime },
967 { &hf_x411_time2 , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_UTCTime },
968 { &hf_x411_random1 , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_BIT_STRING },
969 { &hf_x411_random2 , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_BIT_STRING },
970 { NULL, 0, 0, 0, NULL }
974 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_) {
975 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
976 ProtectedPassword_set, hf_index, ett_x411_ProtectedPassword);
982 const value_string x411_Credentials_vals[] = {
989 static const ber_choice_t Credentials_choice[] = {
990 { 0, &hf_x411_simple , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_x411_Password },
991 { 1, &hf_x411_strong , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x411_StrongCredentials },
992 { 2, &hf_x411_protected , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x411_ProtectedPassword },
993 { 0, NULL, 0, 0, 0, NULL }
997 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_) {
999 gint credentials = -1;
1001 offset = dissect_ber_choice(actx, tree, tvb, offset,
1002 Credentials_choice, hf_index, ett_x411_Credentials,
1006 if( (credentials!=-1) && x411_Credentials_vals[credentials].strptr ){
1007 if (check_col(actx->pinfo->cinfo, COL_INFO)) {
1008 col_append_fstr(actx->pinfo->cinfo, COL_INFO, " %s", x411_Credentials_vals[credentials].strptr);
1020 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_) {
1021 offset = dissect_x411_Credentials(implicit_tag, tvb, offset, actx, tree, hf_index);
1029 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_) {
1030 offset = dissect_ber_object_identifier(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
1036 static const value_string x411_SecurityClassification_vals[] = {
1038 { 1, "unclassified" },
1039 { 2, "restricted" },
1040 { 3, "confidential" },
1042 { 5, "top-secret" },
1048 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_) {
1049 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
1058 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_) {
1059 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
1060 actx, tree, tvb, offset, hf_index,
1069 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_) {
1070 offset = dissect_ber_object_identifier(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
1078 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_) {
1079 #line 356 "x411.cnf"
1081 offset = dissect_unknown_ber(actx->pinfo, tvb, offset, tree);
1089 static const ber_sequence_t SecurityCategory_sequence[] = {
1090 { &hf_x411_category_type , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x411_OBJECT_IDENTIFIER },
1091 { &hf_x411_category_value , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x411_CategoryValue },
1092 { NULL, 0, 0, 0, NULL }
1096 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_) {
1097 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1098 SecurityCategory_sequence, hf_index, ett_x411_SecurityCategory);
1104 static const ber_sequence_t SecurityCategories_set_of[1] = {
1105 { &hf_x411_SecurityCategories_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x411_SecurityCategory },
1109 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_) {
1110 offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
1111 SecurityCategories_set_of, hf_index, ett_x411_SecurityCategories);
1117 static const ber_sequence_t SecurityLabel_set[] = {
1118 { &hf_x411_security_policy_identifier, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_SecurityPolicyIdentifier },
1119 { &hf_x411_security_classification, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_SecurityClassification },
1120 { &hf_x411_privacy_mark , BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_PrivacyMark },
1121 { &hf_x411_security_categories, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_SecurityCategories },
1122 { NULL, 0, 0, 0, NULL }
1126 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_) {
1127 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
1128 SecurityLabel_set, hf_index, ett_x411_SecurityLabel);
1134 static const ber_sequence_t SecurityContext_set_of[1] = {
1135 { &hf_x411_SecurityContext_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x411_SecurityLabel },
1139 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_) {
1140 offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
1141 SecurityContext_set_of, hf_index, ett_x411_SecurityContext);
1147 static const ber_sequence_t AuthenticatedArgument_set[] = {
1148 { &hf_x411_authenticated_initiator_name, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x411_MTAName },
1149 { &hf_x411_initiator_credentials, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_x411_InitiatorCredentials },
1150 { &hf_x411_security_context, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_SecurityContext },
1151 { NULL, 0, 0, 0, NULL }
1155 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_) {
1156 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
1157 AuthenticatedArgument_set, hf_index, ett_x411_AuthenticatedArgument);
1163 static const value_string x411_MTABindArgument_vals[] = {
1164 { 0, "unauthenticated" },
1165 { 1, "authenticated" },
1169 static const ber_choice_t MTABindArgument_choice[] = {
1170 { 0, &hf_x411_unauthenticated, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_x411_NULL },
1171 { 1, &hf_x411_authenticated_argument, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x411_AuthenticatedArgument },
1172 { 0, NULL, 0, 0, 0, NULL }
1176 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_) {
1177 offset = dissect_ber_choice(actx, tree, tvb, offset,
1178 MTABindArgument_choice, hf_index, ett_x411_MTABindArgument,
1187 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_) {
1188 offset = dissect_x411_Credentials(implicit_tag, tvb, offset, actx, tree, hf_index);
1194 static const ber_sequence_t AuthenticatedResult_set[] = {
1195 { &hf_x411_authenticated_responder_name, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x411_MTAName },
1196 { &hf_x411_responder_credentials, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_x411_ResponderCredentials },
1197 { NULL, 0, 0, 0, NULL }
1201 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_) {
1202 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
1203 AuthenticatedResult_set, hf_index, ett_x411_AuthenticatedResult);
1209 static const value_string x411_MTABindResult_vals[] = {
1210 { 0, "unauthenticated" },
1211 { 1, "authenticated" },
1215 static const ber_choice_t MTABindResult_choice[] = {
1216 { 0, &hf_x411_unauthenticated, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_x411_NULL },
1217 { 1, &hf_x411_authenticated_result, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x411_AuthenticatedResult },
1218 { 0, NULL, 0, 0, 0, NULL }
1222 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_) {
1223 offset = dissect_ber_choice(actx, tree, tvb, offset,
1224 MTABindResult_choice, hf_index, ett_x411_MTABindResult,
1231 static const value_string x411_MTABindError_vals[] = {
1233 { 2, "authentication-error" },
1234 { 3, "unacceptable-dialogue-mode" },
1235 { 4, "unacceptable-security-context" },
1236 { 5, "inadequate-association-confidentiality" },
1242 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_) {
1243 #line 815 "x411.cnf"
1245 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
1248 if((error != -1) && check_col(actx->pinfo->cinfo, COL_INFO))
1249 col_append_fstr(actx->pinfo->cinfo, COL_INFO, " (%s)", val_to_str(error, x411_MTABindError_vals, "error(%d)"));
1259 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_) {
1260 #line 577 "x411.cnf"
1261 tvbuff_t *nstring = NULL;
1263 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_NumericString,
1264 actx, tree, tvb, offset, hf_index,
1268 if(doing_address && nstring)
1269 g_strlcat(oraddress, tvb_format_text(nstring, 0, tvb_length(nstring)), MAX_ORA_STR_LEN);
1279 dissect_x411_AddrPrintableString(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1280 #line 566 "x411.cnf"
1281 tvbuff_t *nstring = NULL;
1283 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
1284 actx, tree, tvb, offset, hf_index,
1288 if(doing_address && nstring)
1289 g_strlcat(oraddress, tvb_format_text(nstring, 0, tvb_length(nstring)), MAX_ORA_STR_LEN);
1297 static const value_string x411_CountryName_U_vals[] = {
1298 { 0, "x121-dcc-code" },
1299 { 1, "iso-3166-alpha2-code" },
1303 static const ber_choice_t CountryName_U_choice[] = {
1304 { 0, &hf_x411_x121_dcc_code , BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_NOOWNTAG, dissect_x411_AddrNumericString },
1305 { 1, &hf_x411_iso_3166_alpha2_code, BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_x411_AddrPrintableString },
1306 { 0, NULL, 0, 0, 0, NULL }
1310 dissect_x411_CountryName_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1311 offset = dissect_ber_choice(actx, tree, tvb, offset,
1312 CountryName_U_choice, hf_index, ett_x411_CountryName_U,
1321 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_) {
1322 #line 383 "x411.cnf"
1324 g_strlcat(oraddress, "/C=", MAX_ORA_STR_LEN);
1326 offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
1327 hf_index, BER_CLASS_APP, 1, TRUE, dissect_x411_CountryName_U);
1337 static const value_string x411_AdministrationDomainName_U_vals[] = {
1343 static const ber_choice_t AdministrationDomainName_U_choice[] = {
1344 { 0, &hf_x411_numeric , BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_NOOWNTAG, dissect_x411_AddrNumericString },
1345 { 1, &hf_x411_printable , BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_x411_AddrPrintableString },
1346 { 0, NULL, 0, 0, 0, NULL }
1350 dissect_x411_AdministrationDomainName_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1351 offset = dissect_ber_choice(actx, tree, tvb, offset,
1352 AdministrationDomainName_U_choice, hf_index, ett_x411_AdministrationDomainName_U,
1361 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_) {
1362 #line 390 "x411.cnf"
1364 g_strlcat(oraddress, "/A=", MAX_ORA_STR_LEN);
1366 offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
1367 hf_index, BER_CLASS_APP, 2, TRUE, dissect_x411_AdministrationDomainName_U);
1377 static const value_string x411_PrivateDomainIdentifier_vals[] = {
1383 static const ber_choice_t PrivateDomainIdentifier_choice[] = {
1384 { 0, &hf_x411_numeric_private_domain_identifier, BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_NOOWNTAG, dissect_x411_AddrNumericString },
1385 { 1, &hf_x411_printable_private_domain_identifier, BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_x411_AddrPrintableString },
1386 { 0, NULL, 0, 0, 0, NULL }
1390 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_) {
1391 #line 517 "x411.cnf"
1394 g_strlcat(oraddress, "/P=", MAX_ORA_STR_LEN);
1396 offset = dissect_ber_choice(actx, tree, tvb, offset,
1397 PrivateDomainIdentifier_choice, hf_index, ett_x411_PrivateDomainIdentifier,
1407 static const ber_sequence_t GlobalDomainIdentifier_U_sequence[] = {
1408 { &hf_x411_country_name , BER_CLASS_APP, 1, BER_FLAGS_NOOWNTAG, dissect_x411_CountryName },
1409 { &hf_x411_administration_domain_name, BER_CLASS_APP, 2, BER_FLAGS_NOOWNTAG, dissect_x411_AdministrationDomainName },
1410 { &hf_x411_private_domain_identifier, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x411_PrivateDomainIdentifier },
1411 { NULL, 0, 0, 0, NULL }
1415 dissect_x411_GlobalDomainIdentifier_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1416 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1417 GlobalDomainIdentifier_U_sequence, hf_index, ett_x411_GlobalDomainIdentifier_U);
1425 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_) {
1426 #line 695 "x411.cnf"
1428 oraddress = ep_alloc(MAX_ORA_STR_LEN); oraddress[0] = '\0';
1429 address_item = tree;
1431 offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
1432 hf_index, BER_CLASS_APP, 3, TRUE, dissect_x411_GlobalDomainIdentifier_U);
1436 proto_item_append_text(address_item, " (%s/", oraddress);
1438 if(doing_subjectid && check_col(actx->pinfo->cinfo, COL_INFO)) {
1439 col_append_fstr(actx->pinfo->cinfo, COL_INFO, " (%s/", oraddress);
1452 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_) {
1453 #line 714 "x411.cnf"
1454 tvbuff_t *id = NULL;
1456 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_IA5String,
1457 actx, tree, tvb, offset, hf_index,
1463 proto_item_append_text(address_item, " $ %s)", tvb_format_text(id, 0, tvb_length(id)));
1465 if(doing_subjectid && check_col(actx->pinfo->cinfo, COL_INFO))
1466 col_append_fstr(actx->pinfo->cinfo, COL_INFO, " $ %s)", tvb_format_text(id, 0, tvb_length(id)));
1475 static const ber_sequence_t MTSIdentifier_U_sequence[] = {
1476 { &hf_x411_global_domain_identifier, BER_CLASS_APP, 3, BER_FLAGS_NOOWNTAG, dissect_x411_GlobalDomainIdentifier },
1477 { &hf_x411_local_identifier, BER_CLASS_UNI, BER_UNI_TAG_IA5String, BER_FLAGS_NOOWNTAG, dissect_x411_LocalIdentifier },
1478 { NULL, 0, 0, 0, NULL }
1482 dissect_x411_MTSIdentifier_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1483 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1484 MTSIdentifier_U_sequence, hf_index, ett_x411_MTSIdentifier_U);
1492 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_) {
1493 #line 727 "x411.cnf"
1495 doing_address = TRUE;
1497 if(hf_index == hf_x411_subject_identifier)
1498 doing_subjectid = TRUE;
1500 offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
1501 hf_index, BER_CLASS_APP, 4, TRUE, dissect_x411_MTSIdentifier_U);
1504 doing_address = FALSE;
1506 if(hf_index == hf_x411_subject_identifier)
1507 doing_subjectid = FALSE;
1518 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_) {
1519 #line 689 "x411.cnf"
1521 address_item = NULL;
1523 offset = dissect_x411_MTSIdentifier(implicit_tag, tvb, offset, actx, tree, hf_index);
1534 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_) {
1535 #line 486 "x411.cnf"
1536 tvbuff_t *string = NULL;
1538 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_NumericString,
1539 actx, tree, tvb, offset, hf_index,
1543 if(doing_address && string) {
1544 g_strlcat(oraddress, "/X121=", MAX_ORA_STR_LEN);
1545 g_strlcat(oraddress, tvb_format_text(string, 0, tvb_length(string)), MAX_ORA_STR_LEN);
1557 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_) {
1558 offset = dissect_x411_X121Address(implicit_tag, tvb, offset, actx, tree, hf_index);
1566 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_) {
1567 #line 500 "x411.cnf"
1568 tvbuff_t *string = NULL;
1570 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
1571 actx, tree, tvb, offset, hf_index,
1575 if(doing_address && string) {
1576 g_strlcat(oraddress, "/UA-ID=", MAX_ORA_STR_LEN);
1577 g_strlcat(oraddress, tvb_format_text(string, 0, tvb_length(string)), MAX_ORA_STR_LEN);
1586 static const value_string x411_PrivateDomainName_vals[] = {
1592 static const ber_choice_t PrivateDomainName_choice[] = {
1593 { 0, &hf_x411_numeric_private_domain_name, BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_NOOWNTAG, dissect_x411_AddrNumericString },
1594 { 1, &hf_x411_printable_private_domain_name, BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_x411_AddrPrintableString },
1595 { 0, NULL, 0, 0, 0, NULL }
1599 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_) {
1600 #line 510 "x411.cnf"
1603 g_strlcat(oraddress, "/P=", MAX_ORA_STR_LEN);
1605 offset = dissect_ber_choice(actx, tree, tvb, offset,
1606 PrivateDomainName_choice, hf_index, ett_x411_PrivateDomainName,
1618 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_) {
1619 #line 527 "x411.cnf"
1620 tvbuff_t *string = NULL;
1622 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
1623 actx, tree, tvb, offset, hf_index,
1627 if(doing_address && string) {
1628 g_strlcat(oraddress, "/O=", MAX_ORA_STR_LEN);
1629 g_strlcat(oraddress, tvb_format_text(string, 0, tvb_length(string)), MAX_ORA_STR_LEN);
1640 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_) {
1641 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_NumericString,
1642 actx, tree, tvb, offset, hf_index,
1651 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_) {
1652 #line 597 "x411.cnf"
1653 tvbuff_t *pstring = NULL;
1655 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
1656 actx, tree, tvb, offset, hf_index,
1660 if(doing_address && pstring) {
1661 g_strlcat(oraddress, "/S=", MAX_ORA_STR_LEN);
1662 g_strlcat(oraddress, tvb_format_text(pstring, 0, tvb_length(pstring)), MAX_ORA_STR_LEN);
1672 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_) {
1673 #line 606 "x411.cnf"
1674 tvbuff_t *pstring = NULL;
1676 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
1677 actx, tree, tvb, offset, hf_index,
1681 if(doing_address && pstring) {
1682 g_strlcat(oraddress, "/G=", MAX_ORA_STR_LEN);
1683 g_strlcat(oraddress, tvb_format_text(pstring, 0, tvb_length(pstring)), MAX_ORA_STR_LEN);
1693 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_) {
1694 #line 615 "x411.cnf"
1695 tvbuff_t *pstring = NULL;
1697 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
1698 actx, tree, tvb, offset, hf_index,
1702 if(doing_address && pstring) {
1703 g_strlcat(oraddress, "/I=", MAX_ORA_STR_LEN);
1704 g_strlcat(oraddress, tvb_format_text(pstring, 0, tvb_length(pstring)), MAX_ORA_STR_LEN);
1714 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_) {
1715 #line 624 "x411.cnf"
1716 tvbuff_t *pstring = NULL;
1718 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
1719 actx, tree, tvb, offset, hf_index,
1723 if(doing_address && pstring) {
1724 g_strlcat(oraddress, "/GQ=", MAX_ORA_STR_LEN);
1725 g_strlcat(oraddress, tvb_format_text(pstring, 0, tvb_length(pstring)), MAX_ORA_STR_LEN);
1734 static const ber_sequence_t PersonalName_set[] = {
1735 { &hf_x411_printable_surname, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x411_T_printable_surname },
1736 { &hf_x411_printable_given_name, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_T_printable_given_name },
1737 { &hf_x411_printable_initials, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_T_printable_initials },
1738 { &hf_x411_printable_generation_qualifier, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_T_printable_generation_qualifier },
1739 { NULL, 0, 0, 0, NULL }
1743 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_) {
1744 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
1745 PersonalName_set, hf_index, ett_x411_PersonalName);
1753 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_) {
1754 #line 540 "x411.cnf"
1755 tvbuff_t *string = NULL;
1757 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
1758 actx, tree, tvb, offset, hf_index,
1762 if(doing_address && string) {
1763 g_strlcat(oraddress, "/OU=", MAX_ORA_STR_LEN);
1764 g_strlcat(oraddress, tvb_format_text(string, 0, tvb_length(string)), MAX_ORA_STR_LEN);
1773 static const ber_sequence_t OrganizationalUnitNames_sequence_of[1] = {
1774 { &hf_x411_OrganizationalUnitNames_item, BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_x411_OrganizationalUnitName },
1778 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_) {
1779 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
1780 OrganizationalUnitNames_sequence_of, hf_index, ett_x411_OrganizationalUnitNames);
1786 static const ber_sequence_t BuiltInStandardAttributes_sequence[] = {
1787 { &hf_x411_country_name , BER_CLASS_APP, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_CountryName },
1788 { &hf_x411_administration_domain_name, BER_CLASS_APP, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_AdministrationDomainName },
1789 { &hf_x411_network_address, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_NetworkAddress },
1790 { &hf_x411_terminal_identifier, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_TerminalIdentifier },
1791 { &hf_x411_private_domain_name, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_x411_PrivateDomainName },
1792 { &hf_x411_organization_name, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_OrganizationName },
1793 { &hf_x411_numeric_user_identifier, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_NumericUserIdentifier },
1794 { &hf_x411_personal_name , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_PersonalName },
1795 { &hf_x411_organizational_unit_names, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_OrganizationalUnitNames },
1796 { NULL, 0, 0, 0, NULL }
1800 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_) {
1801 #line 751 "x411.cnf"
1803 address_item = tree;
1805 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1806 BuiltInStandardAttributes_sequence, hf_index, ett_x411_BuiltInStandardAttributes);
1817 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_) {
1818 #line 634 "x411.cnf"
1819 tvbuff_t *pstring = NULL;
1821 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
1822 actx, tree, tvb, offset, hf_index,
1826 if(doing_address && pstring) {
1827 g_strlcat(oraddress, "/DD.", MAX_ORA_STR_LEN);
1828 g_strlcat(oraddress, tvb_format_text(pstring, 0, tvb_length(pstring)), MAX_ORA_STR_LEN);
1829 g_strlcat(ddatype, tvb_format_text(pstring, 0, tvb_length(pstring)), MAX_ORA_STR_LEN);
1840 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_) {
1841 #line 645 "x411.cnf"
1842 tvbuff_t *pstring = NULL;
1844 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
1845 actx, tree, tvb, offset, hf_index,
1849 if(doing_address && pstring) {
1850 g_strlcat(oraddress, "=", MAX_ORA_STR_LEN);
1851 g_strlcat(oraddress, tvb_format_text(pstring, 0, tvb_length(pstring)), MAX_ORA_STR_LEN);
1853 proto_item_append_text (tree, " (%s=%s)", ddatype, tvb_format_text(pstring, 0, tvb_length(pstring)));
1863 static const ber_sequence_t BuiltInDomainDefinedAttribute_sequence[] = {
1864 { &hf_x411_printable_type , BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_x411_T_printable_type },
1865 { &hf_x411_printable_value, BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_x411_T_printable_value },
1866 { NULL, 0, 0, 0, NULL }
1870 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_) {
1871 #line 658 "x411.cnf"
1872 ddatype = ep_alloc(MAX_ORA_STR_LEN); ddatype[0] = '\0';
1874 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1875 BuiltInDomainDefinedAttribute_sequence, hf_index, ett_x411_BuiltInDomainDefinedAttribute);
1884 static const ber_sequence_t BuiltInDomainDefinedAttributes_sequence_of[1] = {
1885 { &hf_x411_BuiltInDomainDefinedAttributes_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x411_BuiltInDomainDefinedAttribute },
1889 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_) {
1890 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
1891 BuiltInDomainDefinedAttributes_sequence_of, hf_index, ett_x411_BuiltInDomainDefinedAttributes);
1897 static const value_string x411_ExtensionAttributeType_vals[] = {
1898 { 1, "common-name" },
1899 { 2, "teletex-common-name" },
1900 { 3, "teletex-organization-name" },
1901 { 4, "teletex-personal-name" },
1902 { 5, "teletex-organizational-unit-names" },
1903 { 6, "teletex-domain-defined-attributes" },
1905 { 8, "physical-delivery-country-name" },
1906 { 9, "postal-code" },
1907 { 10, "physical-delivery-office-name" },
1908 { 11, "physical-delivery-office-number" },
1909 { 12, "extension-OR-address-components" },
1910 { 13, "physical-delivery-personal-name" },
1911 { 14, "physical-delivery-organization-name" },
1912 { 15, "extension-physical-delivery-address-components" },
1913 { 16, "unformatted-postal-address" },
1914 { 17, "street-address" },
1915 { 18, "post-office-box-address" },
1916 { 19, "poste-restante-address" },
1917 { 20, "unique-postal-name" },
1918 { 21, "local-postal-attributes" },
1919 { 22, "extended-network-address" },
1920 { 23, "terminal-type" },
1921 { 24, "universal-common-name" },
1922 { 25, "universal-organization-name" },
1923 { 26, "universal-personal-name" },
1924 { 27, "universal-organizational-unit-names" },
1925 { 28, "universal-domain-defined-attributes" },
1926 { 29, "universal-physical-delivery-office-name" },
1927 { 30, "universal-physical-delivery-office-number" },
1928 { 31, "universal-extension-OR-address-components" },
1929 { 32, "universal-physical-delivery-personal-name" },
1930 { 33, "universal-physical-delivery-organization-name" },
1931 { 34, "universal-extension-physical-delivery-address-components" },
1932 { 35, "universal-unformatted-postal-address" },
1933 { 36, "universal-street-address" },
1934 { 37, "universal-post-office-box-address" },
1935 { 38, "universal-poste-restante-address" },
1936 { 39, "universal-unique-postal-name" },
1937 { 40, "universal-local-postal-attributes" },
1943 dissect_x411_ExtensionAttributeType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1944 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
1953 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_) {
1954 #line 363 "x411.cnf"
1956 proto_item_append_text(tree, " (%s)", val_to_str(extension_id, x411_ExtensionAttributeType_vals, "extension-attribute-type %d"));
1957 if (dissector_try_port(x411_extension_attribute_dissector_table, extension_id, tvb, actx->pinfo, tree)) {
1958 offset =tvb_length(tvb);
1960 proto_item *item = NULL;
1961 proto_tree *next_tree = NULL;
1963 item = proto_tree_add_text(tree, tvb, 0, tvb_length_remaining(tvb, offset),
1964 "Dissector for extension-attribute-type %d not implemented. Contact Wireshark developers if you want this supported", extension_id);
1965 next_tree = proto_item_add_subtree(item, ett_x411_unknown_extension_attribute_type);
1966 offset = dissect_unknown_ber(actx->pinfo, tvb, offset, next_tree);
1967 expert_add_info_format(actx->pinfo, item, PI_UNDECODED, PI_WARN, "Unknown extension-attribute-type");
1977 static const ber_sequence_t ExtensionAttribute_sequence[] = {
1978 { &hf_x411_extension_attribute_type, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x411_ExtensionAttributeType },
1979 { &hf_x411_extension_attribute_value, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x411_T_extension_attribute_value },
1980 { NULL, 0, 0, 0, NULL }
1984 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_) {
1985 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1986 ExtensionAttribute_sequence, hf_index, ett_x411_ExtensionAttribute);
1992 static const ber_sequence_t ExtensionAttributes_set_of[1] = {
1993 { &hf_x411_ExtensionAttributes_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x411_ExtensionAttribute },
1997 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_) {
1998 offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
1999 ExtensionAttributes_set_of, hf_index, ett_x411_ExtensionAttributes);
2005 static const ber_sequence_t ORName_U_sequence[] = {
2006 { &hf_x411_built_in_standard_attributes, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x411_BuiltInStandardAttributes },
2007 { &hf_x411_built_in_domain_defined_attributes, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_BuiltInDomainDefinedAttributes },
2008 { &hf_x411_extension_attributes, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_ExtensionAttributes },
2009 { &hf_x411_directory_name , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509if_Name },
2010 { NULL, 0, 0, 0, NULL }
2014 dissect_x411_ORName_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2015 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2016 ORName_U_sequence, hf_index, ett_x411_ORName_U);
2024 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_) {
2025 #line 676 "x411.cnf"
2027 oraddress = ep_alloc(MAX_ORA_STR_LEN); oraddress[0] = '\0';
2028 address_item = NULL;
2029 doing_address = TRUE;
2031 offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
2032 hf_index, BER_CLASS_APP, 0, TRUE, dissect_x411_ORName_U);
2035 if(*oraddress && address_item)
2036 proto_item_append_text(address_item, " (%s/)", oraddress);
2038 doing_address = FALSE;
2048 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_) {
2049 offset = dissect_x411_ORName(implicit_tag, tvb, offset, actx, tree, hf_index);
2057 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_) {
2058 offset = dissect_x411_ORAddressAndOptionalDirectoryName(implicit_tag, tvb, offset, actx, tree, hf_index);
2064 static const asn_namedbit BuiltInEncodedInformationTypes_bits[] = {
2065 { 0, &hf_x411_BuiltInEncodedInformationTypes_unknown, -1, -1, "unknown", NULL },
2066 { 2, &hf_x411_BuiltInEncodedInformationTypes_ia5_text, -1, -1, "ia5-text", NULL },
2067 { 3, &hf_x411_BuiltInEncodedInformationTypes_g3_facsimile, -1, -1, "g3-facsimile", NULL },
2068 { 4, &hf_x411_BuiltInEncodedInformationTypes_g4_class_1, -1, -1, "g4-class-1", NULL },
2069 { 5, &hf_x411_BuiltInEncodedInformationTypes_teletex, -1, -1, "teletex", NULL },
2070 { 6, &hf_x411_BuiltInEncodedInformationTypes_videotex, -1, -1, "videotex", NULL },
2071 { 7, &hf_x411_BuiltInEncodedInformationTypes_voice, -1, -1, "voice", NULL },
2072 { 8, &hf_x411_BuiltInEncodedInformationTypes_sfd, -1, -1, "sfd", NULL },
2073 { 9, &hf_x411_BuiltInEncodedInformationTypes_mixed_mode, -1, -1, "mixed-mode", NULL },
2074 { 0, NULL, 0, 0, NULL, NULL }
2078 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_) {
2079 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
2080 BuiltInEncodedInformationTypes_bits, hf_index, ett_x411_BuiltInEncodedInformationTypes,
2087 static const asn_namedbit G3FacsimileNonBasicParameters_bits[] = {
2088 { 8, &hf_x411_G3FacsimileNonBasicParameters_two_dimensional, -1, -1, "two-dimensional", NULL },
2089 { 9, &hf_x411_G3FacsimileNonBasicParameters_fine_resolution, -1, -1, "fine-resolution", NULL },
2090 { 20, &hf_x411_G3FacsimileNonBasicParameters_unlimited_length, -1, -1, "unlimited-length", NULL },
2091 { 21, &hf_x411_G3FacsimileNonBasicParameters_b4_length, -1, -1, "b4-length", NULL },
2092 { 22, &hf_x411_G3FacsimileNonBasicParameters_a3_width, -1, -1, "a3-width", NULL },
2093 { 23, &hf_x411_G3FacsimileNonBasicParameters_b4_width, -1, -1, "b4-width", NULL },
2094 { 25, &hf_x411_G3FacsimileNonBasicParameters_t6_coding, -1, -1, "t6-coding", NULL },
2095 { 30, &hf_x411_G3FacsimileNonBasicParameters_uncompressed, -1, -1, "uncompressed", NULL },
2096 { 37, &hf_x411_G3FacsimileNonBasicParameters_width_middle_864_of_1728, -1, -1, "width-middle-864-of-1728", NULL },
2097 { 38, &hf_x411_G3FacsimileNonBasicParameters_width_middle_1216_of_1728, -1, -1, "width-middle-1216-of-1728", NULL },
2098 { 44, &hf_x411_G3FacsimileNonBasicParameters_resolution_type, -1, -1, "resolution-type", NULL },
2099 { 45, &hf_x411_G3FacsimileNonBasicParameters_resolution_400x400, -1, -1, "resolution-400x400", NULL },
2100 { 46, &hf_x411_G3FacsimileNonBasicParameters_resolution_300x300, -1, -1, "resolution-300x300", NULL },
2101 { 47, &hf_x411_G3FacsimileNonBasicParameters_resolution_8x15, -1, -1, "resolution-8x15", NULL },
2102 { 49, &hf_x411_G3FacsimileNonBasicParameters_edi, -1, -1, "edi", NULL },
2103 { 50, &hf_x411_G3FacsimileNonBasicParameters_dtm, -1, -1, "dtm", NULL },
2104 { 51, &hf_x411_G3FacsimileNonBasicParameters_bft, -1, -1, "bft", NULL },
2105 { 58, &hf_x411_G3FacsimileNonBasicParameters_mixed_mode, -1, -1, "mixed-mode", NULL },
2106 { 60, &hf_x411_G3FacsimileNonBasicParameters_character_mode, -1, -1, "character-mode", NULL },
2107 { 65, &hf_x411_G3FacsimileNonBasicParameters_twelve_bits, -1, -1, "twelve-bits", NULL },
2108 { 66, &hf_x411_G3FacsimileNonBasicParameters_preferred_huffmann, -1, -1, "preferred-huffmann", NULL },
2109 { 67, &hf_x411_G3FacsimileNonBasicParameters_full_colour, -1, -1, "full-colour", NULL },
2110 { 68, &hf_x411_G3FacsimileNonBasicParameters_jpeg, -1, -1, "jpeg", NULL },
2111 { 71, &hf_x411_G3FacsimileNonBasicParameters_processable_mode_26, -1, -1, "processable-mode-26", NULL },
2112 { 0, NULL, 0, 0, NULL, NULL }
2116 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_) {
2117 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
2118 G3FacsimileNonBasicParameters_bits, hf_index, ett_x411_G3FacsimileNonBasicParameters,
2127 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_) {
2128 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString,
2129 actx, tree, tvb, offset, hf_index,
2136 static const ber_sequence_t TeletexNonBasicParameters_set[] = {
2137 { &hf_x411_graphic_character_sets, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_TeletexString },
2138 { &hf_x411_control_character_sets, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_TeletexString },
2139 { &hf_x411_page_formats , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_OCTET_STRING },
2140 { &hf_x411_miscellaneous_terminal_capabilities, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_TeletexString },
2141 { &hf_x411_private_use , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_OCTET_STRING },
2142 { NULL, 0, 0, 0, NULL }
2146 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_) {
2147 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
2148 TeletexNonBasicParameters_set, hf_index, ett_x411_TeletexNonBasicParameters);
2156 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_) {
2157 offset = dissect_ber_object_identifier(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
2163 static const ber_sequence_t ExtendedEncodedInformationTypes_set_of[1] = {
2164 { &hf_x411_ExtendedEncodedInformationTypes_item, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_x411_ExtendedEncodedInformationType },
2168 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_) {
2169 offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
2170 ExtendedEncodedInformationTypes_set_of, hf_index, ett_x411_ExtendedEncodedInformationTypes);
2176 static const ber_sequence_t EncodedInformationTypes_U_set[] = {
2177 { &hf_x411_built_in_encoded_information_types, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x411_BuiltInEncodedInformationTypes },
2178 { &hf_x411_g3_facsimile , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_G3FacsimileNonBasicParameters },
2179 { &hf_x411_teletex , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_TeletexNonBasicParameters },
2180 { &hf_x411_extended_encoded_information_types, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_ExtendedEncodedInformationTypes },
2181 { NULL, 0, 0, 0, NULL }
2185 dissect_x411_EncodedInformationTypes_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2186 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
2187 EncodedInformationTypes_U_set, hf_index, ett_x411_EncodedInformationTypes_U);
2195 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_) {
2196 offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
2197 hf_index, BER_CLASS_APP, 5, TRUE, dissect_x411_EncodedInformationTypes_U);
2205 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_) {
2206 offset = dissect_x411_EncodedInformationTypes(implicit_tag, tvb, offset, actx, tree, hf_index);
2212 static const value_string x411_BuiltInContentType_U_vals[] = {
2213 { 0, "unidentified" },
2215 { 2, "interpersonal-messaging-1984" },
2216 { 22, "interpersonal-messaging-1988" },
2217 { 35, "edi-messaging" },
2218 { 40, "voice-messaging" },
2224 dissect_x411_BuiltInContentType_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2225 #line 423 "x411.cnf"
2226 static guint32 ict = -1;
2228 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2232 /* convert integer content type to oid for dispatch when the content is found */
2235 content_type_id = ep_strdup("2.6.1.10.0");
2238 content_type_id = ep_strdup("2.6.1.10.1");
2241 content_type_id = NULL;
2253 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_) {
2254 offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
2255 hf_index, BER_CLASS_APP, 6, TRUE, dissect_x411_BuiltInContentType_U);
2263 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_) {
2264 #line 408 "x411.cnf"
2265 const char *name = NULL;
2267 offset = dissect_ber_object_identifier_str(implicit_tag, actx, tree, tvb, offset, hf_index, &content_type_id);
2270 if(content_type_id) {
2271 name = oid_resolved_from_string(content_type_id);
2273 if(!name) name = content_type_id;
2275 proto_item_append_text(tree, " (%s)", name);
2284 const value_string x411_ContentType_vals[] = {
2290 static const ber_choice_t ContentType_choice[] = {
2291 { 0, &hf_x411_built_in , BER_CLASS_APP, 6, BER_FLAGS_NOOWNTAG, dissect_x411_BuiltInContentType },
2292 { 1, &hf_x411_extended , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_x411_ExtendedContentType },
2293 { 0, NULL, 0, 0, 0, NULL }
2297 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_) {
2298 offset = dissect_ber_choice(actx, tree, tvb, offset,
2299 ContentType_choice, hf_index, ett_x411_ContentType,
2308 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_) {
2309 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
2310 actx, tree, tvb, offset, hf_index,
2319 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_) {
2320 offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
2321 hf_index, BER_CLASS_APP, 10, TRUE, dissect_x411_PrintableString);
2327 static const value_string x411_Priority_U_vals[] = {
2329 { 1, "non-urgent" },
2336 dissect_x411_Priority_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2337 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2346 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_) {
2347 offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
2348 hf_index, BER_CLASS_APP, 7, TRUE, dissect_x411_Priority_U);
2354 static const asn_namedbit PerMessageIndicators_U_bits[] = {
2355 { 0, &hf_x411_PerMessageIndicators_U_disclosure_of_other_recipients, -1, -1, "disclosure-of-other-recipients", NULL },
2356 { 1, &hf_x411_PerMessageIndicators_U_implicit_conversion_prohibited, -1, -1, "implicit-conversion-prohibited", NULL },
2357 { 2, &hf_x411_PerMessageIndicators_U_alternate_recipient_allowed, -1, -1, "alternate-recipient-allowed", NULL },
2358 { 3, &hf_x411_PerMessageIndicators_U_content_return_request, -1, -1, "content-return-request", NULL },
2359 { 4, &hf_x411_PerMessageIndicators_U_reserved, -1, -1, "reserved", NULL },
2360 { 5, &hf_x411_PerMessageIndicators_U_bit_5, -1, -1, "bit-5", NULL },
2361 { 6, &hf_x411_PerMessageIndicators_U_bit_6, -1, -1, "bit-6", NULL },
2362 { 7, &hf_x411_PerMessageIndicators_U_service_message, -1, -1, "service-message", NULL },
2363 { 0, NULL, 0, 0, NULL, NULL }
2367 dissect_x411_PerMessageIndicators_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2368 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
2369 PerMessageIndicators_U_bits, hf_index, ett_x411_PerMessageIndicators_U,
2378 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_) {
2379 offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
2380 hf_index, BER_CLASS_APP, 8, TRUE, dissect_x411_PerMessageIndicators_U);
2388 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_) {
2389 #line 794 "x411.cnf"
2390 tvbuff_t *arrival = NULL;
2392 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_UTCTime,
2393 actx, tree, tvb, offset, hf_index,
2397 if(arrival && doing_address)
2398 proto_item_append_text(address_item, " %s", tvb_format_text(arrival, 0, tvb_length(arrival)));
2408 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_) {
2409 offset = dissect_x411_Time(implicit_tag, tvb, offset, actx, tree, hf_index);
2415 static const ber_sequence_t T_private_domain_sequence[] = {
2416 { &hf_x411_administration_domain_name, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x411_AdministrationDomainName },
2417 { &hf_x411_private_domain_identifier, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_x411_PrivateDomainIdentifier },
2418 { NULL, 0, 0, 0, NULL }
2422 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_) {
2423 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2424 T_private_domain_sequence, hf_index, ett_x411_T_private_domain);
2430 static const value_string x411_T_bilateral_domain_vals[] = {
2431 { 0, "administration-domain-name" },
2432 { 1, "private-domain" },
2436 static const ber_choice_t T_bilateral_domain_choice[] = {
2437 { 0, &hf_x411_administration_domain_name, BER_CLASS_APP, 2, BER_FLAGS_NOOWNTAG, dissect_x411_AdministrationDomainName },
2438 { 1, &hf_x411_private_domain , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x411_T_private_domain },
2439 { 0, NULL, 0, 0, 0, NULL }
2443 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_) {
2444 offset = dissect_ber_choice(actx, tree, tvb, offset,
2445 T_bilateral_domain_choice, hf_index, ett_x411_T_bilateral_domain,
2454 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_) {
2455 #line 862 "x411.cnf"
2456 proto_item *item = NULL;
2460 /* work out the length */
2461 loffset = dissect_ber_identifier(actx->pinfo, tree, tvb, offset, NULL, NULL, NULL);
2462 (void) dissect_ber_length(actx->pinfo, tree, tvb, loffset, &len, NULL);
2464 /* create some structure so we can tell what this unknown ASN.1 represents */
2465 item = proto_tree_add_item(tree, hf_index, tvb, offset, len, FALSE);
2466 tree = proto_item_add_subtree(item, ett_x411_bilateral_information);
2468 offset = dissect_unknown_ber(actx->pinfo, tvb, offset, tree);
2476 static const ber_sequence_t PerDomainBilateralInformation_sequence[] = {
2477 { &hf_x411_country_name , BER_CLASS_APP, 1, BER_FLAGS_NOOWNTAG, dissect_x411_CountryName },
2478 { &hf_x411_bilateral_domain, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x411_T_bilateral_domain },
2479 { &hf_x411_bilateral_information, BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_x411_T_bilateral_information },
2480 { NULL, 0, 0, 0, NULL }
2484 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_) {
2485 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2486 PerDomainBilateralInformation_sequence, hf_index, ett_x411_PerDomainBilateralInformation);
2492 static const ber_sequence_t SEQUENCE_OF_PerDomainBilateralInformation_sequence_of[1] = {
2493 { &hf_x411_per_domain_bilateral_information_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x411_PerDomainBilateralInformation },
2497 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_) {
2498 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
2499 SEQUENCE_OF_PerDomainBilateralInformation_sequence_of, hf_index, ett_x411_SEQUENCE_OF_PerDomainBilateralInformation);
2507 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_) {
2508 offset = dissect_x411_Time(implicit_tag, tvb, offset, actx, tree, hf_index);
2514 static const value_string x411_RoutingAction_vals[] = {
2522 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_) {
2523 #line 805 "x411.cnf"
2526 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2530 proto_item_append_text(address_item, " %s", val_to_str(action, x411_RoutingAction_vals, "action(%d)"));
2540 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_) {
2541 offset = dissect_x411_Time(implicit_tag, tvb, offset, actx, tree, hf_index);
2549 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_) {
2550 offset = dissect_x411_EncodedInformationTypes(implicit_tag, tvb, offset, actx, tree, hf_index);
2556 static const asn_namedbit OtherActions_bits[] = {
2557 { 0, &hf_x411_OtherActions_redirected, -1, -1, "redirected", NULL },
2558 { 1, &hf_x411_OtherActions_dl_operation, -1, -1, "dl-operation", NULL },
2559 { 0, NULL, 0, 0, NULL, NULL }
2563 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_) {
2564 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
2565 OtherActions_bits, hf_index, ett_x411_OtherActions,
2572 static const ber_sequence_t DomainSuppliedInformation_set[] = {
2573 { &hf_x411_arrival_time , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x411_ArrivalTime },
2574 { &hf_x411_routing_action , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_x411_RoutingAction },
2575 { &hf_x411_attempted_domain, BER_CLASS_APP, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_GlobalDomainIdentifier },
2576 { &hf_x411_deferred_time , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_DeferredTime },
2577 { &hf_x411_converted_encoded_information_types, BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_ConvertedEncodedInformationTypes },
2578 { &hf_x411_other_actions , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_OtherActions },
2579 { NULL, 0, 0, 0, NULL }
2583 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_) {
2584 #line 773 "x411.cnf"
2586 doing_address = FALSE;
2588 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
2589 DomainSuppliedInformation_set, hf_index, ett_x411_DomainSuppliedInformation);
2592 doing_address = TRUE;
2593 proto_item_append_text(tree, ")");
2601 static const ber_sequence_t TraceInformationElement_sequence[] = {
2602 { &hf_x411_global_domain_identifier, BER_CLASS_APP, 3, BER_FLAGS_NOOWNTAG, dissect_x411_GlobalDomainIdentifier },
2603 { &hf_x411_domain_supplied_information, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x411_DomainSuppliedInformation },
2604 { NULL, 0, 0, 0, NULL }
2608 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_) {
2609 #line 757 "x411.cnf"
2611 doing_address = TRUE;
2613 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2614 TraceInformationElement_sequence, hf_index, ett_x411_TraceInformationElement);
2617 doing_address = FALSE;
2625 static const ber_sequence_t SEQUENCE_OF_TraceInformationElement_sequence_of[1] = {
2626 { &hf_x411__untag_item , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x411_TraceInformationElement },
2630 dissect_x411_SEQUENCE_OF_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_) {
2631 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
2632 SEQUENCE_OF_TraceInformationElement_sequence_of, hf_index, ett_x411_SEQUENCE_OF_TraceInformationElement);
2640 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_) {
2641 offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
2642 hf_index, BER_CLASS_APP, 9, TRUE, dissect_x411_SEQUENCE_OF_TraceInformationElement);
2648 static const value_string x411_StandardExtension_vals[] = {
2649 { 1, "recipient-reassignment-prohibited" },
2650 { 2, "originator-requested-alternate-recipient" },
2651 { 3, "dl-expansion-prohibited" },
2652 { 4, "conversion-with-loss-prohibited" },
2653 { 5, "latest-delivery-time" },
2654 { 6, "requested-delivery-method" },
2655 { 7, "physical-forwarding-prohibited" },
2656 { 8, "physical-forwarding-address-request" },
2657 { 9, "physical-delivery-modes" },
2658 { 10, "registered-mail-type" },
2659 { 11, "recipient-number-for-advice" },
2660 { 12, "physical-rendition-attributes" },
2661 { 13, "originator-return-address" },
2662 { 14, "physical-delivery-report-request" },
2663 { 15, "originator-certificate" },
2664 { 16, "message-token" },
2665 { 17, "content-confidentiality-algorithm-identifier" },
2666 { 18, "content-integrity-check" },
2667 { 19, "message-origin-authentication-check" },
2668 { 20, "message-security-label" },
2669 { 21, "proof-of-submission-request" },
2670 { 22, "proof-of-delivery-request" },
2671 { 23, "content-correlator" },
2672 { 24, "probe-origin-authentication-check" },
2673 { 25, "redirection-history" },
2674 { 26, "dl-expansion-history" },
2675 { 27, "physical-forwarding-address" },
2676 { 28, "recipient-certificate" },
2677 { 29, "proof-of-delivery" },
2678 { 30, "originator-and-DL-expansion-history" },
2679 { 31, "reporting-DL-name" },
2680 { 32, "reporting-MTA-certificate" },
2681 { 33, "report-origin-authentication-check" },
2682 { 34, "originating-MTA-certificate" },
2683 { 35, "proof-of-submission" },
2684 { 36, "forwarding-request" },
2685 { 37, "trace-information" },
2686 { 38, "internal-trace-information" },
2687 { 39, "reporting-MTA-name" },
2688 { 40, "multiple-originator-certificates" },
2689 { 41, "blind-copy-recipients" },
2690 { 42, "dl-exempted-recipients" },
2691 { 43, "body-part-encryption-token" },
2692 { 44, "forwarded-content-token" },
2693 { 45, "certificate-selectors" },
2699 dissect_x411_StandardExtension(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2700 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2709 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_) {
2710 #line 400 "x411.cnf"
2712 offset = dissect_ber_object_identifier_str(implicit_tag, actx, tree, tvb, offset, hf_index, &object_identifier_id);
2722 static const value_string x411_ExtensionType_vals[] = {
2723 { 0, "standard-extension" },
2724 { 3, "private-extension" },
2728 static const ber_choice_t ExtensionType_choice[] = {
2729 { 0, &hf_x411_standard_extension, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x411_StandardExtension },
2730 { 3, &hf_x411_private_extension, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_x411_T_private_extension },
2731 { 0, NULL, 0, 0, 0, NULL }
2735 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_) {
2736 offset = dissect_ber_choice(actx, tree, tvb, offset,
2737 ExtensionType_choice, hf_index, ett_x411_ExtensionType,
2744 static const asn_namedbit Criticality_bits[] = {
2745 { 0, &hf_x411_Criticality_for_submission, -1, -1, "for-submission", NULL },
2746 { 1, &hf_x411_Criticality_for_transfer, -1, -1, "for-transfer", NULL },
2747 { 2, &hf_x411_Criticality_for_delivery, -1, -1, "for-delivery", NULL },
2748 { 0, NULL, 0, 0, NULL, NULL }
2752 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_) {
2753 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
2754 Criticality_bits, hf_index, ett_x411_Criticality,
2763 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_) {
2764 #line 332 "x411.cnf"
2767 if(extension_id != -1) {
2768 proto_item_append_text(tree, " (%s)", val_to_str(extension_id, x411_StandardExtension_vals, "standard-extension %d"));
2769 if (dissector_try_port(x411_extension_dissector_table, extension_id, tvb, actx->pinfo, tree)) {
2770 offset = tvb_length(tvb);
2772 proto_item *item = NULL;
2773 proto_tree *next_tree = NULL;
2775 item = proto_tree_add_text(tree, tvb, 0, tvb_length_remaining(tvb, offset),
2776 "Dissector for standard-extension %d not implemented. Contact Wireshark developers if you want this supported", extension_id);
2777 next_tree = proto_item_add_subtree(item, ett_x411_unknown_standard_extension);
2778 offset = dissect_unknown_ber(actx->pinfo, tvb, offset, next_tree);
2779 expert_add_info_format(actx->pinfo, item, PI_UNDECODED, PI_WARN, "Unknown standard-extension");
2781 } else if (object_identifier_id) {
2782 call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree);
2783 name = oid_resolved_from_string(object_identifier_id);
2784 proto_item_append_text(tree, " (%s)", name ? name : object_identifier_id);
2794 static const ber_sequence_t ExtensionField_sequence[] = {
2795 { &hf_x411_extension_type , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x411_ExtensionType },
2796 { &hf_x411_criticality , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_Criticality },
2797 { &hf_x411_extension_value, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_x411_ExtensionValue },
2798 { NULL, 0, 0, 0, NULL }
2802 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_) {
2803 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2804 ExtensionField_sequence, hf_index, ett_x411_ExtensionField);
2810 static const ber_sequence_t SET_OF_ExtensionField_set_of[1] = {
2811 { &hf_x411_extensions_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x411_ExtensionField },
2815 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_) {
2816 offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
2817 SET_OF_ExtensionField_set_of, hf_index, ett_x411_SET_OF_ExtensionField);
2825 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_) {
2826 offset = dissect_x411_ORAddressAndOptionalDirectoryName(implicit_tag, tvb, offset, actx, tree, hf_index);
2834 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_) {
2835 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2842 static const asn_namedbit PerRecipientIndicators_bits[] = {
2843 { 0, &hf_x411_PerRecipientIndicators_responsibility, -1, -1, "responsibility", NULL },
2844 { 1, &hf_x411_PerRecipientIndicators_originating_MTA_report, -1, -1, "originating-MTA-report", NULL },
2845 { 2, &hf_x411_PerRecipientIndicators_originating_MTA_non_delivery_report, -1, -1, "originating-MTA-non-delivery-report", NULL },
2846 { 3, &hf_x411_PerRecipientIndicators_originator_report, -1, -1, "originator-report", NULL },
2847 { 4, &hf_x411_PerRecipientIndicators_originator_non_delivery_report, -1, -1, "originator-non-delivery-report", NULL },
2848 { 5, &hf_x411_PerRecipientIndicators_reserved_5, -1, -1, "reserved-5", NULL },
2849 { 6, &hf_x411_PerRecipientIndicators_reserved_6, -1, -1, "reserved-6", NULL },
2850 { 7, &hf_x411_PerRecipientIndicators_reserved_7, -1, -1, "reserved-7", NULL },
2851 { 0, NULL, 0, 0, NULL, NULL }
2855 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_) {
2856 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
2857 PerRecipientIndicators_bits, hf_index, ett_x411_PerRecipientIndicators,
2864 static const value_string x411_ExplicitConversion_vals[] = {
2865 { 0, "ia5-text-to-teletex" },
2866 { 8, "ia5-text-to-g3-facsimile" },
2867 { 9, "ia5-text-to-g4-class-1" },
2868 { 10, "ia5-text-to-videotex" },
2869 { 11, "teletex-to-ia5-text" },
2870 { 12, "teletex-to-g3-facsimile" },
2871 { 13, "teletex-to-g4-class-1" },
2872 { 14, "teletex-to-videotex" },
2873 { 16, "videotex-to-ia5-text" },
2874 { 17, "videotex-to-teletex" },
2880 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_) {
2881 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2888 static const ber_sequence_t PerRecipientMessageTransferFields_set[] = {
2889 { &hf_x411_recipient_name , BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_x411_MTARecipientName },
2890 { &hf_x411_originally_specified_recipient_number, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x411_OriginallySpecifiedRecipientNumber },
2891 { &hf_x411_per_recipient_indicators, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x411_PerRecipientIndicators },
2892 { &hf_x411_explicit_conversion, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_ExplicitConversion },
2893 { &hf_x411_extensions , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_SET_OF_ExtensionField },
2894 { NULL, 0, 0, 0, NULL }
2898 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_) {
2899 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
2900 PerRecipientMessageTransferFields_set, hf_index, ett_x411_PerRecipientMessageTransferFields);
2906 static const ber_sequence_t SEQUENCE_OF_PerRecipientMessageTransferFields_sequence_of[1] = {
2907 { &hf_x411_per_recipient_message_fields_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x411_PerRecipientMessageTransferFields },
2911 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_) {
2912 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
2913 SEQUENCE_OF_PerRecipientMessageTransferFields_sequence_of, hf_index, ett_x411_SEQUENCE_OF_PerRecipientMessageTransferFields);
2919 static const ber_sequence_t MessageTransferEnvelope_set[] = {
2920 { &hf_x411_message_identifier, BER_CLASS_APP, 4, BER_FLAGS_NOOWNTAG, dissect_x411_MessageIdentifier },
2921 { &hf_x411_mta_originator_name, BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_x411_MTAOriginatorName },
2922 { &hf_x411_original_encoded_information_types, BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_OriginalEncodedInformationTypes },
2923 { &hf_x411_content_type , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x411_ContentType },
2924 { &hf_x411_content_identifier, BER_CLASS_APP, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_ContentIdentifier },
2925 { &hf_x411_priority , BER_CLASS_APP, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_Priority },
2926 { &hf_x411_per_message_indicators, BER_CLASS_APP, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_PerMessageIndicators },
2927 { &hf_x411_deferred_delivery_time, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_DeferredDeliveryTime },
2928 { &hf_x411_per_domain_bilateral_information, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_SEQUENCE_OF_PerDomainBilateralInformation },
2929 { &hf_x411_trace_information, BER_CLASS_APP, 9, BER_FLAGS_NOOWNTAG, dissect_x411_TraceInformation },
2930 { &hf_x411_extensions , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_SET_OF_ExtensionField },
2931 { &hf_x411_per_recipient_message_fields, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_x411_SEQUENCE_OF_PerRecipientMessageTransferFields },
2932 { NULL, 0, 0, 0, NULL }
2936 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_) {
2937 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
2938 MessageTransferEnvelope_set, hf_index, ett_x411_MessageTransferEnvelope);
2946 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_) {
2947 #line 441 "x411.cnf"
2950 /* we can do this now constructed octet strings are supported */
2951 offset = dissect_ber_octet_string(FALSE, actx, NULL, tvb, offset, hf_index, &next_tvb);
2954 if (content_type_id) {
2955 (void) call_ber_oid_callback(content_type_id, next_tvb, 0, actx->pinfo, top_tree ? top_tree : tree);
2957 proto_item *item = NULL;
2958 proto_tree *next_tree = NULL;
2960 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)");
2961 expert_add_info_format(actx->pinfo, item, PI_UNDECODED, PI_WARN, "Unknown built-in content-type");
2963 next_tree=proto_item_add_subtree(item, ett_x411_content_unknown);
2965 dissect_unknown_ber(actx->pinfo, next_tvb, 0, next_tree);
2975 static const ber_sequence_t Message_sequence[] = {
2976 { &hf_x411_message_envelope, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x411_MessageTransferEnvelope },
2977 { &hf_x411_content , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_x411_Content },
2978 { NULL, 0, 0, 0, NULL }
2982 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_) {
2983 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2984 Message_sequence, hf_index, ett_x411_Message);
2992 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_) {
2993 offset = dissect_x411_MTSIdentifier(implicit_tag, tvb, offset, actx, tree, hf_index);
3001 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_) {
3002 offset = dissect_x411_ORAddressAndOptionalDirectoryName(implicit_tag, tvb, offset, actx, tree, hf_index);
3008 static const ber_sequence_t ReportTransferEnvelope_set[] = {
3009 { &hf_x411_report_identifier, BER_CLASS_APP, 4, BER_FLAGS_NOOWNTAG, dissect_x411_ReportIdentifier },
3010 { &hf_x411_report_destination_name, BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_x411_ReportDestinationName },
3011 { &hf_x411_trace_information, BER_CLASS_APP, 9, BER_FLAGS_NOOWNTAG, dissect_x411_TraceInformation },
3012 { &hf_x411_extensions , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_SET_OF_ExtensionField },
3013 { NULL, 0, 0, 0, NULL }
3017 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_) {
3018 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
3019 ReportTransferEnvelope_set, hf_index, ett_x411_ReportTransferEnvelope);
3027 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_) {
3028 offset = dissect_x411_MTSIdentifier(implicit_tag, tvb, offset, actx, tree, hf_index);
3036 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_) {
3037 offset = dissect_x411_MessageOrProbeIdentifier(implicit_tag, tvb, offset, actx, tree, hf_index);
3045 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_) {
3046 offset = dissect_x411_TraceInformation(implicit_tag, tvb, offset, actx, tree, hf_index);
3054 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_) {
3055 #line 314 "x411.cnf"
3056 proto_item *item = NULL;
3060 /* work out the length */
3061 loffset = dissect_ber_identifier(actx->pinfo, tree, tvb, offset, NULL, NULL, NULL);
3062 (void) dissect_ber_length(actx->pinfo, tree, tvb, loffset, &len, NULL);
3064 item = proto_tree_add_item(tree, hf_index, tvb, offset, len, FALSE);
3065 tree = proto_item_add_subtree(item, ett_x411_additional_information);
3066 proto_item_append_text(tree, " (The use of this field is \"strongly deprecated\".)");
3068 offset = dissect_unknown_ber(actx->pinfo, tvb, offset, tree);
3078 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_) {
3079 offset = dissect_x411_ORAddressAndOptionalDirectoryName(implicit_tag, tvb, offset, actx, tree, hf_index);
3087 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_) {
3088 offset = dissect_x411_Time(implicit_tag, tvb, offset, actx, tree, hf_index);
3094 static const value_string x411_TypeOfMTSUser_vals[] = {
3100 { 5, "physical-recipient" },
3107 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_) {
3108 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
3115 static const ber_sequence_t DeliveryReport_set[] = {
3116 { &hf_x411_message_delivery_time, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x411_MessageDeliveryTime },
3117 { &hf_x411_type_of_MTS_user, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_TypeOfMTSUser },
3118 { NULL, 0, 0, 0, NULL }
3122 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_) {
3123 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
3124 DeliveryReport_set, hf_index, ett_x411_DeliveryReport);
3130 const value_string x411_NonDeliveryReasonCode_vals[] = {
3131 { 0, "transfer-failure" },
3132 { 1, "unable-to-transfer" },
3133 { 2, "conversion-not-performed" },
3134 { 3, "physical-rendition-not-performed" },
3135 { 4, "physical-delivery-not-performed" },
3136 { 5, "restricted-delivery" },
3137 { 6, "directory-operation-unsuccessful" },
3138 { 7, "deferred-delivery-not-performed" },
3139 { 8, "transfer-failure-for-security-reason" },
3145 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_) {
3146 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
3153 const value_string x411_NonDeliveryDiagnosticCode_vals[] = {
3154 { 0, "unrecognised-OR-name" },
3155 { 1, "ambiguous-OR-name" },
3156 { 2, "mts-congestion" },
3157 { 3, "loop-detected" },
3158 { 4, "recipient-unavailable" },
3159 { 5, "maximum-time-expired" },
3160 { 6, "encoded-information-types-unsupported" },
3161 { 7, "content-too-long" },
3162 { 8, "conversion-impractical" },
3163 { 9, "implicit-conversion-prohibited" },
3164 { 10, "implicit-conversion-not-subscribed" },
3165 { 11, "invalid-arguments" },
3166 { 12, "content-syntax-error" },
3167 { 13, "size-constraint-violation" },
3168 { 14, "protocol-violation" },
3169 { 15, "content-type-not-supported" },
3170 { 16, "too-many-recipients" },
3171 { 17, "no-bilateral-agreement" },
3172 { 18, "unsupported-critical-function" },
3173 { 19, "conversion-with-loss-prohibited" },
3174 { 20, "line-too-long" },
3175 { 21, "page-split" },
3176 { 22, "pictorial-symbol-loss" },
3177 { 23, "punctuation-symbol-loss" },
3178 { 24, "alphabetic-character-loss" },
3179 { 25, "multiple-information-loss" },
3180 { 26, "recipient-reassignment-prohibited" },
3181 { 27, "redirection-loop-detected" },
3182 { 28, "dl-expansion-prohibited" },
3183 { 29, "no-dl-submit-permission" },
3184 { 30, "dl-expansion-failure" },
3185 { 31, "physical-rendition-attributes-not-supported" },
3186 { 32, "undeliverable-mail-physical-delivery-address-incorrect" },
3187 { 33, "undeliverable-mail-physical-delivery-office-incorrect-or-invalid" },
3188 { 34, "undeliverable-mail-physical-delivery-address-incomplete" },
3189 { 35, "undeliverable-mail-recipient-unknown" },
3190 { 36, "undeliverable-mail-recipient-deceased" },
3191 { 37, "undeliverable-mail-organization-expired" },
3192 { 38, "undeliverable-mail-recipient-refused-to-accept" },
3193 { 39, "undeliverable-mail-recipient-did-not-claim" },
3194 { 40, "undeliverable-mail-recipient-changed-address-permanently" },
3195 { 41, "undeliverable-mail-recipient-changed-address-temporarily" },
3196 { 42, "undeliverable-mail-recipient-changed-temporary-address" },
3197 { 43, "undeliverable-mail-new-address-unknown" },
3198 { 44, "undeliverable-mail-recipient-did-not-want-forwarding" },
3199 { 45, "undeliverable-mail-originator-prohibited-forwarding" },
3200 { 46, "secure-messaging-error" },
3201 { 47, "unable-to-downgrade" },
3202 { 48, "unable-to-complete-transfer" },
3203 { 49, "transfer-attempts-limit-reached" },
3204 { 50, "incorrect-notification-type" },
3205 { 51, "dl-expansion-prohibited-by-security-policy" },
3206 { 52, "forbidden-alternate-recipient" },
3207 { 53, "security-policy-violation" },
3208 { 54, "security-services-refusal" },
3209 { 55, "unauthorised-dl-member" },
3210 { 56, "unauthorised-dl-name" },
3211 { 57, "unauthorised-originally-intended-recipient-name" },
3212 { 58, "unauthorised-originator-name" },
3213 { 59, "unauthorised-recipient-name" },
3214 { 60, "unreliable-system" },
3215 { 61, "authentication-failure-on-subject-message" },
3216 { 62, "decryption-failed" },
3217 { 63, "decryption-key-unobtainable" },
3218 { 64, "double-envelope-creation-failure" },
3219 { 65, "double-enveloping-message-restoring-failure" },
3220 { 66, "failure-of-proof-of-message" },
3221 { 67, "integrity-failure-on-subject-message" },
3222 { 68, "invalid-security-label" },
3223 { 69, "key-failure" },
3224 { 70, "mandatory-parameter-absence" },
3225 { 71, "operation-security-failure" },
3226 { 72, "repudiation-failure-of-message" },
3227 { 73, "security-context-failure" },
3228 { 74, "token-decryption-failed" },
3229 { 75, "token-error" },
3230 { 76, "unknown-security-label" },
3231 { 77, "unsupported-algorithm-identifier" },
3232 { 78, "unsupported-security-policy" },
3238 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_) {
3239 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
3246 static const ber_sequence_t NonDeliveryReport_set[] = {
3247 { &hf_x411_non_delivery_reason_code, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x411_NonDeliveryReasonCode },
3248 { &hf_x411_non_delivery_diagnostic_code, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_NonDeliveryDiagnosticCode },
3249 { NULL, 0, 0, 0, NULL }
3253 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_) {
3254 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
3255 NonDeliveryReport_set, hf_index, ett_x411_NonDeliveryReport);
3261 static const value_string x411_ReportType_vals[] = {
3263 { 1, "non-delivery" },
3267 static const ber_choice_t ReportType_choice[] = {
3268 { 0, &hf_x411_delivery , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x411_DeliveryReport },
3269 { 1, &hf_x411_non_delivery , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x411_NonDeliveryReport },
3270 { 0, NULL, 0, 0, 0, NULL }
3274 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_) {
3275 #line 894 "x411.cnf"
3278 offset = dissect_ber_choice(actx, tree, tvb, offset,
3279 ReportType_choice, hf_index, ett_x411_ReportType,
3283 if( (report!=-1) && x411_ReportType_vals[report].strptr ){
3284 if(check_col(actx->pinfo->cinfo, COL_INFO)) {
3285 col_append_fstr(actx->pinfo->cinfo, COL_INFO, " %s", x411_ReportType_vals[report].strptr);
3295 static const ber_sequence_t LastTraceInformation_set[] = {
3296 { &hf_x411_arrival_time , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x411_ArrivalTime },
3297 { &hf_x411_converted_encoded_information_types, BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_ConvertedEncodedInformationTypes },
3298 { &hf_x411_trace_report_type, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_x411_ReportType },
3299 { NULL, 0, 0, 0, NULL }
3303 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_) {
3304 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
3305 LastTraceInformation_set, hf_index, ett_x411_LastTraceInformation);
3313 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_) {
3314 offset = dissect_x411_ORAddressAndOptionalDirectoryName(implicit_tag, tvb, offset, actx, tree, hf_index);
3322 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_) {
3323 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
3324 actx, tree, tvb, offset, hf_index,
3331 static const ber_sequence_t PerRecipientReportTransferFields_set[] = {
3332 { &hf_x411_mta_actual_recipient_name, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x411_MTAActualRecipientName },
3333 { &hf_x411_originally_specified_recipient_number, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x411_OriginallySpecifiedRecipientNumber },
3334 { &hf_x411_per_recipient_indicators, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_x411_PerRecipientIndicators },
3335 { &hf_x411_last_trace_information, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_x411_LastTraceInformation },
3336 { &hf_x411_report_originally_intended_recipient_name, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_MTAOriginallyIntendedRecipientName },
3337 { &hf_x411_supplementary_information, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_SupplementaryInformation },
3338 { &hf_x411_extensions , BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_SET_OF_ExtensionField },
3339 { NULL, 0, 0, 0, NULL }
3343 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_) {
3344 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
3345 PerRecipientReportTransferFields_set, hf_index, ett_x411_PerRecipientReportTransferFields);
3351 static const ber_sequence_t SEQUENCE_OF_PerRecipientReportTransferFields_sequence_of[1] = {
3352 { &hf_x411_per_recipient_report_fields_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x411_PerRecipientReportTransferFields },
3356 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_) {
3357 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
3358 SEQUENCE_OF_PerRecipientReportTransferFields_sequence_of, hf_index, ett_x411_SEQUENCE_OF_PerRecipientReportTransferFields);
3364 static const ber_sequence_t ReportTransferContent_set[] = {
3365 { &hf_x411_subject_identifier, BER_CLASS_APP, 4, BER_FLAGS_NOOWNTAG, dissect_x411_SubjectIdentifier },
3366 { &hf_x411_subject_intermediate_trace_information, BER_CLASS_APP, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_SubjectIntermediateTraceInformation },
3367 { &hf_x411_original_encoded_information_types, BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_OriginalEncodedInformationTypes },
3368 { &hf_x411_content_type , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x411_ContentType },
3369 { &hf_x411_content_identifier, BER_CLASS_APP, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_ContentIdentifier },
3370 { &hf_x411_returned_content, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_Content },
3371 { &hf_x411_additional_information, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_AdditionalInformation },
3372 { &hf_x411_extensions , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_SET_OF_ExtensionField },
3373 { &hf_x411_per_recipient_report_fields, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x411_SEQUENCE_OF_PerRecipientReportTransferFields },
3374 { NULL, 0, 0, 0, NULL }
3378 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_) {
3379 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
3380 ReportTransferContent_set, hf_index, ett_x411_ReportTransferContent);
3386 static const ber_sequence_t Report_sequence[] = {
3387 { &hf_x411_report_envelope, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x411_ReportTransferEnvelope },
3388 { &hf_x411_report_content , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x411_ReportTransferContent },
3389 { NULL, 0, 0, 0, NULL }
3393 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_) {
3394 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3395 Report_sequence, hf_index, ett_x411_Report);
3403 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_) {
3404 offset = dissect_x411_MTSIdentifier(implicit_tag, tvb, offset, actx, tree, hf_index);
3412 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_) {
3413 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
3420 static const ber_sequence_t PerRecipientProbeTransferFields_set[] = {
3421 { &hf_x411_recipient_name , BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_x411_MTARecipientName },
3422 { &hf_x411_originally_specified_recipient_number, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x411_OriginallySpecifiedRecipientNumber },
3423 { &hf_x411_per_recipient_indicators, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x411_PerRecipientIndicators },
3424 { &hf_x411_explicit_conversion, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_ExplicitConversion },
3425 { &hf_x411_extensions , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_SET_OF_ExtensionField },
3426 { NULL, 0, 0, 0, NULL }
3430 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_) {
3431 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
3432 PerRecipientProbeTransferFields_set, hf_index, ett_x411_PerRecipientProbeTransferFields);
3438 static const ber_sequence_t SEQUENCE_OF_PerRecipientProbeTransferFields_sequence_of[1] = {
3439 { &hf_x411_per_recipient_probe_transfer_fields_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x411_PerRecipientProbeTransferFields },
3443 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_) {
3444 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
3445 SEQUENCE_OF_PerRecipientProbeTransferFields_sequence_of, hf_index, ett_x411_SEQUENCE_OF_PerRecipientProbeTransferFields);
3451 static const ber_sequence_t ProbeTransferEnvelope_set[] = {
3452 { &hf_x411_probe_identifier, BER_CLASS_APP, 4, BER_FLAGS_NOOWNTAG, dissect_x411_ProbeIdentifier },
3453 { &hf_x411_mta_originator_name, BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_x411_MTAOriginatorName },
3454 { &hf_x411_original_encoded_information_types, BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_OriginalEncodedInformationTypes },
3455 { &hf_x411_content_type , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x411_ContentType },
3456 { &hf_x411_content_identifier, BER_CLASS_APP, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_ContentIdentifier },
3457 { &hf_x411_content_length , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_ContentLength },
3458 { &hf_x411_per_message_indicators, BER_CLASS_APP, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_PerMessageIndicators },
3459 { &hf_x411_per_domain_bilateral_information, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_SEQUENCE_OF_PerDomainBilateralInformation },
3460 { &hf_x411_trace_information, BER_CLASS_APP, 9, BER_FLAGS_NOOWNTAG, dissect_x411_TraceInformation },
3461 { &hf_x411_extensions , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_SET_OF_ExtensionField },
3462 { &hf_x411_per_recipient_probe_transfer_fields, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_x411_SEQUENCE_OF_PerRecipientProbeTransferFields },
3463 { NULL, 0, 0, 0, NULL }
3467 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_) {
3468 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
3469 ProbeTransferEnvelope_set, hf_index, ett_x411_ProbeTransferEnvelope);
3477 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_) {
3478 offset = dissect_x411_ProbeTransferEnvelope(implicit_tag, tvb, offset, actx, tree, hf_index);
3484 static const value_string x411_MTS_APDU_vals[] = {
3491 static const ber_choice_t MTS_APDU_choice[] = {
3492 { 0, &hf_x411_message , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x411_Message },
3493 { 1, &hf_x411_report , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x411_Report },
3494 { 2, &hf_x411_probe , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_x411_Probe },
3495 { 0, NULL, 0, 0, 0, NULL }
3499 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_) {
3500 #line 880 "x411.cnf"
3503 offset = dissect_ber_choice(actx, tree, tvb, offset,
3504 MTS_APDU_choice, hf_index, ett_x411_MTS_APDU,
3508 if( (apdu!=-1) && x411_MTS_APDU_vals[apdu].strptr ){
3509 if(check_col(actx->pinfo->cinfo, COL_INFO) && (apdu != 0)) { /* we don't show "message" - sub-dissectors have better idea */
3510 col_append_fstr(actx->pinfo->cinfo, COL_INFO, " %s", x411_MTS_APDU_vals[apdu].strptr);
3522 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_) {
3523 offset = dissect_x411_ORAddressAndOptionalDirectoryName(implicit_tag, tvb, offset, actx, tree, hf_index);
3529 static const value_string x411_T_attempted_vals[] = {
3535 static const ber_choice_t T_attempted_choice[] = {
3536 { 0, &hf_x411_mta , BER_CLASS_UNI, BER_UNI_TAG_IA5String, BER_FLAGS_NOOWNTAG, dissect_x411_MTAName },
3537 { 1, &hf_x411_domain , BER_CLASS_APP, 3, BER_FLAGS_NOOWNTAG, dissect_x411_GlobalDomainIdentifier },
3538 { 0, NULL, 0, 0, 0, NULL }
3542 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_) {
3543 offset = dissect_ber_choice(actx, tree, tvb, offset,
3544 T_attempted_choice, hf_index, ett_x411_T_attempted,
3551 static const ber_sequence_t MTASuppliedInformation_set[] = {
3552 { &hf_x411_arrival_time , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x411_ArrivalTime },
3553 { &hf_x411_routing_action , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_x411_RoutingAction },
3554 { &hf_x411_attempted , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x411_T_attempted },
3555 { &hf_x411_deferred_time , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_DeferredTime },
3556 { &hf_x411_converted_encoded_information_types, BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_ConvertedEncodedInformationTypes },
3557 { &hf_x411_other_actions , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_OtherActions },
3558 { NULL, 0, 0, 0, NULL }
3562 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_) {
3563 #line 782 "x411.cnf"
3565 doing_address = FALSE;
3567 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
3568 MTASuppliedInformation_set, hf_index, ett_x411_MTASuppliedInformation);
3571 doing_address = TRUE;
3572 proto_item_append_text(tree, ")");
3580 static const ber_sequence_t InternalTraceInformationElement_sequence[] = {
3581 { &hf_x411_global_domain_identifier, BER_CLASS_APP, 3, BER_FLAGS_NOOWNTAG, dissect_x411_GlobalDomainIdentifier },
3582 { &hf_x411_mta_name , BER_CLASS_UNI, BER_UNI_TAG_IA5String, BER_FLAGS_NOOWNTAG, dissect_x411_MTAName },
3583 { &hf_x411_mta_supplied_information, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x411_MTASuppliedInformation },
3584 { NULL, 0, 0, 0, NULL }
3588 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_) {
3589 #line 765 "x411.cnf"
3591 doing_address = TRUE;
3593 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3594 InternalTraceInformationElement_sequence, hf_index, ett_x411_InternalTraceInformationElement);
3597 doing_address = FALSE;
3605 static const ber_sequence_t InternalTraceInformation_sequence_of[1] = {
3606 { &hf_x411_InternalTraceInformation_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x411_InternalTraceInformationElement },
3610 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_) {
3611 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
3612 InternalTraceInformation_sequence_of, hf_index, ett_x411_InternalTraceInformation);
3618 static const value_string x411_ObjectName_vals[] = {
3619 { 0, "user-agent" },
3621 { 2, "message-store" },
3625 static const ber_choice_t ObjectName_choice[] = {
3626 { 0, &hf_x411_user_agent , BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_x411_ORAddressAndOptionalDirectoryName },
3627 { 1, &hf_x411_mTA , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x411_MTAName },
3628 { 2, &hf_x411_message_store , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_x411_ORAddressAndOptionalDirectoryName },
3629 { 0, NULL, 0, 0, 0, NULL }
3633 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_) {
3634 offset = dissect_ber_choice(actx, tree, tvb, offset,
3635 ObjectName_choice, hf_index, ett_x411_ObjectName,
3644 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_) {
3645 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
3652 static const ber_sequence_t DeliveryQueue_set[] = {
3653 { &hf_x411_messages , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x411_INTEGER },
3654 { &hf_x411_delivery_queue_octets, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_INTEGER },
3655 { NULL, 0, 0, 0, NULL }
3659 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_) {
3660 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
3661 DeliveryQueue_set, hf_index, ett_x411_DeliveryQueue);
3667 static const ber_sequence_t MessagesWaiting_set[] = {
3668 { &hf_x411_urgent , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x411_DeliveryQueue },
3669 { &hf_x411_normal , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x411_DeliveryQueue },
3670 { &hf_x411_non_urgent , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_x411_DeliveryQueue },
3671 { NULL, 0, 0, 0, NULL }
3675 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_) {
3676 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
3677 MessagesWaiting_set, hf_index, ett_x411_MessagesWaiting);
3683 static const ber_sequence_t MTSBindArgument_set[] = {
3684 { &hf_x411_initiator_name , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x411_ObjectName },
3685 { &hf_x411_messages_waiting, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_x411_MessagesWaiting },
3686 { &hf_x411_initiator_credentials, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_x411_InitiatorCredentials },
3687 { &hf_x411_security_context, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_SecurityContext },
3688 { &hf_x411_extensions , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_SET_OF_ExtensionField },
3689 { NULL, 0, 0, 0, NULL }
3693 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_) {
3694 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
3695 MTSBindArgument_set, hf_index, ett_x411_MTSBindArgument);
3701 static const ber_sequence_t MTSBindResult_set[] = {
3702 { &hf_x411_responder_name , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x411_ObjectName },
3703 { &hf_x411_messages_waiting, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_x411_MessagesWaiting },
3704 { &hf_x411_responder_credentials, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_x411_ResponderCredentials },
3705 { &hf_x411_extensions , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_SET_OF_ExtensionField },
3706 { NULL, 0, 0, 0, NULL }
3710 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_) {
3711 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
3712 MTSBindResult_set, hf_index, ett_x411_MTSBindResult);
3718 static const value_string x411_MTSBindError_vals[] = {
3720 { 2, "authentication-error" },
3721 { 3, "unacceptable-dialogue-mode" },
3722 { 4, "unacceptable-security-context" },
3723 { 5, "inadequate-association-confidentiality" },
3729 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_) {
3730 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
3739 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_) {
3740 offset = dissect_x411_ORName(implicit_tag, tvb, offset, actx, tree, hf_index);
3748 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_) {
3749 offset = dissect_x411_ORAddressAndOrDirectoryName(implicit_tag, tvb, offset, actx, tree, hf_index);
3757 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_) {
3758 offset = dissect_x411_ORAddressAndOrDirectoryName(implicit_tag, tvb, offset, actx, tree, hf_index);
3764 static const asn_namedbit OriginatorReportRequest_bits[] = {
3765 { 3, &hf_x411_OriginatorReportRequest_report, -1, -1, "report", NULL },
3766 { 4, &hf_x411_OriginatorReportRequest_non_delivery_report, -1, -1, "non-delivery-report", NULL },
3767 { 0, NULL, 0, 0, NULL, NULL }
3771 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_) {
3772 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
3773 OriginatorReportRequest_bits, hf_index, ett_x411_OriginatorReportRequest,
3780 static const ber_sequence_t PerRecipientMessageSubmissionFields_set[] = {
3781 { &hf_x411_submission_recipient_name, BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_x411_MTSRecipientName },
3782 { &hf_x411_originator_report_request, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x411_OriginatorReportRequest },
3783 { &hf_x411_explicit_conversion, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_ExplicitConversion },
3784 { &hf_x411_extensions , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_SET_OF_ExtensionField },
3785 { NULL, 0, 0, 0, NULL }
3789 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_) {
3790 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
3791 PerRecipientMessageSubmissionFields_set, hf_index, ett_x411_PerRecipientMessageSubmissionFields);
3797 static const ber_sequence_t SEQUENCE_OF_PerRecipientMessageSubmissionFields_sequence_of[1] = {
3798 { &hf_x411_per_recipient_message_submission_fields_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x411_PerRecipientMessageSubmissionFields },
3802 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_) {
3803 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
3804 SEQUENCE_OF_PerRecipientMessageSubmissionFields_sequence_of, hf_index, ett_x411_SEQUENCE_OF_PerRecipientMessageSubmissionFields);
3810 static const ber_sequence_t MessageSubmissionEnvelope_set[] = {
3811 { &hf_x411_mts_originator_name, BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_x411_MTSOriginatorName },
3812 { &hf_x411_original_encoded_information_types, BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_OriginalEncodedInformationTypes },
3813 { &hf_x411_content_type , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x411_ContentType },
3814 { &hf_x411_content_identifier, BER_CLASS_APP, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_ContentIdentifier },
3815 { &hf_x411_priority , BER_CLASS_APP, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_Priority },
3816 { &hf_x411_per_message_indicators, BER_CLASS_APP, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_PerMessageIndicators },
3817 { &hf_x411_deferred_delivery_time, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_DeferredDeliveryTime },
3818 { &hf_x411_extensions , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_SET_OF_ExtensionField },
3819 { &hf_x411_per_recipient_message_submission_fields, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x411_SEQUENCE_OF_PerRecipientMessageSubmissionFields },
3820 { NULL, 0, 0, 0, NULL }
3824 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_) {
3825 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
3826 MessageSubmissionEnvelope_set, hf_index, ett_x411_MessageSubmissionEnvelope);
3832 static const ber_sequence_t MessageSubmissionArgument_sequence[] = {
3833 { &hf_x411_message_submission_envelope, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x411_MessageSubmissionEnvelope },
3834 { &hf_x411_content , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_x411_Content },
3835 { NULL, 0, 0, 0, NULL }
3839 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_) {
3840 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3841 MessageSubmissionArgument_sequence, hf_index, ett_x411_MessageSubmissionArgument);
3849 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_) {
3850 offset = dissect_x411_MTSIdentifier(implicit_tag, tvb, offset, actx, tree, hf_index);
3858 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_) {
3859 offset = dissect_x411_Time(implicit_tag, tvb, offset, actx, tree, hf_index);
3865 static const ber_sequence_t MessageSubmissionResult_set[] = {
3866 { &hf_x411_message_submission_identifier, BER_CLASS_APP, 4, BER_FLAGS_NOOWNTAG, dissect_x411_MessageSubmissionIdentifier },
3867 { &hf_x411_message_submission_time, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x411_MessageSubmissionTime },
3868 { &hf_x411_content_identifier, BER_CLASS_APP, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_ContentIdentifier },
3869 { &hf_x411_extensions , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_SET_OF_ExtensionField },
3870 { NULL, 0, 0, 0, NULL }
3874 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_) {
3875 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
3876 MessageSubmissionResult_set, hf_index, ett_x411_MessageSubmissionResult);
3882 static const ber_sequence_t PerRecipientProbeSubmissionFields_set[] = {
3883 { &hf_x411_probe_recipient_name, BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_x411_MTSRecipientName },
3884 { &hf_x411_originator_report_request, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x411_OriginatorReportRequest },
3885 { &hf_x411_explicit_conversion, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_ExplicitConversion },
3886 { &hf_x411_extensions , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_SET_OF_ExtensionField },
3887 { NULL, 0, 0, 0, NULL }
3891 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_) {
3892 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
3893 PerRecipientProbeSubmissionFields_set, hf_index, ett_x411_PerRecipientProbeSubmissionFields);
3899 static const ber_sequence_t SEQUENCE_OF_PerRecipientProbeSubmissionFields_sequence_of[1] = {
3900 { &hf_x411_per_recipient_probe_submission_fields_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x411_PerRecipientProbeSubmissionFields },
3904 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_) {
3905 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
3906 SEQUENCE_OF_PerRecipientProbeSubmissionFields_sequence_of, hf_index, ett_x411_SEQUENCE_OF_PerRecipientProbeSubmissionFields);
3912 static const ber_sequence_t ProbeSubmissionEnvelope_set[] = {
3913 { &hf_x411_mts_originator_name, BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_x411_MTSOriginatorName },
3914 { &hf_x411_original_encoded_information_types, BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_OriginalEncodedInformationTypes },
3915 { &hf_x411_content_type , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x411_ContentType },
3916 { &hf_x411_content_identifier, BER_CLASS_APP, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_ContentIdentifier },
3917 { &hf_x411_content_length , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_ContentLength },
3918 { &hf_x411_per_message_indicators, BER_CLASS_APP, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_PerMessageIndicators },
3919 { &hf_x411_extensions , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_SET_OF_ExtensionField },
3920 { &hf_x411_per_recipient_probe_submission_fields, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_x411_SEQUENCE_OF_PerRecipientProbeSubmissionFields },
3921 { NULL, 0, 0, 0, NULL }
3925 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_) {
3926 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
3927 ProbeSubmissionEnvelope_set, hf_index, ett_x411_ProbeSubmissionEnvelope);
3935 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_) {
3936 offset = dissect_x411_ProbeSubmissionEnvelope(implicit_tag, tvb, offset, actx, tree, hf_index);
3944 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_) {
3945 offset = dissect_x411_MTSIdentifier(implicit_tag, tvb, offset, actx, tree, hf_index);
3953 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_) {
3954 offset = dissect_x411_Time(implicit_tag, tvb, offset, actx, tree, hf_index);
3960 static const ber_sequence_t ProbeSubmissionResult_set[] = {
3961 { &hf_x411_probe_submission_identifier, BER_CLASS_APP, 4, BER_FLAGS_NOOWNTAG, dissect_x411_ProbeSubmissionIdentifier },
3962 { &hf_x411_probe_submission_time, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x411_ProbeSubmissionTime },
3963 { &hf_x411_content_identifier, BER_CLASS_APP, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_ContentIdentifier },
3964 { &hf_x411_extensions , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_SET_OF_ExtensionField },
3965 { NULL, 0, 0, 0, NULL }
3969 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_) {
3970 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
3971 ProbeSubmissionResult_set, hf_index, ett_x411_ProbeSubmissionResult);
3979 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_) {
3980 offset = dissect_x411_MessageSubmissionIdentifier(implicit_tag, tvb, offset, actx, tree, hf_index);
3988 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_) {
3989 offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
3997 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_) {
3998 offset = dissect_ber_boolean(implicit_tag, actx, tree, tvb, offset, hf_index);
4004 static const asn_namedbit Operations_bits[] = {
4005 { 0, &hf_x411_Operations_probe_submission_or_report_delivery, -1, -1, "probe-submission-or-report-delivery", NULL },
4006 { 1, &hf_x411_Operations_message_submission_or_message_delivery, -1, -1, "message-submission-or-message-delivery", NULL },
4007 { 0, NULL, 0, 0, NULL, NULL }
4011 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_) {
4012 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
4013 Operations_bits, hf_index, ett_x411_Operations,
4020 static const ber_sequence_t ContentTypes_set_of[1] = {
4021 { &hf_x411_ContentTypes_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x411_ContentType },
4025 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_) {
4026 offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
4027 ContentTypes_set_of, hf_index, ett_x411_ContentTypes);
4033 static const ber_sequence_t EncodedInformationTypesConstraints_sequence[] = {
4034 { &hf_x411_unacceptable_eits, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_ExtendedEncodedInformationTypes },
4035 { &hf_x411_acceptable_eits, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_ExtendedEncodedInformationTypes },
4036 { &hf_x411_exclusively_acceptable_eits, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_ExtendedEncodedInformationTypes },
4037 { NULL, 0, 0, 0, NULL }
4041 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_) {
4042 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4043 EncodedInformationTypesConstraints_sequence, hf_index, ett_x411_EncodedInformationTypesConstraints);
4051 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_) {
4052 offset = dissect_x411_EncodedInformationTypesConstraints(implicit_tag, tvb, offset, actx, tree, hf_index);
4058 static const ber_sequence_t Controls_set[] = {
4059 { &hf_x411_restrict , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_BOOLEAN },
4060 { &hf_x411_permissible_operations, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_Operations },
4061 { &hf_x411_permissible_maximum_content_length, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_ContentLength },
4062 { &hf_x411_permissible_lowest_priority, BER_CLASS_APP, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_Priority },
4063 { &hf_x411_permissible_content_types, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_ContentTypes },
4064 { &hf_x411_permissible_encoded_information_types, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_PermissibleEncodedInformationTypes },
4065 { &hf_x411_permissible_security_context, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_SecurityContext },
4066 { NULL, 0, 0, 0, NULL }
4070 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_) {
4071 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
4072 Controls_set, hf_index, ett_x411_Controls);
4080 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_) {
4081 offset = dissect_x411_Controls(implicit_tag, tvb, offset, actx, tree, hf_index);
4089 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_) {
4090 offset = dissect_x411_SubmissionControls(implicit_tag, tvb, offset, actx, tree, hf_index);
4096 static const asn_namedbit WaitingMessages_bits[] = {
4097 { 0, &hf_x411_WaitingMessages_long_content, -1, -1, "long-content", NULL },
4098 { 1, &hf_x411_WaitingMessages_low_priority, -1, -1, "low-priority", NULL },
4099 { 2, &hf_x411_WaitingMessages_other_security_labels, -1, -1, "other-security-labels", NULL },
4100 { 0, NULL, 0, 0, NULL, NULL }
4104 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_) {
4105 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
4106 WaitingMessages_bits, hf_index, ett_x411_WaitingMessages,
4113 static const ber_sequence_t SET_OF_ContentType_set_of[1] = {
4114 { &hf_x411_waiting_content_types_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x411_ContentType },
4118 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_) {
4119 offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
4120 SET_OF_ContentType_set_of, hf_index, ett_x411_SET_OF_ContentType);
4126 static const ber_sequence_t Waiting_set[] = {
4127 { &hf_x411_waiting_operations, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_Operations },
4128 { &hf_x411_waiting_messages, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_WaitingMessages },
4129 { &hf_x411_waiting_content_types, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_SET_OF_ContentType },
4130 { &hf_x411_waiting_encoded_information_types, BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_EncodedInformationTypes },
4131 { NULL, 0, 0, 0, NULL }
4135 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_) {
4136 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
4137 Waiting_set, hf_index, ett_x411_Waiting);
4145 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_) {
4146 offset = dissect_x411_Waiting(implicit_tag, tvb, offset, actx, tree, hf_index);
4152 static const ber_sequence_t ImproperlySpecifiedRecipients_sequence_of[1] = {
4153 { &hf_x411_ImproperlySpecifiedRecipients_item, BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_x411_MTSRecipientName },
4157 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_) {
4158 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
4159 ImproperlySpecifiedRecipients_sequence_of, hf_index, ett_x411_ImproperlySpecifiedRecipients);
4165 const value_string x411_SecurityProblem_vals[] = {
4166 { 0, "assemby-instructions-conflict-with-security-services" },
4167 { 1, "authentication-problem" },
4168 { 2, "authentication-failure-on-subject-message" },
4169 { 3, "confidentiality-association-problem" },
4170 { 4, "decryption-failed" },
4171 { 5, "decryption-key-unobtainable" },
4172 { 6, "failure-of-proof-of-message" },
4173 { 7, "forbidden-user-security-label-register" },
4174 { 8, "incompatible-change-with-original-security-context" },
4175 { 9, "integrity-failure-on-subject-message" },
4176 { 10, "invalid-security-label" },
4177 { 11, "invalid-security-label-update" },
4178 { 12, "key-failure" },
4179 { 13, "mandatory-parameter-absence" },
4180 { 14, "operation-security-failure" },
4181 { 15, "redirection-prohibited" },
4182 { 16, "refused-alternate-recipient-name" },
4183 { 17, "repudiation-failure-of-message" },
4184 { 18, "responder-credentials-checking-problem" },
4185 { 19, "security-context-failure" },
4186 { 20, "security-context-problem" },
4187 { 21, "security-policy-violation" },
4188 { 22, "security-services-refusal" },
4189 { 23, "token-decryption-failed" },
4190 { 24, "token-error" },
4191 { 25, "unable-to-aggregate-security-labels" },
4192 { 26, "unauthorised-dl-name" },
4193 { 27, "unauthorised-entry-class" },
4194 { 28, "unauthorised-originally-intended-recipient-name" },
4195 { 29, "unauthorised-originator-name" },
4196 { 30, "unauthorised-recipient-name" },
4197 { 31, "unauthorised-security-label-update" },
4198 { 32, "unauthorised-user-name" },
4199 { 33, "unknown-security-label" },
4200 { 34, "unsupported-algorithm-identifier" },
4201 { 35, "unsupported-security-policy" },
4207 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_) {
4208 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
4217 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_) {
4218 offset = dissect_x411_MTSIdentifier(implicit_tag, tvb, offset, actx, tree, hf_index);
4224 static const value_string x411_DeliveredContentType_vals[] = {
4230 static const ber_choice_t DeliveredContentType_choice[] = {
4231 { 0, &hf_x411_built_in , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x411_BuiltInContentType },
4232 { 1, &hf_x411_extended , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_x411_ExtendedContentType },
4233 { 0, NULL, 0, 0, 0, NULL }
4237 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_) {
4238 offset = dissect_ber_choice(actx, tree, tvb, offset,
4239 DeliveredContentType_choice, hf_index, ett_x411_DeliveredContentType,
4248 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_) {
4249 offset = dissect_x411_ORAddressAndOptionalDirectoryName(implicit_tag, tvb, offset, actx, tree, hf_index);
4255 static const asn_namedbit DeliveryFlags_bits[] = {
4256 { 1, &hf_x411_DeliveryFlags_implicit_conversion_prohibited, -1, -1, "implicit-conversion-prohibited", NULL },
4257 { 0, NULL, 0, 0, NULL, NULL }
4261 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_) {
4262 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
4263 DeliveryFlags_bits, hf_index, ett_x411_DeliveryFlags,
4272 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_) {
4273 offset = dissect_x411_ORAddressAndOptionalDirectoryName(implicit_tag, tvb, offset, actx, tree, hf_index);
4279 static const ber_sequence_t OtherRecipientNames_sequence_of[1] = {
4280 { &hf_x411_OtherRecipientNames_item, BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_x411_OtherRecipientName },
4284 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_) {
4285 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
4286 OtherRecipientNames_sequence_of, hf_index, ett_x411_OtherRecipientNames);
4294 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_) {
4295 offset = dissect_x411_ORAddressAndOptionalDirectoryName(implicit_tag, tvb, offset, actx, tree, hf_index);
4303 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_) {
4304 offset = dissect_x411_ORAddressAndOptionalDirectoryName(implicit_tag, tvb, offset, actx, tree, hf_index);
4310 static const ber_sequence_t OtherMessageDeliveryFields_set[] = {
4311 { &hf_x411_delivered_content_type, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x411_DeliveredContentType },
4312 { &hf_x411_originator_name, BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_x411_DeliveredOriginatorName },
4313 { &hf_x411_original_encoded_information_types, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_OriginalEncodedInformationTypes },
4314 { &hf_x411_priority , BER_CLASS_APP, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_Priority },
4315 { &hf_x411_delivery_flags , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_DeliveryFlags },
4316 { &hf_x411_other_recipient_names, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_OtherRecipientNames },
4317 { &hf_x411_this_recipient_name, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_x411_ThisRecipientName },
4318 { &hf_x411_originally_intended_recipient_name, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_MTSOriginallyIntendedRecipientName },
4319 { &hf_x411_converted_encoded_information_types, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_ConvertedEncodedInformationTypes },
4320 { &hf_x411_message_submission_time, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_x411_MessageSubmissionTime },
4321 { &hf_x411_content_identifier, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_ContentIdentifier },
4322 { &hf_x411_extensions , BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_SET_OF_ExtensionField },
4323 { NULL, 0, 0, 0, NULL }
4327 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_) {
4328 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
4329 OtherMessageDeliveryFields_set, hf_index, ett_x411_OtherMessageDeliveryFields);
4335 static const ber_sequence_t MessageDeliveryArgument_sequence[] = {
4336 { &hf_x411_message_delivery_identifier, BER_CLASS_APP, 4, BER_FLAGS_NOOWNTAG, dissect_x411_MessageDeliveryIdentifier },
4337 { &hf_x411_message_delivery_time, BER_CLASS_UNI, BER_UNI_TAG_UTCTime, BER_FLAGS_NOOWNTAG, dissect_x411_MessageDeliveryTime },
4338 { &hf_x411_other_fields , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x411_OtherMessageDeliveryFields },
4339 { &hf_x411_content , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_x411_Content },
4340 { NULL, 0, 0, 0, NULL }
4344 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_) {
4345 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4346 MessageDeliveryArgument_sequence, hf_index, ett_x411_MessageDeliveryArgument);
4354 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_) {
4355 offset = dissect_x509af_Certificates(implicit_tag, tvb, offset, actx, tree, hf_index);
4363 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_) {
4364 offset = dissect_x411_Signature(implicit_tag, tvb, offset, actx, tree, hf_index);
4370 static const ber_sequence_t MessageDeliveryResult_set[] = {
4371 { &hf_x411_recipient_certificate, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_RecipientCertificate },
4372 { &hf_x411_proof_of_delivery, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_ProofOfDelivery },
4373 { &hf_x411_extensions , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_SET_OF_ExtensionField },
4374 { NULL, 0, 0, 0, NULL }
4378 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_) {
4379 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
4380 MessageDeliveryResult_set, hf_index, ett_x411_MessageDeliveryResult);
4388 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_) {
4389 offset = dissect_x411_MTSIdentifier(implicit_tag, tvb, offset, actx, tree, hf_index);
4397 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_) {
4398 offset = dissect_x411_ORAddressAndOrDirectoryName(implicit_tag, tvb, offset, actx, tree, hf_index);
4404 static const ber_sequence_t PerRecipientReportDeliveryFields_set[] = {
4405 { &hf_x411_actual_recipient_name, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x411_MTSActualRecipientName },
4406 { &hf_x411_delivery_report_type, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_x411_ReportType },
4407 { &hf_x411_converted_encoded_information_types, BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_ConvertedEncodedInformationTypes },
4408 { &hf_x411_originally_intended_recipient_name, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_MTSOriginallyIntendedRecipientName },
4409 { &hf_x411_supplementary_information, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_SupplementaryInformation },
4410 { &hf_x411_extensions , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_SET_OF_ExtensionField },
4411 { NULL, 0, 0, 0, NULL }
4415 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_) {
4416 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
4417 PerRecipientReportDeliveryFields_set, hf_index, ett_x411_PerRecipientReportDeliveryFields);
4423 static const ber_sequence_t SEQUENCE_OF_PerRecipientReportDeliveryFields_sequence_of[1] = {
4424 { &hf_x411_per_recipient_report_delivery_fields_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x411_PerRecipientReportDeliveryFields },
4428 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_) {
4429 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
4430 SEQUENCE_OF_PerRecipientReportDeliveryFields_sequence_of, hf_index, ett_x411_SEQUENCE_OF_PerRecipientReportDeliveryFields);
4436 static const ber_sequence_t ReportDeliveryArgument_set[] = {
4437 { &hf_x411_subject_submission_identifier, BER_CLASS_APP, 4, BER_FLAGS_NOOWNTAG, dissect_x411_SubjectSubmissionIdentifier },
4438 { &hf_x411_content_identifier, BER_CLASS_APP, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_ContentIdentifier },
4439 { &hf_x411_content_type , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x411_ContentType },
4440 { &hf_x411_original_encoded_information_types, BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_OriginalEncodedInformationTypes },
4441 { &hf_x411_extensions , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_SET_OF_ExtensionField },
4442 { &hf_x411_per_recipient_report_delivery_fields, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x411_SEQUENCE_OF_PerRecipientReportDeliveryFields },
4443 { &hf_x411_returned_content, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_Content },
4444 { NULL, 0, 0, 0, NULL }
4448 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_) {
4449 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
4450 ReportDeliveryArgument_set, hf_index, ett_x411_ReportDeliveryArgument);
4456 static const value_string x411_ReportDeliveryResult_vals[] = {
4457 { 0, "empty-result" },
4458 { 1, "extensions" },
4462 static const ber_choice_t ReportDeliveryResult_choice[] = {
4463 { 0, &hf_x411_empty_result , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_x411_NULL },
4464 { 1, &hf_x411_extensions , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x411_SET_OF_ExtensionField },
4465 { 0, NULL, 0, 0, 0, NULL }
4469 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_) {
4470 offset = dissect_ber_choice(actx, tree, tvb, offset,
4471 ReportDeliveryResult_choice, hf_index, ett_x411_ReportDeliveryResult,
4478 static const ber_sequence_t DeliveryControlArgument_set[] = {
4479 { &hf_x411_restrict , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_BOOLEAN },
4480 { &hf_x411_permissible_operations, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_Operations },
4481 { &hf_x411_permissible_maximum_content_length, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_ContentLength },
4482 { &hf_x411_permissible_lowest_priority, BER_CLASS_APP, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_Priority },
4483 { &hf_x411_permissible_content_types, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_ContentTypes },
4484 { &hf_x411_permissible_encoded_information_types, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_PermissibleEncodedInformationTypes },
4485 { &hf_x411_permissible_security_context, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_SecurityContext },
4486 { &hf_x411_extensions , BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_SET_OF_ExtensionField },
4487 { NULL, 0, 0, 0, NULL }
4491 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_) {
4492 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
4493 DeliveryControlArgument_set, hf_index, ett_x411_DeliveryControlArgument);
4499 static const ber_sequence_t DeliveryControlResult_set[] = {
4500 { &hf_x411_waiting_operations, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_Operations },
4501 { &hf_x411_waiting_messages, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_WaitingMessages },
4502 { &hf_x411_waiting_content_types, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_SET_OF_ContentType },
4503 { &hf_x411_waiting_encoded_information_types, BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_EncodedInformationTypes },
4504 { &hf_x411_extensions , BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_SET_OF_ExtensionField },
4505 { NULL, 0, 0, 0, NULL }
4509 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_) {
4510 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
4511 DeliveryControlResult_set, hf_index, ett_x411_DeliveryControlResult);
4517 static const value_string x411_RefusedArgument_vals[] = {
4519 { 1, "user-address" },
4520 { 2, "deliverable-content-types" },
4521 { 3, "deliverable-maximum-content-length" },
4522 { 4, "deliverable-encoded-information-types-constraints" },
4523 { 5, "deliverable-security-labels" },
4524 { 6, "recipient-assigned-redirections" },
4525 { 7, "restricted-delivery" },
4526 { 8, "retrieve-registrations" },
4528 { 11, "permissible-operations" },
4529 { 12, "permissible-lowest-priority" },
4530 { 13, "permissible-encoded-information-types" },
4531 { 14, "permissible-content-types" },
4532 { 15, "permissible-maximum-content-length" },
4533 { 16, "permissible-security-context" },
4539 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_) {
4540 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
4549 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_) {
4550 #line 380 "x411.cnf"
4551 /*XXX not implemented yet */
4559 static const value_string x411_T_refused_argument_vals[] = {
4560 { 0, "built-in-argument" },
4561 { 1, "refused-extension" },
4565 static const ber_choice_t T_refused_argument_choice[] = {
4566 { 0, &hf_x411_built_in_argument, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x411_RefusedArgument },
4567 { 1, &hf_x411_refused_extension, BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_x411_T_refused_extension },
4568 { 0, NULL, 0, 0, 0, NULL }
4572 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_) {
4573 offset = dissect_ber_choice(actx, tree, tvb, offset,
4574 T_refused_argument_choice, hf_index, ett_x411_T_refused_argument,
4581 static const value_string x411_RefusalReason_vals[] = {
4582 { 0, "facility-unavailable" },
4583 { 1, "facility-not-subscribed" },
4584 { 2, "parameter-unacceptable" },
4590 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_) {
4591 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
4598 static const ber_sequence_t RefusedOperation_set[] = {
4599 { &hf_x411_refused_argument, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x411_T_refused_argument },
4600 { &hf_x411_refusal_reason , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_x411_RefusalReason },
4601 { NULL, 0, 0, 0, NULL }
4605 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_) {
4606 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
4607 RefusedOperation_set, hf_index, ett_x411_RefusedOperation);
4615 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_) {
4616 offset = dissect_x509af_AlgorithmIdentifier(implicit_tag, tvb, offset, actx, tree, hf_index);
4624 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_) {
4625 offset = dissect_x411_Controls(implicit_tag, tvb, offset, actx, tree, hf_index);
4633 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_) {
4634 offset = dissect_x411_ORAddressAndOptionalDirectoryName(implicit_tag, tvb, offset, actx, tree, hf_index);
4640 static const ber_sequence_t T_x121_sequence[] = {
4641 { &hf_x411_x121_address , BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_AddrNumericString },
4642 { &hf_x411_tsap_id , BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_PrintableString },
4643 { NULL, 0, 0, 0, NULL }
4647 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_) {
4648 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4649 T_x121_sequence, hf_index, ett_x411_T_x121);
4657 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_) {
4658 offset = dissect_x509sat_PresentationAddress(implicit_tag, tvb, offset, actx, tree, hf_index);
4664 static const value_string x411_UserAddress_vals[] = {
4666 { 1, "presentation" },
4670 static const ber_choice_t UserAddress_choice[] = {
4671 { 0, &hf_x411_x121 , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x411_T_x121 },
4672 { 1, &hf_x411_presentation , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x411_PSAPAddress },
4673 { 0, NULL, 0, 0, 0, NULL }
4677 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_) {
4678 offset = dissect_ber_choice(actx, tree, tvb, offset,
4679 UserAddress_choice, hf_index, ett_x411_UserAddress,
4686 static const ber_sequence_t SET_OF_Priority_set_of[1] = {
4687 { &hf_x411_class_priority_item, BER_CLASS_APP, 7, BER_FLAGS_NOOWNTAG, dissect_x411_Priority },
4691 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_) {
4692 offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
4693 SET_OF_Priority_set_of, hf_index, ett_x411_SET_OF_Priority);
4699 static const value_string x411_T_objects_vals[] = {
4708 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_) {
4709 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
4716 static const asn_namedbit T_source_type_bits[] = {
4717 { 0, &hf_x411_T_source_type_originated_by, -1, -1, "originated-by", NULL },
4718 { 1, &hf_x411_T_source_type_redirected_by, -1, -1, "redirected-by", NULL },
4719 { 2, &hf_x411_T_source_type_dl_expanded_by, -1, -1, "dl-expanded-by", NULL },
4720 { 0, NULL, 0, 0, NULL, NULL }
4724 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_) {
4725 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
4726 T_source_type_bits, hf_index, ett_x411_T_source_type,
4733 static const value_string x411_ExactOrPattern_vals[] = {
4734 { 0, "exact-match" },
4735 { 1, "pattern-match" },
4739 static const ber_choice_t ExactOrPattern_choice[] = {
4740 { 0, &hf_x411_exact_match , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x411_ORName },
4741 { 1, &hf_x411_pattern_match , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x411_ORName },
4742 { 0, NULL, 0, 0, 0, NULL }
4746 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_) {
4747 offset = dissect_ber_choice(actx, tree, tvb, offset,
4748 ExactOrPattern_choice, hf_index, ett_x411_ExactOrPattern,
4755 static const ber_sequence_t Restriction_set[] = {
4756 { &hf_x411_permitted , BER_CLASS_UNI, BER_UNI_TAG_BOOLEAN, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_BOOLEAN },
4757 { &hf_x411_source_type , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_x411_T_source_type },
4758 { &hf_x411_source_name , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x411_ExactOrPattern },
4759 { NULL, 0, 0, 0, NULL }
4763 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_) {
4764 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
4765 Restriction_set, hf_index, ett_x411_Restriction);
4771 static const ber_sequence_t SEQUENCE_OF_Restriction_sequence_of[1] = {
4772 { &hf_x411_applies_only_to_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x411_Restriction },
4776 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_) {
4777 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
4778 SEQUENCE_OF_Restriction_sequence_of, hf_index, ett_x411_SEQUENCE_OF_Restriction);
4784 static const ber_sequence_t MessageClass_set[] = {
4785 { &hf_x411_content_types , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_ContentTypes },
4786 { &hf_x411_maximum_content_length, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_ContentLength },
4787 { &hf_x411_encoded_information_types_constraints, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_EncodedInformationTypesConstraints },
4788 { &hf_x411_security_labels, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_SecurityContext },
4789 { &hf_x411_class_priority , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_SET_OF_Priority },
4790 { &hf_x411_objects , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_T_objects },
4791 { &hf_x411_applies_only_to, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_SEQUENCE_OF_Restriction },
4792 { &hf_x411_extensions , BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_SET_OF_ExtensionField },
4793 { NULL, 0, 0, 0, NULL }
4797 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_) {
4798 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
4799 MessageClass_set, hf_index, ett_x411_MessageClass);
4807 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_) {
4808 offset = dissect_x411_MessageClass(implicit_tag, tvb, offset, actx, tree, hf_index);
4814 static const ber_sequence_t SET_OF_DeliverableClass_set_of[1] = {
4815 { &hf_x411_deliverable_class_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x411_DeliverableClass },
4819 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_) {
4820 offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
4821 SET_OF_DeliverableClass_set_of, hf_index, ett_x411_SET_OF_DeliverableClass);
4829 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_) {
4830 offset = dissect_x411_Controls(implicit_tag, tvb, offset, actx, tree, hf_index);
4838 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_) {
4839 offset = dissect_x411_MessageClass(implicit_tag, tvb, offset, actx, tree, hf_index);
4845 static const ber_sequence_t SET_OF_RedirectionClass_set_of[1] = {
4846 { &hf_x411_redirection_classes_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x411_RedirectionClass },
4850 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_) {
4851 offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
4852 SET_OF_RedirectionClass_set_of, hf_index, ett_x411_SET_OF_RedirectionClass);
4860 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_) {
4861 offset = dissect_x411_ORAddressAndOrDirectoryName(implicit_tag, tvb, offset, actx, tree, hf_index);
4867 static const ber_sequence_t RecipientRedirection_set[] = {
4868 { &hf_x411_redirection_classes, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_SET_OF_RedirectionClass },
4869 { &hf_x411_recipient_assigned_alternate_recipient, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_RecipientAssignedAlternateRecipient },
4870 { NULL, 0, 0, 0, NULL }
4874 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_) {
4875 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
4876 RecipientRedirection_set, hf_index, ett_x411_RecipientRedirection);
4882 static const ber_sequence_t Redirections_sequence_of[1] = {
4883 { &hf_x411_Redirections_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x411_RecipientRedirection },
4887 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_) {
4888 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
4889 Redirections_sequence_of, hf_index, ett_x411_Redirections);
4895 static const ber_sequence_t RestrictedDelivery_sequence_of[1] = {
4896 { &hf_x411_RestrictedDelivery_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x411_Restriction },
4900 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_) {
4901 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
4902 RestrictedDelivery_sequence_of, hf_index, ett_x411_RestrictedDelivery);
4908 static const asn_namedbit T_standard_parameters_bits[] = {
4909 { 0, &hf_x411_T_standard_parameters_user_name, -1, -1, "user-name", NULL },
4910 { 1, &hf_x411_T_standard_parameters_user_address, -1, -1, "user-address", NULL },
4911 { 2, &hf_x411_T_standard_parameters_deliverable_class, -1, -1, "deliverable-class", NULL },
4912 { 3, &hf_x411_T_standard_parameters_default_delivery_controls, -1, -1, "default-delivery-controls", NULL },
4913 { 4, &hf_x411_T_standard_parameters_redirections, -1, -1, "redirections", NULL },
4914 { 5, &hf_x411_T_standard_parameters_restricted_delivery, -1, -1, "restricted-delivery", NULL },
4915 { 0, NULL, 0, 0, NULL, NULL }
4919 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_) {
4920 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
4921 T_standard_parameters_bits, hf_index, ett_x411_T_standard_parameters,
4930 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_) {
4931 #line 329 "x411.cnf"
4932 /*XXX not implemented yet */
4940 static const ber_sequence_t T_type_extensions_set_of[1] = {
4941 { &hf_x411_type_extensions_item, BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_x411_T_type_extensions_item },
4945 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_) {
4946 offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
4947 T_type_extensions_set_of, hf_index, ett_x411_T_type_extensions);
4953 static const ber_sequence_t RegistrationTypes_sequence[] = {
4954 { &hf_x411_standard_parameters, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_T_standard_parameters },
4955 { &hf_x411_type_extensions, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_T_type_extensions },
4956 { NULL, 0, 0, 0, NULL }
4960 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_) {
4961 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4962 RegistrationTypes_sequence, hf_index, ett_x411_RegistrationTypes);
4968 static const ber_sequence_t RegisterArgument_set[] = {
4969 { &hf_x411_user_name , BER_CLASS_APP, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_UserName },
4970 { &hf_x411_user_address , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_x411_UserAddress },
4971 { &hf_x411_deliverable_class, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_SET_OF_DeliverableClass },
4972 { &hf_x411_default_delivery_controls, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_x411_DefaultDeliveryControls },
4973 { &hf_x411_redirections , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_Redirections },
4974 { &hf_x411_restricted_delivery, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_RestrictedDelivery },
4975 { &hf_x411_retrieve_registrations, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_RegistrationTypes },
4976 { &hf_x411_extensions , BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_SET_OF_ExtensionField },
4977 { NULL, 0, 0, 0, NULL }
4981 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_) {
4982 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
4983 RegisterArgument_set, hf_index, ett_x411_RegisterArgument);
4989 static const ber_sequence_t T_non_empty_result_set[] = {
4990 { &hf_x411_registered_information, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x411_RegisterArgument },
4991 { &hf_x411_extensions , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_SET_OF_ExtensionField },
4992 { NULL, 0, 0, 0, NULL }
4996 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_) {
4997 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
4998 T_non_empty_result_set, hf_index, ett_x411_T_non_empty_result);
5004 static const value_string x411_RegisterResult_vals[] = {
5005 { 0, "empty-result" },
5006 { 1, "non-empty-result" },
5010 static const ber_choice_t RegisterResult_choice[] = {
5011 { 0, &hf_x411_empty_result , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_x411_NULL },
5012 { 1, &hf_x411_non_empty_result, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x411_T_non_empty_result },
5013 { 0, NULL, 0, 0, 0, NULL }
5017 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_) {
5018 offset = dissect_ber_choice(actx, tree, tvb, offset,
5019 RegisterResult_choice, hf_index, ett_x411_RegisterResult,
5026 static const ber_sequence_t ChangeCredentialsArgument_set[] = {
5027 { &hf_x411_old_credentials, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_x411_Credentials },
5028 { &hf_x411_new_credentials, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_x411_Credentials },
5029 { NULL, 0, 0, 0, NULL }
5033 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_) {
5034 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
5035 ChangeCredentialsArgument_set, hf_index, ett_x411_ChangeCredentialsArgument);
5041 static const ber_sequence_t MessageDeliveryEnvelope_sequence[] = {
5042 { &hf_x411_message_delivery_identifier, BER_CLASS_APP, 4, BER_FLAGS_NOOWNTAG, dissect_x411_MessageDeliveryIdentifier },
5043 { &hf_x411_message_delivery_time, BER_CLASS_UNI, BER_UNI_TAG_UTCTime, BER_FLAGS_NOOWNTAG, dissect_x411_MessageDeliveryTime },
5044 { &hf_x411_other_fields , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x411_OtherMessageDeliveryFields },
5045 { NULL, 0, 0, 0, NULL }
5049 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_) {
5050 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5051 MessageDeliveryEnvelope_sequence, hf_index, ett_x411_MessageDeliveryEnvelope);
5057 static const ber_sequence_t ReportDeliveryEnvelope_set[] = {
5058 { &hf_x411_subject_submission_identifier, BER_CLASS_APP, 4, BER_FLAGS_NOOWNTAG, dissect_x411_SubjectSubmissionIdentifier },
5059 { &hf_x411_content_identifier, BER_CLASS_APP, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_ContentIdentifier },
5060 { &hf_x411_content_type , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x411_ContentType },
5061 { &hf_x411_original_encoded_information_types, BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_OriginalEncodedInformationTypes },
5062 { &hf_x411_extensions , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_SET_OF_ExtensionField },
5063 { &hf_x411_per_recipient_report_delivery_fields, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x411_SEQUENCE_OF_PerRecipientReportDeliveryFields },
5064 { NULL, 0, 0, 0, NULL }
5068 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_) {
5069 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
5070 ReportDeliveryEnvelope_set, hf_index, ett_x411_ReportDeliveryEnvelope);
5076 static const value_string x411_RecipientReassignmentProhibited_vals[] = {
5077 { 0, "recipient-reassignment-allowed" },
5078 { 1, "recipient-reassignment-prohibited" },
5084 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_) {
5085 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5094 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_) {
5095 offset = dissect_x411_ORAddressAndOrDirectoryName(implicit_tag, tvb, offset, actx, tree, hf_index);
5101 static const value_string x411_DLExpansionProhibited_vals[] = {
5102 { 0, "dl-expansion-allowed" },
5103 { 1, "dl-expansion-prohibited" },
5109 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_) {
5110 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5117 static const value_string x411_ConversionWithLossProhibited_vals[] = {
5118 { 0, "conversion-with-loss-allowed" },
5119 { 1, "conversion-with-loss-prohibited" },
5125 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_) {
5126 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5135 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_) {
5136 offset = dissect_x411_Time(implicit_tag, tvb, offset, actx, tree, hf_index);
5142 static const value_string x411_RequestedDeliveryMethod_item_vals[] = {
5143 { 0, "any-delivery-method" },
5144 { 1, "mhs-delivery" },
5145 { 2, "physical-delivery" },
5146 { 3, "telex-delivery" },
5147 { 4, "teletex-delivery" },
5148 { 5, "g3-facsimile-delivery" },
5149 { 6, "g4-facsimile-delivery" },
5150 { 7, "ia5-terminal-delivery" },
5151 { 8, "videotex-delivery" },
5152 { 9, "telephone-delivery" },
5158 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_) {
5159 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5166 static const ber_sequence_t RequestedDeliveryMethod_sequence_of[1] = {
5167 { &hf_x411_RequestedDeliveryMethod_item, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_x411_RequestedDeliveryMethod_item },
5171 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_) {
5172 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
5173 RequestedDeliveryMethod_sequence_of, hf_index, ett_x411_RequestedDeliveryMethod);
5179 static const value_string x411_PhysicalForwardingProhibited_vals[] = {
5180 { 0, "physical-forwarding-allowed" },
5181 { 1, "physical-forwarding-prohibited" },
5187 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_) {
5188 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5195 static const value_string x411_PhysicalForwardingAddressRequest_vals[] = {
5196 { 0, "physical-forwarding-address-not-requested" },
5197 { 1, "physical-forwarding-address-requested" },
5203 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_) {
5204 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5211 static const asn_namedbit PhysicalDeliveryModes_bits[] = {
5212 { 0, &hf_x411_PhysicalDeliveryModes_ordinary_mail, -1, -1, "ordinary-mail", NULL },
5213 { 1, &hf_x411_PhysicalDeliveryModes_special_delivery, -1, -1, "special-delivery", NULL },
5214 { 2, &hf_x411_PhysicalDeliveryModes_express_mail, -1, -1, "express-mail", NULL },
5215 { 3, &hf_x411_PhysicalDeliveryModes_counter_collection, -1, -1, "counter-collection", NULL },
5216 { 4, &hf_x411_PhysicalDeliveryModes_counter_collection_with_telephone_advice, -1, -1, "counter-collection-with-telephone-advice", NULL },
5217 { 5, &hf_x411_PhysicalDeliveryModes_counter_collection_with_telex_advice, -1, -1, "counter-collection-with-telex-advice", NULL },
5218 { 6, &hf_x411_PhysicalDeliveryModes_counter_collection_with_teletex_advice, -1, -1, "counter-collection-with-teletex-advice", NULL },
5219 { 7, &hf_x411_PhysicalDeliveryModes_bureau_fax_delivery, -1, -1, "bureau-fax-delivery", NULL },
5220 { 0, NULL, 0, 0, NULL, NULL }
5224 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_) {
5225 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
5226 PhysicalDeliveryModes_bits, hf_index, ett_x411_PhysicalDeliveryModes,
5233 static const value_string x411_RegisteredMailType_vals[] = {
5234 { 0, "non-registered-mail" },
5235 { 1, "registered-mail" },
5236 { 2, "registered-mail-to-addressee-in-person" },
5242 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_) {
5243 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5252 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_) {
5253 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString,
5254 actx, tree, tvb, offset, hf_index,
5263 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_) {
5264 offset = dissect_ber_object_identifier(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
5270 static const ber_sequence_t ORAddress_sequence[] = {
5271 { &hf_x411_built_in_standard_attributes, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x411_BuiltInStandardAttributes },
5272 { &hf_x411_built_in_domain_defined_attributes, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_BuiltInDomainDefinedAttributes },
5273 { &hf_x411_extension_attributes, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_ExtensionAttributes },
5274 { NULL, 0, 0, 0, NULL }
5278 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_) {
5279 #line 663 "x411.cnf"
5281 oraddress = ep_alloc(MAX_ORA_STR_LEN); oraddress[0] = '\0';
5282 doing_address = TRUE;
5283 address_item = NULL;
5285 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5286 ORAddress_sequence, hf_index, ett_x411_ORAddress);
5289 if(*oraddress && address_item)
5290 proto_item_append_text(address_item, " %s/", oraddress);
5292 doing_address = FALSE;
5302 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_) {
5303 offset = dissect_x411_ORAddress(implicit_tag, tvb, offset, actx, tree, hf_index);
5309 static const value_string x411_PhysicalDeliveryReportRequest_vals[] = {
5310 { 0, "return-of-undeliverable-mail-by-PDS" },
5311 { 1, "return-of-notification-by-PDS" },
5312 { 2, "return-of-notification-by-MHS" },
5313 { 3, "return-of-notification-by-MHS-and-PDS" },
5319 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_) {
5320 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5329 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_) {
5330 offset = dissect_x509af_Certificates(implicit_tag, tvb, offset, actx, tree, hf_index);
5338 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_) {
5339 offset = dissect_x411_Token(implicit_tag, tvb, offset, actx, tree, hf_index);
5347 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_) {
5348 offset = dissect_x509af_AlgorithmIdentifier(implicit_tag, tvb, offset, actx, tree, hf_index);
5356 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_) {
5357 offset = dissect_x411_Signature(implicit_tag, tvb, offset, actx, tree, hf_index);
5365 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_) {
5366 offset = dissect_x509af_AlgorithmIdentifier(implicit_tag, tvb, offset, actx, tree, hf_index);
5374 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_) {
5375 offset = dissect_x411_Signature(implicit_tag, tvb, offset, actx, tree, hf_index);
5383 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_) {
5384 offset = dissect_x509af_AlgorithmIdentifier(implicit_tag, tvb, offset, actx, tree, hf_index);
5392 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_) {
5393 offset = dissect_x411_SecurityLabel(implicit_tag, tvb, offset, actx, tree, hf_index);
5399 static const value_string x411_ProofOfSubmissionRequest_vals[] = {
5400 { 0, "proof-of-submission-not-requested" },
5401 { 1, "proof-of-submission-requested" },
5407 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_) {
5408 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5415 static const value_string x411_ProofOfDeliveryRequest_vals[] = {
5416 { 0, "proof-of-delivery-not-requested" },
5417 { 1, "proof-of-delivery-requested" },
5423 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_) {
5424 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5431 static const value_string x411_ContentCorrelator_vals[] = {
5437 static const ber_choice_t ContentCorrelator_choice[] = {
5438 { 0, &hf_x411_ia5text , BER_CLASS_UNI, BER_UNI_TAG_IA5String, BER_FLAGS_NOOWNTAG, dissect_x411_IA5String },
5439 { 1, &hf_x411_octets , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_x411_OCTET_STRING },
5440 { 0, NULL, 0, 0, 0, NULL }
5444 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_) {
5445 offset = dissect_ber_choice(actx, tree, tvb, offset,
5446 ContentCorrelator_choice, hf_index, ett_x411_ContentCorrelator,
5455 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_) {
5456 offset = dissect_x411_Signature(implicit_tag, tvb, offset, actx, tree, hf_index);
5464 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_) {
5465 offset = dissect_x509af_AlgorithmIdentifier(implicit_tag, tvb, offset, actx, tree, hf_index);
5471 static const ber_sequence_t IntendedRecipientName_sequence[] = {
5472 { &hf_x411_intended_recipient, BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_x411_ORAddressAndOptionalDirectoryName },
5473 { &hf_x411_redirection_time, BER_CLASS_UNI, BER_UNI_TAG_UTCTime, BER_FLAGS_NOOWNTAG, dissect_x411_Time },
5474 { NULL, 0, 0, 0, NULL }
5478 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_) {
5479 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5480 IntendedRecipientName_sequence, hf_index, ett_x411_IntendedRecipientName);
5486 static const value_string x411_RedirectionReason_vals[] = {
5487 { 0, "recipient-assigned-alternate-recipient" },
5488 { 1, "originator-requested-alternate-recipient" },
5489 { 2, "recipient-MD-assigned-alternate-recipient" },
5490 { 3, "directory-look-up" },
5497 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_) {
5498 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5505 static const ber_sequence_t Redirection_sequence[] = {
5506 { &hf_x411_intended_recipient_name, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x411_IntendedRecipientName },
5507 { &hf_x411_redirection_reason, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_x411_RedirectionReason },
5508 { NULL, 0, 0, 0, NULL }
5512 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_) {
5513 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5514 Redirection_sequence, hf_index, ett_x411_Redirection);
5520 static const ber_sequence_t RedirectionHistory_sequence_of[1] = {
5521 { &hf_x411_RedirectionHistory_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x411_Redirection },
5525 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_) {
5526 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
5527 RedirectionHistory_sequence_of, hf_index, ett_x411_RedirectionHistory);
5533 static const ber_sequence_t DLExpansion_sequence[] = {
5534 { &hf_x411_dl , BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_x411_ORAddressAndOptionalDirectoryName },
5535 { &hf_x411_dl_expansion_time, BER_CLASS_UNI, BER_UNI_TAG_UTCTime, BER_FLAGS_NOOWNTAG, dissect_x411_Time },
5536 { NULL, 0, 0, 0, NULL }
5540 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_) {
5541 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5542 DLExpansion_sequence, hf_index, ett_x411_DLExpansion);
5548 static const ber_sequence_t DLExpansionHistory_sequence_of[1] = {
5549 { &hf_x411_DLExpansionHistory_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x411_DLExpansion },
5553 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_) {
5554 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
5555 DLExpansionHistory_sequence_of, hf_index, ett_x411_DLExpansionHistory);
5563 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_) {
5564 offset = dissect_x411_ORAddressAndOptionalDirectoryName(implicit_tag, tvb, offset, actx, tree, hf_index);
5570 static const ber_sequence_t OriginatorAndDLExpansion_sequence[] = {
5571 { &hf_x411_originator_or_dl_name, BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_x411_ORAddressAndOptionalDirectoryName },
5572 { &hf_x411_origination_or_expansion_time, BER_CLASS_UNI, BER_UNI_TAG_UTCTime, BER_FLAGS_NOOWNTAG, dissect_x411_Time },
5573 { NULL, 0, 0, 0, NULL }
5577 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_) {
5578 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5579 OriginatorAndDLExpansion_sequence, hf_index, ett_x411_OriginatorAndDLExpansion);
5585 static const ber_sequence_t OriginatorAndDLExpansionHistory_sequence_of[1] = {
5586 { &hf_x411_OriginatorAndDLExpansionHistory_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x411_OriginatorAndDLExpansion },
5590 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_) {
5591 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
5592 OriginatorAndDLExpansionHistory_sequence_of, hf_index, ett_x411_OriginatorAndDLExpansionHistory);
5600 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_) {
5601 offset = dissect_x411_ORAddressAndOptionalDirectoryName(implicit_tag, tvb, offset, actx, tree, hf_index);
5609 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_) {
5610 offset = dissect_x509af_Certificates(implicit_tag, tvb, offset, actx, tree, hf_index);
5618 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_) {
5619 offset = dissect_x411_Signature(implicit_tag, tvb, offset, actx, tree, hf_index);
5627 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_) {
5628 offset = dissect_x509af_AlgorithmIdentifier(implicit_tag, tvb, offset, actx, tree, hf_index);
5634 static const ber_sequence_t PerRecipientDeliveryReportFields_sequence[] = {
5635 { &hf_x411_message_delivery_time, BER_CLASS_UNI, BER_UNI_TAG_UTCTime, BER_FLAGS_NOOWNTAG, dissect_x411_MessageDeliveryTime },
5636 { &hf_x411_type_of_MTS_user, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_x411_TypeOfMTSUser },
5637 { &hf_x411_recipient_certificate, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_RecipientCertificate },
5638 { NULL, 0, 0, 0, NULL }
5642 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_) {
5643 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5644 PerRecipientDeliveryReportFields_sequence, hf_index, ett_x411_PerRecipientDeliveryReportFields);
5650 static const ber_sequence_t PerRecipientNonDeliveryReportFields_sequence[] = {
5651 { &hf_x411_non_delivery_reason_code, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_x411_NonDeliveryReasonCode },
5652 { &hf_x411_non_delivery_diagnostic_code, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_NonDeliveryDiagnosticCode },
5653 { NULL, 0, 0, 0, NULL }
5657 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_) {
5658 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5659 PerRecipientNonDeliveryReportFields_sequence, hf_index, ett_x411_PerRecipientNonDeliveryReportFields);
5665 static const value_string x411_T_report_type_vals[] = {
5667 { 1, "non-delivery" },
5671 static const ber_choice_t T_report_type_choice[] = {
5672 { 0, &hf_x411_report_type_delivery, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x411_PerRecipientDeliveryReportFields },
5673 { 1, &hf_x411_non_delivery_report, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x411_PerRecipientNonDeliveryReportFields },
5674 { 0, NULL, 0, 0, 0, NULL }
5678 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_) {
5679 offset = dissect_ber_choice(actx, tree, tvb, offset,
5680 T_report_type_choice, hf_index, ett_x411_T_report_type,
5687 static const ber_sequence_t PerRecipientReportFields_sequence[] = {
5688 { &hf_x411_actual_recipient_name, BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_x411_MTSActualRecipientName },
5689 { &hf_x411_originally_intended_recipient_name, BER_CLASS_APP, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_MTSOriginallyIntendedRecipientName },
5690 { &hf_x411_report_type , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x411_T_report_type },
5691 { NULL, 0, 0, 0, NULL }
5695 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_) {
5696 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5697 PerRecipientReportFields_sequence, hf_index, ett_x411_PerRecipientReportFields);
5705 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_) {
5706 offset = dissect_x509af_Certificates(implicit_tag, tvb, offset, actx, tree, hf_index);
5714 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_) {
5715 offset = dissect_x411_Signature(implicit_tag, tvb, offset, actx, tree, hf_index);
5721 static const ber_sequence_t ReportingMTAName_sequence[] = {
5722 { &hf_x411_domain , BER_CLASS_APP, 3, BER_FLAGS_NOOWNTAG, dissect_x411_GlobalDomainIdentifier },
5723 { &hf_x411_mta_name , BER_CLASS_UNI, BER_UNI_TAG_IA5String, BER_FLAGS_NOOWNTAG, dissect_x411_MTAName },
5724 { &hf_x411_mta_directory_name, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509if_Name },
5725 { NULL, 0, 0, 0, NULL }
5729 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_) {
5730 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5731 ReportingMTAName_sequence, hf_index, ett_x411_ReportingMTAName);
5737 static const value_string x411_ExtendedCertificate_vals[] = {
5738 { 0, "directory-entry" },
5739 { 1, "certificate" },
5743 static const ber_choice_t ExtendedCertificate_choice[] = {
5744 { 0, &hf_x411_directory_entry, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x509if_Name },
5745 { 1, &hf_x411_certificate , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x509af_Certificates },
5746 { 0, NULL, 0, 0, 0, NULL }
5750 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_) {
5751 offset = dissect_ber_choice(actx, tree, tvb, offset,
5752 ExtendedCertificate_choice, hf_index, ett_x411_ExtendedCertificate,
5759 static const ber_sequence_t ExtendedCertificates_set_of[1] = {
5760 { &hf_x411_ExtendedCertificates_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x411_ExtendedCertificate },
5764 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_) {
5765 offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
5766 ExtendedCertificates_set_of, hf_index, ett_x411_ExtendedCertificates);
5772 static const ber_sequence_t DLExemptedRecipients_set_of[1] = {
5773 { &hf_x411_DLExemptedRecipients_item, BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_x411_ORAddressAndOrDirectoryName },
5777 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_) {
5778 offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
5779 DLExemptedRecipients_set_of, hf_index, ett_x411_DLExemptedRecipients);
5785 static const ber_sequence_t CertificateSelectors_set[] = {
5786 { &hf_x411_encryption_recipient, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_CertificateAssertion },
5787 { &hf_x411_encryption_originator, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_CertificateAssertion },
5788 { &hf_x411_selectors_content_integrity_check, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_CertificateAssertion },
5789 { &hf_x411_token_signature, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_CertificateAssertion },
5790 { &hf_x411_message_origin_authentication, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_CertificateAssertion },
5791 { NULL, 0, 0, 0, NULL }
5795 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_) {
5796 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
5797 CertificateSelectors_set, hf_index, ett_x411_CertificateSelectors);
5805 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_) {
5806 #line 553 "x411.cnf"
5807 tvbuff_t *string = NULL;
5809 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
5810 actx, tree, tvb, offset, hf_index,
5814 if(doing_address && string) {
5815 g_strlcat(oraddress, "/CN=", MAX_ORA_STR_LEN);
5816 g_strlcat(oraddress, tvb_format_text(string, 0, tvb_length(string)), MAX_ORA_STR_LEN);
5827 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_) {
5828 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString,
5829 actx, tree, tvb, offset, hf_index,
5838 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_) {
5839 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_BMPString,
5840 actx, tree, tvb, offset, hf_index,
5849 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_) {
5850 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_UniversalString,
5851 actx, tree, tvb, offset, hf_index,
5858 static const value_string x411_T_character_encoding_vals[] = {
5859 { 0, "two-octets" },
5860 { 1, "four-octets" },
5864 static const ber_choice_t T_character_encoding_choice[] = {
5865 { 0, &hf_x411_two_octets , BER_CLASS_UNI, BER_UNI_TAG_BMPString, BER_FLAGS_NOOWNTAG, dissect_x411_BMPString },
5866 { 1, &hf_x411_four_octets , BER_CLASS_UNI, BER_UNI_TAG_UniversalString, BER_FLAGS_NOOWNTAG, dissect_x411_UniversalString },
5867 { 0, NULL, 0, 0, 0, NULL }
5871 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_) {
5872 offset = dissect_ber_choice(actx, tree, tvb, offset,
5873 T_character_encoding_choice, hf_index, ett_x411_T_character_encoding,
5880 static const ber_sequence_t UniversalOrBMPString_set[] = {
5881 { &hf_x411_character_encoding, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x411_T_character_encoding },
5882 { &hf_x411_iso_639_language_code, BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_PrintableString },
5883 { NULL, 0, 0, 0, NULL }
5887 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_) {
5888 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
5889 UniversalOrBMPString_set, hf_index, ett_x411_UniversalOrBMPString);
5897 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_) {
5898 offset = dissect_x411_UniversalOrBMPString(implicit_tag, tvb, offset, actx, tree, hf_index);
5906 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_) {
5907 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString,
5908 actx, tree, tvb, offset, hf_index,
5917 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_) {
5918 offset = dissect_x411_UniversalOrBMPString(implicit_tag, tvb, offset, actx, tree, hf_index);
5926 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_) {
5927 #line 588 "x411.cnf"
5928 tvbuff_t *tstring = NULL;
5930 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString,
5931 actx, tree, tvb, offset, hf_index,
5935 if(doing_address && tstring)
5936 g_strlcat(oraddress, tvb_format_text(tstring, 0, tvb_length(tstring)), MAX_ORA_STR_LEN);
5945 static const ber_sequence_t TeletexPersonalName_set[] = {
5946 { &hf_x411_teletex_surname, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x411_AddrTeletexString },
5947 { &hf_x411_teletex_given_name, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_AddrTeletexString },
5948 { &hf_x411_teletex_initials, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_AddrTeletexString },
5949 { &hf_x411_teletex_generation_qualifier, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_AddrTeletexString },
5950 { NULL, 0, 0, 0, NULL }
5954 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_) {
5955 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
5956 TeletexPersonalName_set, hf_index, ett_x411_TeletexPersonalName);
5962 static const ber_sequence_t UniversalPersonalName_set[] = {
5963 { &hf_x411_universal_surname, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x411_UniversalOrBMPString },
5964 { &hf_x411_universal_given_name, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_UniversalOrBMPString },
5965 { &hf_x411_universal_initials, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_UniversalOrBMPString },
5966 { &hf_x411_universal_generation_qualifier, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_UniversalOrBMPString },
5967 { NULL, 0, 0, 0, NULL }
5971 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_) {
5972 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
5973 UniversalPersonalName_set, hf_index, ett_x411_UniversalPersonalName);
5981 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_) {
5982 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString,
5983 actx, tree, tvb, offset, hf_index,
5990 static const ber_sequence_t TeletexOrganizationalUnitNames_sequence_of[1] = {
5991 { &hf_x411_TeletexOrganizationalUnitNames_item, BER_CLASS_UNI, BER_UNI_TAG_TeletexString, BER_FLAGS_NOOWNTAG, dissect_x411_TeletexOrganizationalUnitName },
5995 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_) {
5996 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
5997 TeletexOrganizationalUnitNames_sequence_of, hf_index, ett_x411_TeletexOrganizationalUnitNames);
6005 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_) {
6006 offset = dissect_x411_UniversalOrBMPString(implicit_tag, tvb, offset, actx, tree, hf_index);
6012 static const ber_sequence_t UniversalOrganizationalUnitNames_sequence_of[1] = {
6013 { &hf_x411_UniversalOrganizationalUnitNames_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x411_UniversalOrganizationalUnitName },
6017 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_) {
6018 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
6019 UniversalOrganizationalUnitNames_sequence_of, hf_index, ett_x411_UniversalOrganizationalUnitNames);
6027 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_) {
6028 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
6029 actx, tree, tvb, offset, hf_index,
6036 static const value_string x411_PhysicalDeliveryCountryName_vals[] = {
6037 { 0, "x121-dcc-code" },
6038 { 1, "iso-3166-alpha2-code" },
6042 static const ber_choice_t PhysicalDeliveryCountryName_choice[] = {
6043 { 0, &hf_x411_x121_dcc_code , BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_NOOWNTAG, dissect_x411_AddrNumericString },
6044 { 1, &hf_x411_iso_3166_alpha2_code, BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_x411_AddrPrintableString },
6045 { 0, NULL, 0, 0, 0, NULL }
6049 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_) {
6050 offset = dissect_ber_choice(actx, tree, tvb, offset,
6051 PhysicalDeliveryCountryName_choice, hf_index, ett_x411_PhysicalDeliveryCountryName,
6058 static const value_string x411_PostalCode_vals[] = {
6059 { 0, "numeric-code" },
6060 { 1, "printable-code" },
6064 static const ber_choice_t PostalCode_choice[] = {
6065 { 0, &hf_x411_numeric_code , BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_NOOWNTAG, dissect_x411_AddrNumericString },
6066 { 1, &hf_x411_printable_code , BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_x411_PrintableString },
6067 { 0, NULL, 0, 0, 0, NULL }
6071 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_) {
6072 offset = dissect_ber_choice(actx, tree, tvb, offset,
6073 PostalCode_choice, hf_index, ett_x411_PostalCode,
6080 static const ber_sequence_t PDSParameter_set[] = {
6081 { &hf_x411_printable_string, BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_PrintableString },
6082 { &hf_x411_teletex_string , BER_CLASS_UNI, BER_UNI_TAG_TeletexString, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_TeletexString },
6083 { NULL, 0, 0, 0, NULL }
6087 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_) {
6088 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
6089 PDSParameter_set, hf_index, ett_x411_PDSParameter);
6097 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_) {
6098 offset = dissect_x411_PDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index);
6106 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_) {
6107 offset = dissect_x411_UniversalOrBMPString(implicit_tag, tvb, offset, actx, tree, hf_index);
6115 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_) {
6116 offset = dissect_x411_UniversalPDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index);
6124 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_) {
6125 offset = dissect_x411_PDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index);
6133 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_) {
6134 offset = dissect_x411_UniversalPDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index);
6142 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_) {
6143 offset = dissect_x411_PDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index);
6151 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_) {
6152 offset = dissect_x411_UniversalPDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index);
6160 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_) {
6161 offset = dissect_x411_PDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index);
6169 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_) {
6170 offset = dissect_x411_UniversalPDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index);
6178 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_) {
6179 offset = dissect_x411_PDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index);
6187 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_) {
6188 offset = dissect_x411_UniversalPDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index);
6196 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_) {
6197 offset = dissect_x411_PDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index);
6205 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_) {
6206 offset = dissect_x411_UniversalPDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index);
6212 static const ber_sequence_t T_printable_address_sequence_of[1] = {
6213 { &hf_x411_printable_address_item, BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_x411_PrintableString },
6217 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_) {
6218 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
6219 T_printable_address_sequence_of, hf_index, ett_x411_T_printable_address);
6225 static const ber_sequence_t UnformattedPostalAddress_set[] = {
6226 { &hf_x411_printable_address, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_T_printable_address },
6227 { &hf_x411_teletex_string , BER_CLASS_UNI, BER_UNI_TAG_TeletexString, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_TeletexString },
6228 { NULL, 0, 0, 0, NULL }
6232 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_) {
6233 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
6234 UnformattedPostalAddress_set, hf_index, ett_x411_UnformattedPostalAddress);
6242 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_) {
6243 offset = dissect_x411_UniversalOrBMPString(implicit_tag, tvb, offset, actx, tree, hf_index);
6251 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_) {
6252 offset = dissect_x411_PDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index);
6260 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_) {
6261 offset = dissect_x411_UniversalPDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index);
6269 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_) {
6270 offset = dissect_x411_PDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index);
6278 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_) {
6279 offset = dissect_x411_UniversalPDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index);
6287 dissect_x411_PosteRestanteAddress(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6288 offset = dissect_x411_PDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index);
6296 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_) {
6297 offset = dissect_x411_UniversalPDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index);
6305 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_) {
6306 offset = dissect_x411_PDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index);
6314 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_) {
6315 offset = dissect_x411_UniversalPDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index);
6323 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_) {
6324 offset = dissect_x411_PDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index);
6332 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_) {
6333 offset = dissect_x411_UniversalPDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index);
6341 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_) {
6342 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_NumericString,
6343 actx, tree, tvb, offset, hf_index,
6350 static const ber_sequence_t T_e163_4_address_sequence[] = {
6351 { &hf_x411_number , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x411_NumericString },
6352 { &hf_x411_sub_address , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_NumericString },
6353 { NULL, 0, 0, 0, NULL }
6357 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_) {
6358 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6359 T_e163_4_address_sequence, hf_index, ett_x411_T_e163_4_address);
6365 static const value_string x411_ExtendedNetworkAddress_vals[] = {
6366 { 0, "e163-4-address" },
6367 { 1, "psap-address" },
6371 static const ber_choice_t ExtendedNetworkAddress_choice[] = {
6372 { 0, &hf_x411_e163_4_address , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x411_T_e163_4_address },
6373 { 1, &hf_x411_psap_address , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x509sat_PresentationAddress },
6374 { 0, NULL, 0, 0, 0, NULL }
6378 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_) {
6379 offset = dissect_ber_choice(actx, tree, tvb, offset,
6380 ExtendedNetworkAddress_choice, hf_index, ett_x411_ExtendedNetworkAddress,
6387 static const value_string x411_TerminalType_vals[] = {
6390 { 5, "g3-facsimile" },
6391 { 6, "g4-facsimile" },
6392 { 7, "ia5-terminal" },
6399 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_) {
6400 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
6407 static const ber_sequence_t TeletexDomainDefinedAttribute_sequence[] = {
6408 { &hf_x411_type , BER_CLASS_UNI, BER_UNI_TAG_TeletexString, BER_FLAGS_NOOWNTAG, dissect_x411_AddrTeletexString },
6409 { &hf_x411_teletex_value , BER_CLASS_UNI, BER_UNI_TAG_TeletexString, BER_FLAGS_NOOWNTAG, dissect_x411_AddrTeletexString },
6410 { NULL, 0, 0, 0, NULL }
6414 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_) {
6415 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6416 TeletexDomainDefinedAttribute_sequence, hf_index, ett_x411_TeletexDomainDefinedAttribute);
6422 static const ber_sequence_t TeletexDomainDefinedAttributes_sequence_of[1] = {
6423 { &hf_x411_TeletexDomainDefinedAttributes_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x411_TeletexDomainDefinedAttribute },
6427 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_) {
6428 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
6429 TeletexDomainDefinedAttributes_sequence_of, hf_index, ett_x411_TeletexDomainDefinedAttributes);
6435 static const ber_sequence_t UniversalDomainDefinedAttribute_sequence[] = {
6436 { &hf_x411_universal_type , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x411_UniversalOrBMPString },
6437 { &hf_x411_universal_value, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x411_UniversalOrBMPString },
6438 { NULL, 0, 0, 0, NULL }
6442 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_) {
6443 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6444 UniversalDomainDefinedAttribute_sequence, hf_index, ett_x411_UniversalDomainDefinedAttribute);
6450 static const ber_sequence_t UniversalDomainDefinedAttributes_sequence_of[1] = {
6451 { &hf_x411_UniversalDomainDefinedAttributes_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x411_UniversalDomainDefinedAttribute },
6455 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_) {
6456 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
6457 UniversalDomainDefinedAttributes_sequence_of, hf_index, ett_x411_UniversalDomainDefinedAttributes);
6463 static const ber_sequence_t NonBasicParameters_set[] = {
6464 { &hf_x411_g3_facsimile , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_G3FacsimileNonBasicParameters },
6465 { &hf_x411_teletex , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_TeletexNonBasicParameters },
6466 { NULL, 0, 0, 0, NULL }
6470 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_) {
6471 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
6472 NonBasicParameters_set, hf_index, ett_x411_NonBasicParameters);
6478 static const ber_sequence_t MTANameAndOptionalGDI_sequence[] = {
6479 { &hf_x411_global_domain_identifier, BER_CLASS_APP, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_GlobalDomainIdentifier },
6480 { &hf_x411_mta_name , BER_CLASS_UNI, BER_UNI_TAG_IA5String, BER_FLAGS_NOOWNTAG, dissect_x411_MTAName },
6481 { NULL, 0, 0, 0, NULL }
6485 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_) {
6486 #line 742 "x411.cnf"
6488 doing_address = TRUE;
6490 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6491 MTANameAndOptionalGDI_sequence, hf_index, ett_x411_MTANameAndOptionalGDI);
6494 doing_address = FALSE;
6495 proto_item_append_text(tree, ")");
6503 static const value_string x411_T_name_vals[] = {
6504 { 0, "recipient-name" },
6509 static const ber_choice_t T_name_choice[] = {
6510 { 0, &hf_x411_token_recipient_name, BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_x411_MTSRecipientName },
6511 { 1, &hf_x411_token_mta , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_x411_MTANameAndOptionalGDI },
6512 { 0, NULL, 0, 0, 0, NULL }
6516 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_) {
6517 offset = dissect_ber_choice(actx, tree, tvb, offset,
6518 T_name_choice, hf_index, ett_x411_T_name,
6525 static const value_string x411_TokenDataType_vals[] = {
6526 { 1, "bind-token-signed-data" },
6527 { 2, "message-token-signed-data" },
6528 { 3, "message-token-encrypted-data" },
6529 { 4, "bind-token-encrypted-data" },
6535 dissect_x411_TokenDataType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6536 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
6545 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_) {
6546 #line 846 "x411.cnf"
6548 proto_item_append_text(tree, " (%s)", val_to_str(extension_id, x411_TokenDataType_vals, "tokendata-type %d"));
6549 if (dissector_try_port(x411_tokendata_dissector_table, extension_id, tvb, actx->pinfo, tree)) {
6550 offset = tvb_length(tvb);
6552 proto_item *item = NULL;
6553 proto_tree *next_tree = NULL;
6555 item = proto_tree_add_text(tree, tvb, 0, tvb_length_remaining(tvb, offset),
6556 "Dissector for tokendata-type %d not implemented. Contact Wireshark developers if you want this supported", extension_id);
6557 next_tree = proto_item_add_subtree(item, ett_x411_unknown_tokendata_type);
6558 offset = dissect_unknown_ber(actx->pinfo, tvb, offset, next_tree);
6559 expert_add_info_format(actx->pinfo, item, PI_UNDECODED, PI_WARN, "Unknown tokendata-type");
6568 static const ber_sequence_t TokenData_sequence[] = {
6569 { &hf_x411_token_data_type, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x411_TokenDataType },
6570 { &hf_x411_value , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x411_T_value },
6571 { NULL, 0, 0, 0, NULL }
6575 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_) {
6576 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6577 TokenData_sequence, hf_index, ett_x411_TokenData);
6583 static const ber_sequence_t AsymmetricTokenData_sequence[] = {
6584 { &hf_x411_signature_algorithm_identifier, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AlgorithmIdentifier },
6585 { &hf_x411_name , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x411_T_name },
6586 { &hf_x411_time , BER_CLASS_UNI, BER_UNI_TAG_UTCTime, BER_FLAGS_NOOWNTAG, dissect_x411_Time },
6587 { &hf_x411_signed_data , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_TokenData },
6588 { &hf_x411_encryption_algorithm_identifier, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509af_AlgorithmIdentifier },
6589 { &hf_x411_encrypted_data , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_BIT_STRING },
6590 { NULL, 0, 0, 0, NULL }
6594 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_) {
6595 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6596 AsymmetricTokenData_sequence, hf_index, ett_x411_AsymmetricTokenData);
6602 static const ber_sequence_t AsymmetricToken_sequence[] = {
6603 { &hf_x411_asymmetric_token_data, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x411_AsymmetricTokenData },
6604 { &hf_x411_algorithm_identifier, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AlgorithmIdentifier },
6605 { &hf_x411_encrypted , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_x411_BIT_STRING },
6606 { NULL, 0, 0, 0, NULL }
6610 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_) {
6611 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6612 AsymmetricToken_sequence, hf_index, ett_x411_AsymmetricToken);
6620 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_) {
6621 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
6631 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_) {
6632 offset = dissect_x411_RandomNumber(implicit_tag, tvb, offset, actx, tree, hf_index);
6638 static const ber_sequence_t MessageTokenSignedData_sequence[] = {
6639 { &hf_x411_content_confidentiality_algorithm_identifier, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_ContentConfidentialityAlgorithmIdentifier },
6640 { &hf_x411_content_integrity_check, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_ContentIntegrityCheck },
6641 { &hf_x411_message_security_label, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_MessageSecurityLabel },
6642 { &hf_x411_proof_of_delivery_request, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_ProofOfDeliveryRequest },
6643 { &hf_x411_message_sequence_number, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_INTEGER },
6644 { NULL, 0, 0, 0, NULL }
6648 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_) {
6649 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6650 MessageTokenSignedData_sequence, hf_index, ett_x411_MessageTokenSignedData);
6658 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_) {
6659 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
6667 static const ber_sequence_t MessageTokenEncryptedData_sequence[] = {
6668 { &hf_x411_content_confidentiality_key, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_EncryptionKey },
6669 { &hf_x411_content_integrity_check, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_ContentIntegrityCheck },
6670 { &hf_x411_message_security_label, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_MessageSecurityLabel },
6671 { &hf_x411_content_integrity_key, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_EncryptionKey },
6672 { &hf_x411_message_sequence_number, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_INTEGER },
6673 { NULL, 0, 0, 0, NULL }
6677 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_) {
6678 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6679 MessageTokenEncryptedData_sequence, hf_index, ett_x411_MessageTokenEncryptedData);
6687 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_) {
6688 offset = dissect_ber_external_type(implicit_tag, tree, tvb, offset, actx, hf_index, NULL);
6695 static void dissect_MTABindArgument_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
6696 asn1_ctx_t asn1_ctx;
6697 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6698 dissect_x411_MTABindArgument(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_MTABindArgument_PDU);
6700 static void dissect_MTABindResult_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
6701 asn1_ctx_t asn1_ctx;
6702 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6703 dissect_x411_MTABindResult(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_MTABindResult_PDU);
6705 static void dissect_MTABindError_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
6706 asn1_ctx_t asn1_ctx;
6707 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6708 dissect_x411_MTABindError(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_MTABindError_PDU);
6710 static void dissect_MTS_APDU_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
6711 asn1_ctx_t asn1_ctx;
6712 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6713 dissect_x411_MTS_APDU(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_MTS_APDU_PDU);
6715 static void dissect_InternalTraceInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
6716 asn1_ctx_t asn1_ctx;
6717 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6718 dissect_x411_InternalTraceInformation(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_InternalTraceInformation_PDU);
6720 static void dissect_InternalTraceInformationElement_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
6721 asn1_ctx_t asn1_ctx;
6722 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6723 dissect_x411_InternalTraceInformationElement(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_InternalTraceInformationElement_PDU);
6725 static void dissect_TraceInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
6726 asn1_ctx_t asn1_ctx;
6727 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6728 dissect_x411_TraceInformation(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_TraceInformation_PDU);
6730 static void dissect_TraceInformationElement_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
6731 asn1_ctx_t asn1_ctx;
6732 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6733 dissect_x411_TraceInformationElement(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_TraceInformationElement_PDU);
6735 static void dissect_MessageSubmissionTime_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
6736 asn1_ctx_t asn1_ctx;
6737 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6738 dissect_x411_MessageSubmissionTime(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_MessageSubmissionTime_PDU);
6740 static void dissect_ReportDeliveryArgument_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
6741 asn1_ctx_t asn1_ctx;
6742 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6743 dissect_x411_ReportDeliveryArgument(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_ReportDeliveryArgument_PDU);
6745 static void dissect_RecipientCertificate_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
6746 asn1_ctx_t asn1_ctx;
6747 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6748 dissect_x411_RecipientCertificate(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_RecipientCertificate_PDU);
6750 static void dissect_ProofOfDelivery_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
6751 asn1_ctx_t asn1_ctx;
6752 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6753 dissect_x411_ProofOfDelivery(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_ProofOfDelivery_PDU);
6755 static void dissect_MessageSubmissionEnvelope_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
6756 asn1_ctx_t asn1_ctx;
6757 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6758 dissect_x411_MessageSubmissionEnvelope(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_MessageSubmissionEnvelope_PDU);
6760 static void dissect_PerRecipientMessageSubmissionFields_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
6761 asn1_ctx_t asn1_ctx;
6762 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6763 dissect_x411_PerRecipientMessageSubmissionFields(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_PerRecipientMessageSubmissionFields_PDU);
6765 static void dissect_ProbeSubmissionEnvelope_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
6766 asn1_ctx_t asn1_ctx;
6767 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6768 dissect_x411_ProbeSubmissionEnvelope(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_ProbeSubmissionEnvelope_PDU);
6770 static void dissect_PerRecipientProbeSubmissionFields_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
6771 asn1_ctx_t asn1_ctx;
6772 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6773 dissect_x411_PerRecipientProbeSubmissionFields(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_PerRecipientProbeSubmissionFields_PDU);
6775 static void dissect_MessageDeliveryEnvelope_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
6776 asn1_ctx_t asn1_ctx;
6777 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6778 dissect_x411_MessageDeliveryEnvelope(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_MessageDeliveryEnvelope_PDU);
6780 static void dissect_ReportDeliveryEnvelope_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
6781 asn1_ctx_t asn1_ctx;
6782 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6783 dissect_x411_ReportDeliveryEnvelope(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_ReportDeliveryEnvelope_PDU);
6785 static void dissect_PerRecipientReportDeliveryFields_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
6786 asn1_ctx_t asn1_ctx;
6787 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6788 dissect_x411_PerRecipientReportDeliveryFields(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_PerRecipientReportDeliveryFields_PDU);
6790 static void dissect_ExtendedContentType_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
6791 asn1_ctx_t asn1_ctx;
6792 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6793 dissect_x411_ExtendedContentType(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_ExtendedContentType_PDU);
6795 static void dissect_ContentIdentifier_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
6796 asn1_ctx_t asn1_ctx;
6797 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6798 dissect_x411_ContentIdentifier(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_ContentIdentifier_PDU);
6800 static void dissect_PerMessageIndicators_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
6801 asn1_ctx_t asn1_ctx;
6802 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6803 dissect_x411_PerMessageIndicators(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_PerMessageIndicators_PDU);
6805 static void dissect_OriginatorReportRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
6806 asn1_ctx_t asn1_ctx;
6807 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6808 dissect_x411_OriginatorReportRequest(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_OriginatorReportRequest_PDU);
6810 static void dissect_DeferredDeliveryTime_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
6811 asn1_ctx_t asn1_ctx;
6812 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6813 dissect_x411_DeferredDeliveryTime(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_DeferredDeliveryTime_PDU);
6815 static void dissect_Priority_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
6816 asn1_ctx_t asn1_ctx;
6817 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6818 dissect_x411_Priority(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_Priority_PDU);
6820 static void dissect_ContentLength_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
6821 asn1_ctx_t asn1_ctx;
6822 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6823 dissect_x411_ContentLength(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_ContentLength_PDU);
6825 static void dissect_MessageDeliveryTime_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
6826 asn1_ctx_t asn1_ctx;
6827 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6828 dissect_x411_MessageDeliveryTime(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_MessageDeliveryTime_PDU);
6830 static void dissect_DeliveryFlags_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
6831 asn1_ctx_t asn1_ctx;
6832 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6833 dissect_x411_DeliveryFlags(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_DeliveryFlags_PDU);
6835 static void dissect_SubjectSubmissionIdentifier_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
6836 asn1_ctx_t asn1_ctx;
6837 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6838 dissect_x411_SubjectSubmissionIdentifier(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_SubjectSubmissionIdentifier_PDU);
6840 static void dissect_RecipientReassignmentProhibited_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
6841 asn1_ctx_t asn1_ctx;
6842 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6843 dissect_x411_RecipientReassignmentProhibited(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_RecipientReassignmentProhibited_PDU);
6845 static void dissect_MTSOriginatorRequestedAlternateRecipient_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
6846 asn1_ctx_t asn1_ctx;
6847 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6848 dissect_x411_MTSOriginatorRequestedAlternateRecipient(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_MTSOriginatorRequestedAlternateRecipient_PDU);
6850 static void dissect_DLExpansionProhibited_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
6851 asn1_ctx_t asn1_ctx;
6852 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6853 dissect_x411_DLExpansionProhibited(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_DLExpansionProhibited_PDU);
6855 static void dissect_ConversionWithLossProhibited_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
6856 asn1_ctx_t asn1_ctx;
6857 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6858 dissect_x411_ConversionWithLossProhibited(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_ConversionWithLossProhibited_PDU);
6860 static void dissect_LatestDeliveryTime_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
6861 asn1_ctx_t asn1_ctx;
6862 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6863 dissect_x411_LatestDeliveryTime(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_LatestDeliveryTime_PDU);
6865 static void dissect_RequestedDeliveryMethod_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
6866 asn1_ctx_t asn1_ctx;
6867 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6868 dissect_x411_RequestedDeliveryMethod(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_RequestedDeliveryMethod_PDU);
6870 static void dissect_PhysicalForwardingProhibited_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
6871 asn1_ctx_t asn1_ctx;
6872 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6873 dissect_x411_PhysicalForwardingProhibited(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_PhysicalForwardingProhibited_PDU);
6875 static void dissect_PhysicalForwardingAddressRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
6876 asn1_ctx_t asn1_ctx;
6877 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6878 dissect_x411_PhysicalForwardingAddressRequest(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_PhysicalForwardingAddressRequest_PDU);
6880 static void dissect_PhysicalDeliveryModes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
6881 asn1_ctx_t asn1_ctx;
6882 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6883 dissect_x411_PhysicalDeliveryModes(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_PhysicalDeliveryModes_PDU);
6885 static void dissect_RegisteredMailType_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
6886 asn1_ctx_t asn1_ctx;
6887 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6888 dissect_x411_RegisteredMailType(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_RegisteredMailType_PDU);
6890 static void dissect_RecipientNumberForAdvice_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
6891 asn1_ctx_t asn1_ctx;
6892 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6893 dissect_x411_RecipientNumberForAdvice(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_RecipientNumberForAdvice_PDU);
6895 static void dissect_PhysicalRenditionAttributes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
6896 asn1_ctx_t asn1_ctx;
6897 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6898 dissect_x411_PhysicalRenditionAttributes(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_PhysicalRenditionAttributes_PDU);
6900 static void dissect_OriginatorReturnAddress_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
6901 asn1_ctx_t asn1_ctx;
6902 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6903 dissect_x411_OriginatorReturnAddress(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_OriginatorReturnAddress_PDU);
6905 static void dissect_PhysicalDeliveryReportRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
6906 asn1_ctx_t asn1_ctx;
6907 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6908 dissect_x411_PhysicalDeliveryReportRequest(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_PhysicalDeliveryReportRequest_PDU);
6910 static void dissect_OriginatorCertificate_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
6911 asn1_ctx_t asn1_ctx;
6912 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6913 dissect_x411_OriginatorCertificate(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_OriginatorCertificate_PDU);
6915 static void dissect_MessageToken_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
6916 asn1_ctx_t asn1_ctx;
6917 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6918 dissect_x411_MessageToken(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_MessageToken_PDU);
6920 static void dissect_ContentConfidentialityAlgorithmIdentifier_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
6921 asn1_ctx_t asn1_ctx;
6922 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6923 dissect_x411_ContentConfidentialityAlgorithmIdentifier(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_ContentConfidentialityAlgorithmIdentifier_PDU);
6925 static void dissect_ContentIntegrityCheck_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
6926 asn1_ctx_t asn1_ctx;
6927 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6928 dissect_x411_ContentIntegrityCheck(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_ContentIntegrityCheck_PDU);
6930 static void dissect_MessageOriginAuthenticationCheck_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
6931 asn1_ctx_t asn1_ctx;
6932 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6933 dissect_x411_MessageOriginAuthenticationCheck(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_MessageOriginAuthenticationCheck_PDU);
6935 static void dissect_MessageSecurityLabel_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
6936 asn1_ctx_t asn1_ctx;
6937 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6938 dissect_x411_MessageSecurityLabel(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_MessageSecurityLabel_PDU);
6940 static void dissect_ProofOfSubmissionRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
6941 asn1_ctx_t asn1_ctx;
6942 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6943 dissect_x411_ProofOfSubmissionRequest(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_ProofOfSubmissionRequest_PDU);
6945 static void dissect_ProofOfDeliveryRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
6946 asn1_ctx_t asn1_ctx;
6947 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6948 dissect_x411_ProofOfDeliveryRequest(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_ProofOfDeliveryRequest_PDU);
6950 static void dissect_ContentCorrelator_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
6951 asn1_ctx_t asn1_ctx;
6952 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6953 dissect_x411_ContentCorrelator(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_ContentCorrelator_PDU);
6955 static void dissect_ProbeOriginAuthenticationCheck_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
6956 asn1_ctx_t asn1_ctx;
6957 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6958 dissect_x411_ProbeOriginAuthenticationCheck(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_ProbeOriginAuthenticationCheck_PDU);
6960 static void dissect_RedirectionHistory_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
6961 asn1_ctx_t asn1_ctx;
6962 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6963 dissect_x411_RedirectionHistory(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_RedirectionHistory_PDU);
6965 static void dissect_Redirection_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
6966 asn1_ctx_t asn1_ctx;
6967 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6968 dissect_x411_Redirection(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_Redirection_PDU);
6970 static void dissect_DLExpansionHistory_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
6971 asn1_ctx_t asn1_ctx;
6972 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6973 dissect_x411_DLExpansionHistory(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_DLExpansionHistory_PDU);
6975 static void dissect_DLExpansion_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
6976 asn1_ctx_t asn1_ctx;
6977 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6978 dissect_x411_DLExpansion(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_DLExpansion_PDU);
6980 static void dissect_PhysicalForwardingAddress_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
6981 asn1_ctx_t asn1_ctx;
6982 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6983 dissect_x411_PhysicalForwardingAddress(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_PhysicalForwardingAddress_PDU);
6985 static void dissect_OriginatorAndDLExpansionHistory_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
6986 asn1_ctx_t asn1_ctx;
6987 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6988 dissect_x411_OriginatorAndDLExpansionHistory(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_OriginatorAndDLExpansionHistory_PDU);
6990 static void dissect_ReportingDLName_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
6991 asn1_ctx_t asn1_ctx;
6992 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6993 dissect_x411_ReportingDLName(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_ReportingDLName_PDU);
6995 static void dissect_ReportingMTACertificate_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
6996 asn1_ctx_t asn1_ctx;
6997 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6998 dissect_x411_ReportingMTACertificate(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_ReportingMTACertificate_PDU);
7000 static void dissect_ReportOriginAuthenticationCheck_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7001 asn1_ctx_t asn1_ctx;
7002 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7003 dissect_x411_ReportOriginAuthenticationCheck(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_ReportOriginAuthenticationCheck_PDU);
7005 static void dissect_OriginatingMTACertificate_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7006 asn1_ctx_t asn1_ctx;
7007 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7008 dissect_x411_OriginatingMTACertificate(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_OriginatingMTACertificate_PDU);
7010 static void dissect_ProofOfSubmission_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7011 asn1_ctx_t asn1_ctx;
7012 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7013 dissect_x411_ProofOfSubmission(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_ProofOfSubmission_PDU);
7015 static void dissect_ReportingMTAName_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7016 asn1_ctx_t asn1_ctx;
7017 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7018 dissect_x411_ReportingMTAName(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_ReportingMTAName_PDU);
7020 static void dissect_ExtendedCertificates_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7021 asn1_ctx_t asn1_ctx;
7022 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7023 dissect_x411_ExtendedCertificates(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_ExtendedCertificates_PDU);
7025 static void dissect_DLExemptedRecipients_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7026 asn1_ctx_t asn1_ctx;
7027 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7028 dissect_x411_DLExemptedRecipients(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_DLExemptedRecipients_PDU);
7030 static void dissect_CertificateSelectors_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7031 asn1_ctx_t asn1_ctx;
7032 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7033 dissect_x411_CertificateSelectors(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_CertificateSelectors_PDU);
7035 static void dissect_Content_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7036 asn1_ctx_t asn1_ctx;
7037 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7038 dissect_x411_Content(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_Content_PDU);
7040 static void dissect_MTSIdentifier_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7041 asn1_ctx_t asn1_ctx;
7042 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7043 dissect_x411_MTSIdentifier(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_MTSIdentifier_PDU);
7045 static void dissect_ORName_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7046 asn1_ctx_t asn1_ctx;
7047 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7048 dissect_x411_ORName(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_ORName_PDU);
7050 static void dissect_ORAddress_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7051 asn1_ctx_t asn1_ctx;
7052 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7053 dissect_x411_ORAddress(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_ORAddress_PDU);
7055 static void dissect_CommonName_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7056 asn1_ctx_t asn1_ctx;
7057 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7058 dissect_x411_CommonName(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_CommonName_PDU);
7060 static void dissect_TeletexCommonName_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7061 asn1_ctx_t asn1_ctx;
7062 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7063 dissect_x411_TeletexCommonName(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_TeletexCommonName_PDU);
7065 static void dissect_UniversalCommonName_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7066 asn1_ctx_t asn1_ctx;
7067 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7068 dissect_x411_UniversalCommonName(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_UniversalCommonName_PDU);
7070 static void dissect_TeletexOrganizationName_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7071 asn1_ctx_t asn1_ctx;
7072 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7073 dissect_x411_TeletexOrganizationName(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_TeletexOrganizationName_PDU);
7075 static void dissect_UniversalOrganizationName_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7076 asn1_ctx_t asn1_ctx;
7077 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7078 dissect_x411_UniversalOrganizationName(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_UniversalOrganizationName_PDU);
7080 static void dissect_TeletexPersonalName_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7081 asn1_ctx_t asn1_ctx;
7082 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7083 dissect_x411_TeletexPersonalName(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_TeletexPersonalName_PDU);
7085 static void dissect_UniversalPersonalName_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7086 asn1_ctx_t asn1_ctx;
7087 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7088 dissect_x411_UniversalPersonalName(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_UniversalPersonalName_PDU);
7090 static void dissect_TeletexOrganizationalUnitNames_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7091 asn1_ctx_t asn1_ctx;
7092 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7093 dissect_x411_TeletexOrganizationalUnitNames(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_TeletexOrganizationalUnitNames_PDU);
7095 static void dissect_UniversalOrganizationalUnitNames_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7096 asn1_ctx_t asn1_ctx;
7097 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7098 dissect_x411_UniversalOrganizationalUnitNames(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_UniversalOrganizationalUnitNames_PDU);
7100 static void dissect_PDSName_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7101 asn1_ctx_t asn1_ctx;
7102 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7103 dissect_x411_PDSName(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_PDSName_PDU);
7105 static void dissect_PhysicalDeliveryCountryName_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7106 asn1_ctx_t asn1_ctx;
7107 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7108 dissect_x411_PhysicalDeliveryCountryName(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_PhysicalDeliveryCountryName_PDU);
7110 static void dissect_PostalCode_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7111 asn1_ctx_t asn1_ctx;
7112 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7113 dissect_x411_PostalCode(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_PostalCode_PDU);
7115 static void dissect_PhysicalDeliveryOfficeName_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7116 asn1_ctx_t asn1_ctx;
7117 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7118 dissect_x411_PhysicalDeliveryOfficeName(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_PhysicalDeliveryOfficeName_PDU);
7120 static void dissect_ExtendedEncodedInformationType_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7121 asn1_ctx_t asn1_ctx;
7122 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7123 dissect_x411_ExtendedEncodedInformationType(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_ExtendedEncodedInformationType_PDU);
7125 static void dissect_MTANameAndOptionalGDI_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7126 asn1_ctx_t asn1_ctx;
7127 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7128 dissect_x411_MTANameAndOptionalGDI(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_MTANameAndOptionalGDI_PDU);
7130 static void dissect_AsymmetricToken_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7131 asn1_ctx_t asn1_ctx;
7132 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7133 dissect_x411_AsymmetricToken(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_AsymmetricToken_PDU);
7135 static void dissect_BindTokenSignedData_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7136 asn1_ctx_t asn1_ctx;
7137 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7138 dissect_x411_BindTokenSignedData(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_BindTokenSignedData_PDU);
7140 static void dissect_MessageTokenSignedData_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7141 asn1_ctx_t asn1_ctx;
7142 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7143 dissect_x411_MessageTokenSignedData(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_MessageTokenSignedData_PDU);
7145 static void dissect_MessageTokenEncryptedData_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7146 asn1_ctx_t asn1_ctx;
7147 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7148 dissect_x411_MessageTokenEncryptedData(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_MessageTokenEncryptedData_PDU);
7150 static void dissect_BindTokenEncryptedData_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7151 asn1_ctx_t asn1_ctx;
7152 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7153 dissect_x411_BindTokenEncryptedData(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_BindTokenEncryptedData_PDU);
7155 static void dissect_SecurityClassification_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7156 asn1_ctx_t asn1_ctx;
7157 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7158 dissect_x411_SecurityClassification(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_SecurityClassification_PDU);
7162 /*--- End of included file: packet-x411-fn.c ---*/
7163 #line 99 "packet-x411-template.c"
7165 char* x411_get_last_oraddress() { return oraddress; }
7168 * Dissect X411 MTS APDU
7171 dissect_x411_mts_apdu (tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
7173 proto_item *item=NULL;
7174 proto_tree *tree=NULL;
7175 asn1_ctx_t asn1_ctx;
7176 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7178 /* save parent_tree so subdissectors can create new top nodes */
7179 top_tree=parent_tree;
7182 item = proto_tree_add_item(parent_tree, proto_x411, tvb, 0, -1, FALSE);
7183 tree = proto_item_add_subtree(item, ett_x411);
7186 if (check_col(pinfo->cinfo, COL_PROTOCOL))
7187 col_set_str(pinfo->cinfo, COL_PROTOCOL, "P1");
7188 if (check_col(pinfo->cinfo, COL_INFO))
7189 col_set_str(pinfo->cinfo, COL_INFO, "Transfer");
7191 dissect_x411_MTS_APDU (FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_MTS_APDU_PDU);
7195 * Dissect X411 PDUs inside a PPDU.
7198 dissect_x411(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
7202 proto_item *item=NULL;
7203 proto_tree *tree=NULL;
7204 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;
7206 int hf_x411_index = -1;
7207 asn1_ctx_t asn1_ctx;
7208 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7210 /* save parent_tree so subdissectors can create new top nodes */
7211 top_tree=parent_tree;
7213 /* do we have operation information from the ROS dissector? */
7214 if( !pinfo->private_data ){
7216 proto_tree_add_text(parent_tree, tvb, offset, -1,
7217 "Internal error: can't get operation information from ROS dissector.");
7221 session = ( (struct SESSION_DATA_STRUCTURE*)(pinfo->private_data) );
7225 item = proto_tree_add_item(parent_tree, proto_x411, tvb, 0, -1, FALSE);
7226 tree = proto_item_add_subtree(item, ett_x411);
7228 if (check_col(pinfo->cinfo, COL_PROTOCOL))
7229 col_set_str(pinfo->cinfo, COL_PROTOCOL, "P1");
7230 if (check_col(pinfo->cinfo, COL_INFO))
7231 col_clear(pinfo->cinfo, COL_INFO);
7233 switch(session->ros_op & ROS_OP_MASK) {
7234 case (ROS_OP_BIND | ROS_OP_ARGUMENT): /* BindInvoke */
7235 x411_dissector = dissect_x411_MTABindArgument;
7236 x411_op_name = "Bind-Argument";
7237 hf_x411_index = hf_x411_MTABindArgument_PDU;
7239 case (ROS_OP_BIND | ROS_OP_RESULT): /* BindResult */
7240 x411_dissector = dissect_x411_MTABindResult;
7241 x411_op_name = "Bind-Result";
7242 hf_x411_index = hf_x411_MTABindResult_PDU;
7244 case (ROS_OP_BIND | ROS_OP_ERROR): /* BindError */
7245 x411_dissector = dissect_x411_MTABindError;
7246 x411_op_name = "Bind-Error";
7247 hf_x411_index = hf_x411_MTABindError_PDU;
7249 case (ROS_OP_INVOKE | ROS_OP_ARGUMENT): /* Invoke Argument */
7250 x411_dissector = dissect_x411_MTS_APDU;
7251 x411_op_name = "Transfer";
7252 hf_x411_index = hf_x411_MTS_APDU_PDU;
7255 proto_tree_add_text(tree, tvb, offset, -1,"Unsupported X411 PDU");
7259 if (check_col(pinfo->cinfo, COL_INFO))
7260 col_set_str(pinfo->cinfo, COL_INFO, x411_op_name);
7262 while (tvb_reported_length_remaining(tvb, offset) > 0){
7264 offset=(*x411_dissector)(FALSE, tvb, offset, &asn1_ctx , tree, hf_x411_index);
7265 if(offset == old_offset){
7266 proto_tree_add_text(tree, tvb, offset, -1,"Internal error, zero-byte X411 PDU");
7267 offset = tvb_length(tvb);
7274 /*--- proto_register_x411 -------------------------------------------*/
7275 void proto_register_x411(void) {
7277 /* List of fields */
7278 static hf_register_info hf[] =
7281 /*--- Included file: packet-x411-hfarr.c ---*/
7282 #line 1 "packet-x411-hfarr.c"
7283 { &hf_x411_MTABindArgument_PDU,
7284 { "MTABindArgument", "x411.MTABindArgument",
7285 FT_UINT32, BASE_DEC, VALS(x411_MTABindArgument_vals), 0,
7286 "x411.MTABindArgument", HFILL }},
7287 { &hf_x411_MTABindResult_PDU,
7288 { "MTABindResult", "x411.MTABindResult",
7289 FT_UINT32, BASE_DEC, VALS(x411_MTABindResult_vals), 0,
7290 "x411.MTABindResult", HFILL }},
7291 { &hf_x411_MTABindError_PDU,
7292 { "MTABindError", "x411.MTABindError",
7293 FT_UINT32, BASE_DEC, VALS(x411_MTABindError_vals), 0,
7294 "x411.MTABindError", HFILL }},
7295 { &hf_x411_MTS_APDU_PDU,
7296 { "MTS-APDU", "x411.MTS_APDU",
7297 FT_UINT32, BASE_DEC, VALS(x411_MTS_APDU_vals), 0,
7298 "x411.MTS_APDU", HFILL }},
7299 { &hf_x411_InternalTraceInformation_PDU,
7300 { "InternalTraceInformation", "x411.InternalTraceInformation",
7301 FT_UINT32, BASE_DEC, NULL, 0,
7302 "x411.InternalTraceInformation", HFILL }},
7303 { &hf_x411_InternalTraceInformationElement_PDU,
7304 { "InternalTraceInformationElement", "x411.InternalTraceInformationElement",
7305 FT_NONE, BASE_NONE, NULL, 0,
7306 "x411.InternalTraceInformationElement", HFILL }},
7307 { &hf_x411_TraceInformation_PDU,
7308 { "TraceInformation", "x411.TraceInformation",
7309 FT_UINT32, BASE_DEC, NULL, 0,
7310 "x411.TraceInformation", HFILL }},
7311 { &hf_x411_TraceInformationElement_PDU,
7312 { "TraceInformationElement", "x411.TraceInformationElement",
7313 FT_NONE, BASE_NONE, NULL, 0,
7314 "x411.TraceInformationElement", HFILL }},
7315 { &hf_x411_MessageSubmissionTime_PDU,
7316 { "MessageSubmissionTime", "x411.MessageSubmissionTime",
7317 FT_STRING, BASE_NONE, NULL, 0,
7318 "x411.MessageSubmissionTime", HFILL }},
7319 { &hf_x411_ReportDeliveryArgument_PDU,
7320 { "ReportDeliveryArgument", "x411.ReportDeliveryArgument",
7321 FT_NONE, BASE_NONE, NULL, 0,
7322 "x411.ReportDeliveryArgument", HFILL }},
7323 { &hf_x411_RecipientCertificate_PDU,
7324 { "RecipientCertificate", "x411.RecipientCertificate",
7325 FT_NONE, BASE_NONE, NULL, 0,
7326 "x411.RecipientCertificate", HFILL }},
7327 { &hf_x411_ProofOfDelivery_PDU,
7328 { "ProofOfDelivery", "x411.ProofOfDelivery",
7329 FT_NONE, BASE_NONE, NULL, 0,
7330 "x411.ProofOfDelivery", HFILL }},
7331 { &hf_x411_MessageSubmissionEnvelope_PDU,
7332 { "MessageSubmissionEnvelope", "x411.MessageSubmissionEnvelope",
7333 FT_NONE, BASE_NONE, NULL, 0,
7334 "x411.MessageSubmissionEnvelope", HFILL }},
7335 { &hf_x411_PerRecipientMessageSubmissionFields_PDU,
7336 { "PerRecipientMessageSubmissionFields", "x411.PerRecipientMessageSubmissionFields",
7337 FT_NONE, BASE_NONE, NULL, 0,
7338 "x411.PerRecipientMessageSubmissionFields", HFILL }},
7339 { &hf_x411_ProbeSubmissionEnvelope_PDU,
7340 { "ProbeSubmissionEnvelope", "x411.ProbeSubmissionEnvelope",
7341 FT_NONE, BASE_NONE, NULL, 0,
7342 "x411.ProbeSubmissionEnvelope", HFILL }},
7343 { &hf_x411_PerRecipientProbeSubmissionFields_PDU,
7344 { "PerRecipientProbeSubmissionFields", "x411.PerRecipientProbeSubmissionFields",
7345 FT_NONE, BASE_NONE, NULL, 0,
7346 "x411.PerRecipientProbeSubmissionFields", HFILL }},
7347 { &hf_x411_MessageDeliveryEnvelope_PDU,
7348 { "MessageDeliveryEnvelope", "x411.MessageDeliveryEnvelope",
7349 FT_NONE, BASE_NONE, NULL, 0,
7350 "x411.MessageDeliveryEnvelope", HFILL }},
7351 { &hf_x411_ReportDeliveryEnvelope_PDU,
7352 { "ReportDeliveryEnvelope", "x411.ReportDeliveryEnvelope",
7353 FT_NONE, BASE_NONE, NULL, 0,
7354 "x411.ReportDeliveryEnvelope", HFILL }},
7355 { &hf_x411_PerRecipientReportDeliveryFields_PDU,
7356 { "PerRecipientReportDeliveryFields", "x411.PerRecipientReportDeliveryFields",
7357 FT_NONE, BASE_NONE, NULL, 0,
7358 "x411.PerRecipientReportDeliveryFields", HFILL }},
7359 { &hf_x411_ExtendedContentType_PDU,
7360 { "ExtendedContentType", "x411.ExtendedContentType",
7361 FT_OID, BASE_NONE, NULL, 0,
7362 "x411.ExtendedContentType", HFILL }},
7363 { &hf_x411_ContentIdentifier_PDU,
7364 { "ContentIdentifier", "x411.ContentIdentifier",
7365 FT_STRING, BASE_NONE, NULL, 0,
7366 "x411.ContentIdentifier", HFILL }},
7367 { &hf_x411_PerMessageIndicators_PDU,
7368 { "PerMessageIndicators", "x411.PerMessageIndicators",
7369 FT_BYTES, BASE_HEX, NULL, 0,
7370 "x411.PerMessageIndicators", HFILL }},
7371 { &hf_x411_OriginatorReportRequest_PDU,
7372 { "OriginatorReportRequest", "x411.OriginatorReportRequest",
7373 FT_BYTES, BASE_HEX, NULL, 0,
7374 "x411.OriginatorReportRequest", HFILL }},
7375 { &hf_x411_DeferredDeliveryTime_PDU,
7376 { "DeferredDeliveryTime", "x411.DeferredDeliveryTime",
7377 FT_STRING, BASE_NONE, NULL, 0,
7378 "x411.DeferredDeliveryTime", HFILL }},
7379 { &hf_x411_Priority_PDU,
7380 { "Priority", "x411.Priority",
7381 FT_UINT32, BASE_DEC, VALS(x411_Priority_U_vals), 0,
7382 "x411.Priority", HFILL }},
7383 { &hf_x411_ContentLength_PDU,
7384 { "ContentLength", "x411.ContentLength",
7385 FT_UINT32, BASE_DEC, NULL, 0,
7386 "x411.ContentLength", HFILL }},
7387 { &hf_x411_MessageDeliveryTime_PDU,
7388 { "MessageDeliveryTime", "x411.MessageDeliveryTime",
7389 FT_STRING, BASE_NONE, NULL, 0,
7390 "x411.MessageDeliveryTime", HFILL }},
7391 { &hf_x411_DeliveryFlags_PDU,
7392 { "DeliveryFlags", "x411.DeliveryFlags",
7393 FT_BYTES, BASE_HEX, NULL, 0,
7394 "x411.DeliveryFlags", HFILL }},
7395 { &hf_x411_SubjectSubmissionIdentifier_PDU,
7396 { "SubjectSubmissionIdentifier", "x411.SubjectSubmissionIdentifier",
7397 FT_NONE, BASE_NONE, NULL, 0,
7398 "x411.SubjectSubmissionIdentifier", HFILL }},
7399 { &hf_x411_RecipientReassignmentProhibited_PDU,
7400 { "RecipientReassignmentProhibited", "x411.RecipientReassignmentProhibited",
7401 FT_UINT32, BASE_DEC, VALS(x411_RecipientReassignmentProhibited_vals), 0,
7402 "x411.RecipientReassignmentProhibited", HFILL }},
7403 { &hf_x411_MTSOriginatorRequestedAlternateRecipient_PDU,
7404 { "MTSOriginatorRequestedAlternateRecipient", "x411.MTSOriginatorRequestedAlternateRecipient",
7405 FT_NONE, BASE_NONE, NULL, 0,
7406 "x411.MTSOriginatorRequestedAlternateRecipient", HFILL }},
7407 { &hf_x411_DLExpansionProhibited_PDU,
7408 { "DLExpansionProhibited", "x411.DLExpansionProhibited",
7409 FT_UINT32, BASE_DEC, VALS(x411_DLExpansionProhibited_vals), 0,
7410 "x411.DLExpansionProhibited", HFILL }},
7411 { &hf_x411_ConversionWithLossProhibited_PDU,
7412 { "ConversionWithLossProhibited", "x411.ConversionWithLossProhibited",
7413 FT_UINT32, BASE_DEC, VALS(x411_ConversionWithLossProhibited_vals), 0,
7414 "x411.ConversionWithLossProhibited", HFILL }},
7415 { &hf_x411_LatestDeliveryTime_PDU,
7416 { "LatestDeliveryTime", "x411.LatestDeliveryTime",
7417 FT_STRING, BASE_NONE, NULL, 0,
7418 "x411.LatestDeliveryTime", HFILL }},
7419 { &hf_x411_RequestedDeliveryMethod_PDU,
7420 { "RequestedDeliveryMethod", "x411.RequestedDeliveryMethod",
7421 FT_UINT32, BASE_DEC, NULL, 0,
7422 "x411.RequestedDeliveryMethod", HFILL }},
7423 { &hf_x411_PhysicalForwardingProhibited_PDU,
7424 { "PhysicalForwardingProhibited", "x411.PhysicalForwardingProhibited",
7425 FT_UINT32, BASE_DEC, VALS(x411_PhysicalForwardingProhibited_vals), 0,
7426 "x411.PhysicalForwardingProhibited", HFILL }},
7427 { &hf_x411_PhysicalForwardingAddressRequest_PDU,
7428 { "PhysicalForwardingAddressRequest", "x411.PhysicalForwardingAddressRequest",
7429 FT_UINT32, BASE_DEC, VALS(x411_PhysicalForwardingAddressRequest_vals), 0,
7430 "x411.PhysicalForwardingAddressRequest", HFILL }},
7431 { &hf_x411_PhysicalDeliveryModes_PDU,
7432 { "PhysicalDeliveryModes", "x411.PhysicalDeliveryModes",
7433 FT_BYTES, BASE_HEX, NULL, 0,
7434 "x411.PhysicalDeliveryModes", HFILL }},
7435 { &hf_x411_RegisteredMailType_PDU,
7436 { "RegisteredMailType", "x411.RegisteredMailType",
7437 FT_UINT32, BASE_DEC, VALS(x411_RegisteredMailType_vals), 0,
7438 "x411.RegisteredMailType", HFILL }},
7439 { &hf_x411_RecipientNumberForAdvice_PDU,
7440 { "RecipientNumberForAdvice", "x411.RecipientNumberForAdvice",
7441 FT_STRING, BASE_NONE, NULL, 0,
7442 "x411.RecipientNumberForAdvice", HFILL }},
7443 { &hf_x411_PhysicalRenditionAttributes_PDU,
7444 { "PhysicalRenditionAttributes", "x411.PhysicalRenditionAttributes",
7445 FT_OID, BASE_NONE, NULL, 0,
7446 "x411.PhysicalRenditionAttributes", HFILL }},
7447 { &hf_x411_OriginatorReturnAddress_PDU,
7448 { "OriginatorReturnAddress", "x411.OriginatorReturnAddress",
7449 FT_NONE, BASE_NONE, NULL, 0,
7450 "x411.OriginatorReturnAddress", HFILL }},
7451 { &hf_x411_PhysicalDeliveryReportRequest_PDU,
7452 { "PhysicalDeliveryReportRequest", "x411.PhysicalDeliveryReportRequest",
7453 FT_INT32, BASE_DEC, VALS(x411_PhysicalDeliveryReportRequest_vals), 0,
7454 "x411.PhysicalDeliveryReportRequest", HFILL }},
7455 { &hf_x411_OriginatorCertificate_PDU,
7456 { "OriginatorCertificate", "x411.OriginatorCertificate",
7457 FT_NONE, BASE_NONE, NULL, 0,
7458 "x411.OriginatorCertificate", HFILL }},
7459 { &hf_x411_MessageToken_PDU,
7460 { "MessageToken", "x411.MessageToken",
7461 FT_NONE, BASE_NONE, NULL, 0,
7462 "x411.MessageToken", HFILL }},
7463 { &hf_x411_ContentConfidentialityAlgorithmIdentifier_PDU,
7464 { "ContentConfidentialityAlgorithmIdentifier", "x411.ContentConfidentialityAlgorithmIdentifier",
7465 FT_NONE, BASE_NONE, NULL, 0,
7466 "x411.ContentConfidentialityAlgorithmIdentifier", HFILL }},
7467 { &hf_x411_ContentIntegrityCheck_PDU,
7468 { "ContentIntegrityCheck", "x411.ContentIntegrityCheck",
7469 FT_NONE, BASE_NONE, NULL, 0,
7470 "x411.ContentIntegrityCheck", HFILL }},
7471 { &hf_x411_MessageOriginAuthenticationCheck_PDU,
7472 { "MessageOriginAuthenticationCheck", "x411.MessageOriginAuthenticationCheck",
7473 FT_NONE, BASE_NONE, NULL, 0,
7474 "x411.MessageOriginAuthenticationCheck", HFILL }},
7475 { &hf_x411_MessageSecurityLabel_PDU,
7476 { "MessageSecurityLabel", "x411.MessageSecurityLabel",
7477 FT_NONE, BASE_NONE, NULL, 0,
7478 "x411.MessageSecurityLabel", HFILL }},
7479 { &hf_x411_ProofOfSubmissionRequest_PDU,
7480 { "ProofOfSubmissionRequest", "x411.ProofOfSubmissionRequest",
7481 FT_UINT32, BASE_DEC, VALS(x411_ProofOfSubmissionRequest_vals), 0,
7482 "x411.ProofOfSubmissionRequest", HFILL }},
7483 { &hf_x411_ProofOfDeliveryRequest_PDU,
7484 { "ProofOfDeliveryRequest", "x411.ProofOfDeliveryRequest",
7485 FT_UINT32, BASE_DEC, VALS(x411_ProofOfDeliveryRequest_vals), 0,
7486 "x411.ProofOfDeliveryRequest", HFILL }},
7487 { &hf_x411_ContentCorrelator_PDU,
7488 { "ContentCorrelator", "x411.ContentCorrelator",
7489 FT_UINT32, BASE_DEC, VALS(x411_ContentCorrelator_vals), 0,
7490 "x411.ContentCorrelator", HFILL }},
7491 { &hf_x411_ProbeOriginAuthenticationCheck_PDU,
7492 { "ProbeOriginAuthenticationCheck", "x411.ProbeOriginAuthenticationCheck",
7493 FT_NONE, BASE_NONE, NULL, 0,
7494 "x411.ProbeOriginAuthenticationCheck", HFILL }},
7495 { &hf_x411_RedirectionHistory_PDU,
7496 { "RedirectionHistory", "x411.RedirectionHistory",
7497 FT_UINT32, BASE_DEC, NULL, 0,
7498 "x411.RedirectionHistory", HFILL }},
7499 { &hf_x411_Redirection_PDU,
7500 { "Redirection", "x411.Redirection",
7501 FT_NONE, BASE_NONE, NULL, 0,
7502 "x411.Redirection", HFILL }},
7503 { &hf_x411_DLExpansionHistory_PDU,
7504 { "DLExpansionHistory", "x411.DLExpansionHistory",
7505 FT_UINT32, BASE_DEC, NULL, 0,
7506 "x411.DLExpansionHistory", HFILL }},
7507 { &hf_x411_DLExpansion_PDU,
7508 { "DLExpansion", "x411.DLExpansion",
7509 FT_NONE, BASE_NONE, NULL, 0,
7510 "x411.DLExpansion", HFILL }},
7511 { &hf_x411_PhysicalForwardingAddress_PDU,
7512 { "PhysicalForwardingAddress", "x411.PhysicalForwardingAddress",
7513 FT_NONE, BASE_NONE, NULL, 0,
7514 "x411.PhysicalForwardingAddress", HFILL }},
7515 { &hf_x411_OriginatorAndDLExpansionHistory_PDU,
7516 { "OriginatorAndDLExpansionHistory", "x411.OriginatorAndDLExpansionHistory",
7517 FT_UINT32, BASE_DEC, NULL, 0,
7518 "x411.OriginatorAndDLExpansionHistory", HFILL }},
7519 { &hf_x411_ReportingDLName_PDU,
7520 { "ReportingDLName", "x411.ReportingDLName",
7521 FT_NONE, BASE_NONE, NULL, 0,
7522 "x411.ReportingDLName", HFILL }},
7523 { &hf_x411_ReportingMTACertificate_PDU,
7524 { "ReportingMTACertificate", "x411.ReportingMTACertificate",
7525 FT_NONE, BASE_NONE, NULL, 0,
7526 "x411.ReportingMTACertificate", HFILL }},
7527 { &hf_x411_ReportOriginAuthenticationCheck_PDU,
7528 { "ReportOriginAuthenticationCheck", "x411.ReportOriginAuthenticationCheck",
7529 FT_NONE, BASE_NONE, NULL, 0,
7530 "x411.ReportOriginAuthenticationCheck", HFILL }},
7531 { &hf_x411_OriginatingMTACertificate_PDU,
7532 { "OriginatingMTACertificate", "x411.OriginatingMTACertificate",
7533 FT_NONE, BASE_NONE, NULL, 0,
7534 "x411.OriginatingMTACertificate", HFILL }},
7535 { &hf_x411_ProofOfSubmission_PDU,
7536 { "ProofOfSubmission", "x411.ProofOfSubmission",
7537 FT_NONE, BASE_NONE, NULL, 0,
7538 "x411.ProofOfSubmission", HFILL }},
7539 { &hf_x411_ReportingMTAName_PDU,
7540 { "ReportingMTAName", "x411.ReportingMTAName",
7541 FT_NONE, BASE_NONE, NULL, 0,
7542 "x411.ReportingMTAName", HFILL }},
7543 { &hf_x411_ExtendedCertificates_PDU,
7544 { "ExtendedCertificates", "x411.ExtendedCertificates",
7545 FT_UINT32, BASE_DEC, NULL, 0,
7546 "x411.ExtendedCertificates", HFILL }},
7547 { &hf_x411_DLExemptedRecipients_PDU,
7548 { "DLExemptedRecipients", "x411.DLExemptedRecipients",
7549 FT_UINT32, BASE_DEC, NULL, 0,
7550 "x411.DLExemptedRecipients", HFILL }},
7551 { &hf_x411_CertificateSelectors_PDU,
7552 { "CertificateSelectors", "x411.CertificateSelectors",
7553 FT_NONE, BASE_NONE, NULL, 0,
7554 "x411.CertificateSelectors", HFILL }},
7555 { &hf_x411_Content_PDU,
7556 { "Content", "x411.Content",
7557 FT_BYTES, BASE_HEX, NULL, 0,
7558 "x411.Content", HFILL }},
7559 { &hf_x411_MTSIdentifier_PDU,
7560 { "MTSIdentifier", "x411.MTSIdentifier",
7561 FT_NONE, BASE_NONE, NULL, 0,
7562 "x411.MTSIdentifier", HFILL }},
7563 { &hf_x411_ORName_PDU,
7564 { "ORName", "x411.ORName",
7565 FT_NONE, BASE_NONE, NULL, 0,
7566 "x411.ORName", HFILL }},
7567 { &hf_x411_ORAddress_PDU,
7568 { "ORAddress", "x411.ORAddress",
7569 FT_NONE, BASE_NONE, NULL, 0,
7570 "x411.ORAddress", HFILL }},
7571 { &hf_x411_CommonName_PDU,
7572 { "CommonName", "x411.CommonName",
7573 FT_STRING, BASE_NONE, NULL, 0,
7574 "x411.CommonName", HFILL }},
7575 { &hf_x411_TeletexCommonName_PDU,
7576 { "TeletexCommonName", "x411.TeletexCommonName",
7577 FT_STRING, BASE_NONE, NULL, 0,
7578 "x411.TeletexCommonName", HFILL }},
7579 { &hf_x411_UniversalCommonName_PDU,
7580 { "UniversalCommonName", "x411.UniversalCommonName",
7581 FT_NONE, BASE_NONE, NULL, 0,
7582 "x411.UniversalCommonName", HFILL }},
7583 { &hf_x411_TeletexOrganizationName_PDU,
7584 { "TeletexOrganizationName", "x411.TeletexOrganizationName",
7585 FT_STRING, BASE_NONE, NULL, 0,
7586 "x411.TeletexOrganizationName", HFILL }},
7587 { &hf_x411_UniversalOrganizationName_PDU,
7588 { "UniversalOrganizationName", "x411.UniversalOrganizationName",
7589 FT_NONE, BASE_NONE, NULL, 0,
7590 "x411.UniversalOrganizationName", HFILL }},
7591 { &hf_x411_TeletexPersonalName_PDU,
7592 { "TeletexPersonalName", "x411.TeletexPersonalName",
7593 FT_NONE, BASE_NONE, NULL, 0,
7594 "x411.TeletexPersonalName", HFILL }},
7595 { &hf_x411_UniversalPersonalName_PDU,
7596 { "UniversalPersonalName", "x411.UniversalPersonalName",
7597 FT_NONE, BASE_NONE, NULL, 0,
7598 "x411.UniversalPersonalName", HFILL }},
7599 { &hf_x411_TeletexOrganizationalUnitNames_PDU,
7600 { "TeletexOrganizationalUnitNames", "x411.TeletexOrganizationalUnitNames",
7601 FT_UINT32, BASE_DEC, NULL, 0,
7602 "x411.TeletexOrganizationalUnitNames", HFILL }},
7603 { &hf_x411_UniversalOrganizationalUnitNames_PDU,
7604 { "UniversalOrganizationalUnitNames", "x411.UniversalOrganizationalUnitNames",
7605 FT_UINT32, BASE_DEC, NULL, 0,
7606 "x411.UniversalOrganizationalUnitNames", HFILL }},
7607 { &hf_x411_PDSName_PDU,
7608 { "PDSName", "x411.PDSName",
7609 FT_STRING, BASE_NONE, NULL, 0,
7610 "x411.PDSName", HFILL }},
7611 { &hf_x411_PhysicalDeliveryCountryName_PDU,
7612 { "PhysicalDeliveryCountryName", "x411.PhysicalDeliveryCountryName",
7613 FT_UINT32, BASE_DEC, VALS(x411_PhysicalDeliveryCountryName_vals), 0,
7614 "x411.PhysicalDeliveryCountryName", HFILL }},
7615 { &hf_x411_PostalCode_PDU,
7616 { "PostalCode", "x411.PostalCode",
7617 FT_UINT32, BASE_DEC, VALS(x411_PostalCode_vals), 0,
7618 "x411.PostalCode", HFILL }},
7619 { &hf_x411_PhysicalDeliveryOfficeName_PDU,
7620 { "PhysicalDeliveryOfficeName", "x411.PhysicalDeliveryOfficeName",
7621 FT_NONE, BASE_NONE, NULL, 0,
7622 "x411.PhysicalDeliveryOfficeName", HFILL }},
7623 { &hf_x411_ExtendedEncodedInformationType_PDU,
7624 { "ExtendedEncodedInformationType", "x411.ExtendedEncodedInformationType",
7625 FT_OID, BASE_NONE, NULL, 0,
7626 "x411.ExtendedEncodedInformationType", HFILL }},
7627 { &hf_x411_MTANameAndOptionalGDI_PDU,
7628 { "MTANameAndOptionalGDI", "x411.MTANameAndOptionalGDI",
7629 FT_NONE, BASE_NONE, NULL, 0,
7630 "x411.MTANameAndOptionalGDI", HFILL }},
7631 { &hf_x411_AsymmetricToken_PDU,
7632 { "AsymmetricToken", "x411.AsymmetricToken",
7633 FT_NONE, BASE_NONE, NULL, 0,
7634 "x411.AsymmetricToken", HFILL }},
7635 { &hf_x411_BindTokenSignedData_PDU,
7636 { "BindTokenSignedData", "x411.BindTokenSignedData",
7637 FT_BYTES, BASE_HEX, NULL, 0,
7638 "x411.BindTokenSignedData", HFILL }},
7639 { &hf_x411_MessageTokenSignedData_PDU,
7640 { "MessageTokenSignedData", "x411.MessageTokenSignedData",
7641 FT_NONE, BASE_NONE, NULL, 0,
7642 "x411.MessageTokenSignedData", HFILL }},
7643 { &hf_x411_MessageTokenEncryptedData_PDU,
7644 { "MessageTokenEncryptedData", "x411.MessageTokenEncryptedData",
7645 FT_NONE, BASE_NONE, NULL, 0,
7646 "x411.MessageTokenEncryptedData", HFILL }},
7647 { &hf_x411_BindTokenEncryptedData_PDU,
7648 { "BindTokenEncryptedData", "x411.BindTokenEncryptedData",
7649 FT_NONE, BASE_NONE, NULL, 0,
7650 "x411.BindTokenEncryptedData", HFILL }},
7651 { &hf_x411_SecurityClassification_PDU,
7652 { "SecurityClassification", "x411.SecurityClassification",
7653 FT_UINT32, BASE_DEC, VALS(x411_SecurityClassification_vals), 0,
7654 "x411.SecurityClassification", HFILL }},
7655 { &hf_x411_unauthenticated,
7656 { "unauthenticated", "x411.unauthenticated",
7657 FT_NONE, BASE_NONE, NULL, 0,
7658 "x411.NULL", HFILL }},
7659 { &hf_x411_authenticated_argument,
7660 { "authenticated", "x411.authenticated",
7661 FT_NONE, BASE_NONE, NULL, 0,
7662 "x411.AuthenticatedArgument", HFILL }},
7663 { &hf_x411_authenticated_initiator_name,
7664 { "initiator-name", "x411.initiator_name",
7665 FT_STRING, BASE_NONE, NULL, 0,
7666 "x411.MTAName", HFILL }},
7667 { &hf_x411_initiator_credentials,
7668 { "initiator-credentials", "x411.initiator_credentials",
7669 FT_UINT32, BASE_DEC, VALS(x411_Credentials_vals), 0,
7670 "x411.InitiatorCredentials", HFILL }},
7671 { &hf_x411_security_context,
7672 { "security-context", "x411.security_context",
7673 FT_UINT32, BASE_DEC, NULL, 0,
7674 "x411.SecurityContext", HFILL }},
7675 { &hf_x411_authenticated_result,
7676 { "authenticated", "x411.authenticated",
7677 FT_NONE, BASE_NONE, NULL, 0,
7678 "x411.AuthenticatedResult", HFILL }},
7679 { &hf_x411_authenticated_responder_name,
7680 { "responder-name", "x411.responder_name",
7681 FT_STRING, BASE_NONE, NULL, 0,
7682 "x411.MTAName", HFILL }},
7683 { &hf_x411_responder_credentials,
7684 { "responder-credentials", "x411.responder_credentials",
7685 FT_UINT32, BASE_DEC, VALS(x411_Credentials_vals), 0,
7686 "x411.ResponderCredentials", HFILL }},
7688 { "message", "x411.message",
7689 FT_NONE, BASE_NONE, NULL, 0,
7690 "x411.Message", HFILL }},
7692 { "report", "x411.report",
7693 FT_NONE, BASE_NONE, NULL, 0,
7694 "x411.Report", HFILL }},
7696 { "probe", "x411.probe",
7697 FT_NONE, BASE_NONE, NULL, 0,
7698 "x411.Probe", HFILL }},
7699 { &hf_x411_message_envelope,
7700 { "envelope", "x411.envelope",
7701 FT_NONE, BASE_NONE, NULL, 0,
7702 "x411.MessageTransferEnvelope", HFILL }},
7704 { "content", "x411.content",
7705 FT_BYTES, BASE_HEX, NULL, 0,
7706 "x411.Content", HFILL }},
7707 { &hf_x411_report_envelope,
7708 { "envelope", "x411.envelope",
7709 FT_NONE, BASE_NONE, NULL, 0,
7710 "x411.ReportTransferEnvelope", HFILL }},
7711 { &hf_x411_report_content,
7712 { "content", "x411.content",
7713 FT_NONE, BASE_NONE, NULL, 0,
7714 "x411.ReportTransferContent", HFILL }},
7715 { &hf_x411_message_identifier,
7716 { "message-identifier", "x411.message_identifier",
7717 FT_NONE, BASE_NONE, NULL, 0,
7718 "x411.MessageIdentifier", HFILL }},
7719 { &hf_x411_mta_originator_name,
7720 { "originator-name", "x411.originator_name",
7721 FT_NONE, BASE_NONE, NULL, 0,
7722 "x411.MTAOriginatorName", HFILL }},
7723 { &hf_x411_original_encoded_information_types,
7724 { "original-encoded-information-types", "x411.original_encoded_information_types",
7725 FT_NONE, BASE_NONE, NULL, 0,
7726 "x411.OriginalEncodedInformationTypes", HFILL }},
7727 { &hf_x411_content_type,
7728 { "content-type", "x411.content_type",
7729 FT_UINT32, BASE_DEC, VALS(x411_ContentType_vals), 0,
7730 "x411.ContentType", HFILL }},
7731 { &hf_x411_content_identifier,
7732 { "content-identifier", "x411.content_identifier",
7733 FT_STRING, BASE_NONE, NULL, 0,
7734 "x411.ContentIdentifier", HFILL }},
7735 { &hf_x411_priority,
7736 { "priority", "x411.priority",
7737 FT_UINT32, BASE_DEC, VALS(x411_Priority_U_vals), 0,
7738 "x411.Priority", HFILL }},
7739 { &hf_x411_per_message_indicators,
7740 { "per-message-indicators", "x411.per_message_indicators",
7741 FT_BYTES, BASE_HEX, NULL, 0,
7742 "x411.PerMessageIndicators", HFILL }},
7743 { &hf_x411_deferred_delivery_time,
7744 { "deferred-delivery-time", "x411.deferred_delivery_time",
7745 FT_STRING, BASE_NONE, NULL, 0,
7746 "x411.DeferredDeliveryTime", HFILL }},
7747 { &hf_x411_per_domain_bilateral_information,
7748 { "per-domain-bilateral-information", "x411.per_domain_bilateral_information",
7749 FT_UINT32, BASE_DEC, NULL, 0,
7750 "x411.SEQUENCE_OF_PerDomainBilateralInformation", HFILL }},
7751 { &hf_x411_per_domain_bilateral_information_item,
7752 { "Item", "x411.per_domain_bilateral_information_item",
7753 FT_NONE, BASE_NONE, NULL, 0,
7754 "x411.PerDomainBilateralInformation", HFILL }},
7755 { &hf_x411_trace_information,
7756 { "trace-information", "x411.trace_information",
7757 FT_UINT32, BASE_DEC, NULL, 0,
7758 "x411.TraceInformation", HFILL }},
7759 { &hf_x411_extensions,
7760 { "extensions", "x411.extensions",
7761 FT_UINT32, BASE_DEC, NULL, 0,
7762 "x411.SET_OF_ExtensionField", HFILL }},
7763 { &hf_x411_extensions_item,
7764 { "Item", "x411.extensions_item",
7765 FT_NONE, BASE_NONE, NULL, 0,
7766 "x411.ExtensionField", HFILL }},
7767 { &hf_x411_per_recipient_message_fields,
7768 { "per-recipient-fields", "x411.per_recipient_fields",
7769 FT_UINT32, BASE_DEC, NULL, 0,
7770 "x411.SEQUENCE_OF_PerRecipientMessageTransferFields", HFILL }},
7771 { &hf_x411_per_recipient_message_fields_item,
7772 { "Item", "x411.per_recipient_fields_item",
7773 FT_NONE, BASE_NONE, NULL, 0,
7774 "x411.PerRecipientMessageTransferFields", HFILL }},
7775 { &hf_x411_recipient_name,
7776 { "recipient-name", "x411.recipient_name",
7777 FT_NONE, BASE_NONE, NULL, 0,
7778 "x411.MTARecipientName", HFILL }},
7779 { &hf_x411_originally_specified_recipient_number,
7780 { "originally-specified-recipient-number", "x411.originally_specified_recipient_number",
7781 FT_INT32, BASE_DEC, NULL, 0,
7782 "x411.OriginallySpecifiedRecipientNumber", HFILL }},
7783 { &hf_x411_per_recipient_indicators,
7784 { "per-recipient-indicators", "x411.per_recipient_indicators",
7785 FT_BYTES, BASE_HEX, NULL, 0,
7786 "x411.PerRecipientIndicators", HFILL }},
7787 { &hf_x411_explicit_conversion,
7788 { "explicit-conversion", "x411.explicit_conversion",
7789 FT_UINT32, BASE_DEC, VALS(x411_ExplicitConversion_vals), 0,
7790 "x411.ExplicitConversion", HFILL }},
7791 { &hf_x411_probe_identifier,
7792 { "probe-identifier", "x411.probe_identifier",
7793 FT_NONE, BASE_NONE, NULL, 0,
7794 "x411.ProbeIdentifier", HFILL }},
7795 { &hf_x411_content_length,
7796 { "content-length", "x411.content_length",
7797 FT_UINT32, BASE_DEC, NULL, 0,
7798 "x411.ContentLength", HFILL }},
7799 { &hf_x411_per_recipient_probe_transfer_fields,
7800 { "per-recipient-fields", "x411.per_recipient_fields",
7801 FT_UINT32, BASE_DEC, NULL, 0,
7802 "x411.SEQUENCE_OF_PerRecipientProbeTransferFields", HFILL }},
7803 { &hf_x411_per_recipient_probe_transfer_fields_item,
7804 { "Item", "x411.per_recipient_fields_item",
7805 FT_NONE, BASE_NONE, NULL, 0,
7806 "x411.PerRecipientProbeTransferFields", HFILL }},
7807 { &hf_x411_report_identifier,
7808 { "report-identifier", "x411.report_identifier",
7809 FT_NONE, BASE_NONE, NULL, 0,
7810 "x411.ReportIdentifier", HFILL }},
7811 { &hf_x411_report_destination_name,
7812 { "report-destination-name", "x411.report_destination_name",
7813 FT_NONE, BASE_NONE, NULL, 0,
7814 "x411.ReportDestinationName", HFILL }},
7815 { &hf_x411_subject_identifier,
7816 { "subject-identifier", "x411.subject_identifier",
7817 FT_NONE, BASE_NONE, NULL, 0,
7818 "x411.SubjectIdentifier", HFILL }},
7819 { &hf_x411_subject_intermediate_trace_information,
7820 { "subject-intermediate-trace-information", "x411.subject_intermediate_trace_information",
7821 FT_UINT32, BASE_DEC, NULL, 0,
7822 "x411.SubjectIntermediateTraceInformation", HFILL }},
7823 { &hf_x411_returned_content,
7824 { "returned-content", "x411.returned_content",
7825 FT_BYTES, BASE_HEX, NULL, 0,
7826 "x411.Content", HFILL }},
7827 { &hf_x411_additional_information,
7828 { "additional-information", "x411.additional_information",
7829 FT_NONE, BASE_NONE, NULL, 0,
7830 "x411.AdditionalInformation", HFILL }},
7831 { &hf_x411_per_recipient_report_fields,
7832 { "per-recipient-fields", "x411.per_recipient_fields",
7833 FT_UINT32, BASE_DEC, NULL, 0,
7834 "x411.SEQUENCE_OF_PerRecipientReportTransferFields", HFILL }},
7835 { &hf_x411_per_recipient_report_fields_item,
7836 { "Item", "x411.per_recipient_fields_item",
7837 FT_NONE, BASE_NONE, NULL, 0,
7838 "x411.PerRecipientReportTransferFields", HFILL }},
7839 { &hf_x411_mta_actual_recipient_name,
7840 { "actual-recipient-name", "x411.actual_recipient_name",
7841 FT_NONE, BASE_NONE, NULL, 0,
7842 "x411.MTAActualRecipientName", HFILL }},
7843 { &hf_x411_last_trace_information,
7844 { "last-trace-information", "x411.last_trace_information",
7845 FT_NONE, BASE_NONE, NULL, 0,
7846 "x411.LastTraceInformation", HFILL }},
7847 { &hf_x411_report_originally_intended_recipient_name,
7848 { "originally-intended-recipient-name", "x411.originally_intended_recipient_name",
7849 FT_NONE, BASE_NONE, NULL, 0,
7850 "x411.MTAOriginallyIntendedRecipientName", HFILL }},
7851 { &hf_x411_supplementary_information,
7852 { "supplementary-information", "x411.supplementary_information",
7853 FT_STRING, BASE_NONE, NULL, 0,
7854 "x411.SupplementaryInformation", HFILL }},
7855 { &hf_x411_country_name,
7856 { "country-name", "x411.country_name",
7857 FT_UINT32, BASE_DEC, VALS(x411_CountryName_U_vals), 0,
7858 "x411.CountryName", HFILL }},
7859 { &hf_x411_bilateral_domain,
7860 { "domain", "x411.domain",
7861 FT_UINT32, BASE_DEC, VALS(x411_T_bilateral_domain_vals), 0,
7862 "x411.T_bilateral_domain", HFILL }},
7863 { &hf_x411_administration_domain_name,
7864 { "administration-domain-name", "x411.administration_domain_name",
7865 FT_UINT32, BASE_DEC, VALS(x411_AdministrationDomainName_U_vals), 0,
7866 "x411.AdministrationDomainName", HFILL }},
7867 { &hf_x411_private_domain,
7868 { "private-domain", "x411.private_domain",
7869 FT_NONE, BASE_NONE, NULL, 0,
7870 "x411.T_private_domain", HFILL }},
7871 { &hf_x411_private_domain_identifier,
7872 { "private-domain-identifier", "x411.private_domain_identifier",
7873 FT_UINT32, BASE_DEC, VALS(x411_PrivateDomainIdentifier_vals), 0,
7874 "x411.PrivateDomainIdentifier", HFILL }},
7875 { &hf_x411_bilateral_information,
7876 { "bilateral-information", "x411.bilateral_information",
7877 FT_NONE, BASE_NONE, NULL, 0,
7878 "x411.T_bilateral_information", HFILL }},
7879 { &hf_x411_arrival_time,
7880 { "arrival-time", "x411.arrival_time",
7881 FT_STRING, BASE_NONE, NULL, 0,
7882 "x411.ArrivalTime", HFILL }},
7883 { &hf_x411_converted_encoded_information_types,
7884 { "converted-encoded-information-types", "x411.converted_encoded_information_types",
7885 FT_NONE, BASE_NONE, NULL, 0,
7886 "x411.ConvertedEncodedInformationTypes", HFILL }},
7887 { &hf_x411_trace_report_type,
7888 { "report-type", "x411.report_type",
7889 FT_UINT32, BASE_DEC, VALS(x411_ReportType_vals), 0,
7890 "x411.ReportType", HFILL }},
7891 { &hf_x411_InternalTraceInformation_item,
7892 { "Item", "x411.InternalTraceInformation_item",
7893 FT_NONE, BASE_NONE, NULL, 0,
7894 "x411.InternalTraceInformationElement", HFILL }},
7895 { &hf_x411_global_domain_identifier,
7896 { "global-domain-identifier", "x411.global_domain_identifier",
7897 FT_NONE, BASE_NONE, NULL, 0,
7898 "x411.GlobalDomainIdentifier", HFILL }},
7899 { &hf_x411_mta_name,
7900 { "mta-name", "x411.mta_name",
7901 FT_STRING, BASE_NONE, NULL, 0,
7902 "x411.MTAName", HFILL }},
7903 { &hf_x411_mta_supplied_information,
7904 { "mta-supplied-information", "x411.mta_supplied_information",
7905 FT_NONE, BASE_NONE, NULL, 0,
7906 "x411.MTASuppliedInformation", HFILL }},
7907 { &hf_x411_routing_action,
7908 { "routing-action", "x411.routing_action",
7909 FT_UINT32, BASE_DEC, VALS(x411_RoutingAction_vals), 0,
7910 "x411.RoutingAction", HFILL }},
7911 { &hf_x411_attempted,
7912 { "attempted", "x411.attempted",
7913 FT_UINT32, BASE_DEC, VALS(x411_T_attempted_vals), 0,
7914 "x411.T_attempted", HFILL }},
7916 { "mta", "x411.mta",
7917 FT_STRING, BASE_NONE, NULL, 0,
7918 "x411.MTAName", HFILL }},
7920 { "domain", "x411.domain",
7921 FT_NONE, BASE_NONE, NULL, 0,
7922 "x411.GlobalDomainIdentifier", HFILL }},
7923 { &hf_x411_deferred_time,
7924 { "deferred-time", "x411.deferred_time",
7925 FT_STRING, BASE_NONE, NULL, 0,
7926 "x411.DeferredTime", HFILL }},
7927 { &hf_x411_other_actions,
7928 { "other-actions", "x411.other_actions",
7929 FT_BYTES, BASE_HEX, NULL, 0,
7930 "x411.OtherActions", HFILL }},
7931 { &hf_x411__untag_item,
7932 { "Item", "x411._untag_item",
7933 FT_NONE, BASE_NONE, NULL, 0,
7934 "x411.TraceInformationElement", HFILL }},
7935 { &hf_x411_domain_supplied_information,
7936 { "domain-supplied-information", "x411.domain_supplied_information",
7937 FT_NONE, BASE_NONE, NULL, 0,
7938 "x411.DomainSuppliedInformation", HFILL }},
7939 { &hf_x411_attempted_domain,
7940 { "attempted-domain", "x411.attempted_domain",
7941 FT_NONE, BASE_NONE, NULL, 0,
7942 "x411.GlobalDomainIdentifier", HFILL }},
7943 { &hf_x411_initiator_name,
7944 { "initiator-name", "x411.initiator_name",
7945 FT_UINT32, BASE_DEC, VALS(x411_ObjectName_vals), 0,
7946 "x411.ObjectName", HFILL }},
7947 { &hf_x411_messages_waiting,
7948 { "messages-waiting", "x411.messages_waiting",
7949 FT_NONE, BASE_NONE, NULL, 0,
7950 "x411.MessagesWaiting", HFILL }},
7951 { &hf_x411_responder_name,
7952 { "responder-name", "x411.responder_name",
7953 FT_UINT32, BASE_DEC, VALS(x411_ObjectName_vals), 0,
7954 "x411.ObjectName", HFILL }},
7955 { &hf_x411_user_agent,
7956 { "user-agent", "x411.user_agent",
7957 FT_NONE, BASE_NONE, NULL, 0,
7958 "x411.ORAddressAndOptionalDirectoryName", HFILL }},
7960 { "mTA", "x411.mTA",
7961 FT_STRING, BASE_NONE, NULL, 0,
7962 "x411.MTAName", HFILL }},
7963 { &hf_x411_message_store,
7964 { "message-store", "x411.message_store",
7965 FT_NONE, BASE_NONE, NULL, 0,
7966 "x411.ORAddressAndOptionalDirectoryName", HFILL }},
7968 { "urgent", "x411.urgent",
7969 FT_NONE, BASE_NONE, NULL, 0,
7970 "x411.DeliveryQueue", HFILL }},
7972 { "normal", "x411.normal",
7973 FT_NONE, BASE_NONE, NULL, 0,
7974 "x411.DeliveryQueue", HFILL }},
7975 { &hf_x411_non_urgent,
7976 { "non-urgent", "x411.non_urgent",
7977 FT_NONE, BASE_NONE, NULL, 0,
7978 "x411.DeliveryQueue", HFILL }},
7979 { &hf_x411_messages,
7980 { "messages", "x411.messages",
7981 FT_INT32, BASE_DEC, NULL, 0,
7982 "x411.INTEGER", HFILL }},
7983 { &hf_x411_delivery_queue_octets,
7984 { "octets", "x411.octets",
7985 FT_INT32, BASE_DEC, NULL, 0,
7986 "x411.INTEGER", HFILL }},
7988 { "simple", "x411.simple",
7989 FT_UINT32, BASE_DEC, VALS(x411_Password_vals), 0,
7990 "x411.Password", HFILL }},
7992 { "strong", "x411.strong",
7993 FT_NONE, BASE_NONE, NULL, 0,
7994 "x411.StrongCredentials", HFILL }},
7995 { &hf_x411_protected,
7996 { "protected", "x411.protected",
7997 FT_NONE, BASE_NONE, NULL, 0,
7998 "x411.ProtectedPassword", HFILL }},
7999 { &hf_x411_ia5_string,
8000 { "ia5-string", "x411.ia5_string",
8001 FT_STRING, BASE_NONE, NULL, 0,
8002 "x411.IA5String", HFILL }},
8003 { &hf_x411_octet_string,
8004 { "octet-string", "x411.octet_string",
8005 FT_BYTES, BASE_HEX, NULL, 0,
8006 "x411.OCTET_STRING", HFILL }},
8007 { &hf_x411_bind_token,
8008 { "bind-token", "x411.bind_token",
8009 FT_NONE, BASE_NONE, NULL, 0,
8010 "x411.Token", HFILL }},
8011 { &hf_x411_certificate,
8012 { "certificate", "x411.certificate",
8013 FT_NONE, BASE_NONE, NULL, 0,
8014 "x509af.Certificates", HFILL }},
8015 { &hf_x411_certificate_selector,
8016 { "certificate-selector", "x411.certificate_selector",
8017 FT_NONE, BASE_NONE, NULL, 0,
8018 "x509ce.CertificateAssertion", HFILL }},
8019 { &hf_x411_signature,
8020 { "signature", "x411.signature",
8021 FT_NONE, BASE_NONE, NULL, 0,
8022 "x411.Signature", HFILL }},
8024 { "time1", "x411.time1",
8025 FT_STRING, BASE_NONE, NULL, 0,
8026 "x411.UTCTime", HFILL }},
8028 { "time2", "x411.time2",
8029 FT_STRING, BASE_NONE, NULL, 0,
8030 "x411.UTCTime", HFILL }},
8032 { "random1", "x411.random1",
8033 FT_BYTES, BASE_HEX, NULL, 0,
8034 "x411.BIT_STRING", HFILL }},
8036 { "random2", "x411.random2",
8037 FT_BYTES, BASE_HEX, NULL, 0,
8038 "x411.BIT_STRING", HFILL }},
8039 { &hf_x411_algorithmIdentifier,
8040 { "algorithmIdentifier", "x411.algorithmIdentifier",
8041 FT_NONE, BASE_NONE, NULL, 0,
8042 "x509af.AlgorithmIdentifier", HFILL }},
8043 { &hf_x411_encrypted,
8044 { "encrypted", "x411.encrypted",
8045 FT_BYTES, BASE_HEX, NULL, 0,
8046 "x411.BIT_STRING", HFILL }},
8047 { &hf_x411_SecurityContext_item,
8048 { "Item", "x411.SecurityContext_item",
8049 FT_NONE, BASE_NONE, NULL, 0,
8050 "x411.SecurityLabel", HFILL }},
8051 { &hf_x411_message_submission_envelope,
8052 { "envelope", "x411.envelope",
8053 FT_NONE, BASE_NONE, NULL, 0,
8054 "x411.MessageSubmissionEnvelope", HFILL }},
8055 { &hf_x411_message_submission_identifier,
8056 { "message-submission-identifier", "x411.message_submission_identifier",
8057 FT_NONE, BASE_NONE, NULL, 0,
8058 "x411.MessageSubmissionIdentifier", HFILL }},
8059 { &hf_x411_message_submission_time,
8060 { "message-submission-time", "x411.message_submission_time",
8061 FT_STRING, BASE_NONE, NULL, 0,
8062 "x411.MessageSubmissionTime", HFILL }},
8063 { &hf_x411_probe_submission_identifier,
8064 { "probe-submission-identifier", "x411.probe_submission_identifier",
8065 FT_NONE, BASE_NONE, NULL, 0,
8066 "x411.ProbeSubmissionIdentifier", HFILL }},
8067 { &hf_x411_probe_submission_time,
8068 { "probe-submission-time", "x411.probe_submission_time",
8069 FT_STRING, BASE_NONE, NULL, 0,
8070 "x411.ProbeSubmissionTime", HFILL }},
8071 { &hf_x411_ImproperlySpecifiedRecipients_item,
8072 { "Item", "x411.ImproperlySpecifiedRecipients_item",
8073 FT_NONE, BASE_NONE, NULL, 0,
8074 "x411.MTSRecipientName", HFILL }},
8075 { &hf_x411_waiting_operations,
8076 { "waiting-operations", "x411.waiting_operations",
8077 FT_BYTES, BASE_HEX, NULL, 0,
8078 "x411.Operations", HFILL }},
8079 { &hf_x411_waiting_messages,
8080 { "waiting-messages", "x411.waiting_messages",
8081 FT_BYTES, BASE_HEX, NULL, 0,
8082 "x411.WaitingMessages", HFILL }},
8083 { &hf_x411_waiting_content_types,
8084 { "waiting-content-types", "x411.waiting_content_types",
8085 FT_UINT32, BASE_DEC, NULL, 0,
8086 "x411.SET_OF_ContentType", HFILL }},
8087 { &hf_x411_waiting_content_types_item,
8088 { "Item", "x411.waiting_content_types_item",
8089 FT_UINT32, BASE_DEC, VALS(x411_ContentType_vals), 0,
8090 "x411.ContentType", HFILL }},
8091 { &hf_x411_waiting_encoded_information_types,
8092 { "waiting-encoded-information-types", "x411.waiting_encoded_information_types",
8093 FT_NONE, BASE_NONE, NULL, 0,
8094 "x411.EncodedInformationTypes", HFILL }},
8095 { &hf_x411_message_delivery_identifier,
8096 { "message-delivery-identifier", "x411.message_delivery_identifier",
8097 FT_NONE, BASE_NONE, NULL, 0,
8098 "x411.MessageDeliveryIdentifier", HFILL }},
8099 { &hf_x411_message_delivery_time,
8100 { "message-delivery-time", "x411.message_delivery_time",
8101 FT_STRING, BASE_NONE, NULL, 0,
8102 "x411.MessageDeliveryTime", HFILL }},
8103 { &hf_x411_other_fields,
8104 { "other-fields", "x411.other_fields",
8105 FT_NONE, BASE_NONE, NULL, 0,
8106 "x411.OtherMessageDeliveryFields", HFILL }},
8107 { &hf_x411_recipient_certificate,
8108 { "recipient-certificate", "x411.recipient_certificate",
8109 FT_NONE, BASE_NONE, NULL, 0,
8110 "x411.RecipientCertificate", HFILL }},
8111 { &hf_x411_proof_of_delivery,
8112 { "proof-of-delivery", "x411.proof_of_delivery",
8113 FT_NONE, BASE_NONE, NULL, 0,
8114 "x411.ProofOfDelivery", HFILL }},
8115 { &hf_x411_subject_submission_identifier,
8116 { "subject-submission-identifier", "x411.subject_submission_identifier",
8117 FT_NONE, BASE_NONE, NULL, 0,
8118 "x411.SubjectSubmissionIdentifier", HFILL }},
8119 { &hf_x411_per_recipient_report_delivery_fields,
8120 { "per-recipient-fields", "x411.per_recipient_fields",
8121 FT_UINT32, BASE_DEC, NULL, 0,
8122 "x411.SEQUENCE_OF_PerRecipientReportDeliveryFields", HFILL }},
8123 { &hf_x411_per_recipient_report_delivery_fields_item,
8124 { "Item", "x411.per_recipient_fields_item",
8125 FT_NONE, BASE_NONE, NULL, 0,
8126 "x411.PerRecipientReportDeliveryFields", HFILL }},
8127 { &hf_x411_empty_result,
8128 { "empty-result", "x411.empty_result",
8129 FT_NONE, BASE_NONE, NULL, 0,
8130 "x411.NULL", HFILL }},
8131 { &hf_x411_restrict,
8132 { "restrict", "x411.restrict",
8133 FT_BOOLEAN, 8, NULL, 0,
8134 "x411.BOOLEAN", HFILL }},
8135 { &hf_x411_permissible_operations,
8136 { "permissible-operations", "x411.permissible_operations",
8137 FT_BYTES, BASE_HEX, NULL, 0,
8138 "x411.Operations", HFILL }},
8139 { &hf_x411_permissible_maximum_content_length,
8140 { "permissible-maximum-content-length", "x411.permissible_maximum_content_length",
8141 FT_UINT32, BASE_DEC, NULL, 0,
8142 "x411.ContentLength", HFILL }},
8143 { &hf_x411_permissible_lowest_priority,
8144 { "permissible-lowest-priority", "x411.permissible_lowest_priority",
8145 FT_UINT32, BASE_DEC, VALS(x411_Priority_U_vals), 0,
8146 "x411.Priority", HFILL }},
8147 { &hf_x411_permissible_content_types,
8148 { "permissible-content-types", "x411.permissible_content_types",
8149 FT_UINT32, BASE_DEC, NULL, 0,
8150 "x411.ContentTypes", HFILL }},
8151 { &hf_x411_permissible_encoded_information_types,
8152 { "permissible-encoded-information-types", "x411.permissible_encoded_information_types",
8153 FT_NONE, BASE_NONE, NULL, 0,
8154 "x411.PermissibleEncodedInformationTypes", HFILL }},
8155 { &hf_x411_permissible_security_context,
8156 { "permissible-security-context", "x411.permissible_security_context",
8157 FT_UINT32, BASE_DEC, NULL, 0,
8158 "x411.SecurityContext", HFILL }},
8159 { &hf_x411_refused_argument,
8160 { "refused-argument", "x411.refused_argument",
8161 FT_UINT32, BASE_DEC, VALS(x411_T_refused_argument_vals), 0,
8162 "x411.T_refused_argument", HFILL }},
8163 { &hf_x411_built_in_argument,
8164 { "built-in-argument", "x411.built_in_argument",
8165 FT_UINT32, BASE_DEC, VALS(x411_RefusedArgument_vals), 0,
8166 "x411.RefusedArgument", HFILL }},
8167 { &hf_x411_refused_extension,
8168 { "refused-extension", "x411.refused_extension",
8169 FT_NONE, BASE_NONE, NULL, 0,
8170 "x411.T_refused_extension", HFILL }},
8171 { &hf_x411_refusal_reason,
8172 { "refusal-reason", "x411.refusal_reason",
8173 FT_UINT32, BASE_DEC, VALS(x411_RefusalReason_vals), 0,
8174 "x411.RefusalReason", HFILL }},
8175 { &hf_x411_user_name,
8176 { "user-name", "x411.user_name",
8177 FT_NONE, BASE_NONE, NULL, 0,
8178 "x411.UserName", HFILL }},
8179 { &hf_x411_user_address,
8180 { "user-address", "x411.user_address",
8181 FT_UINT32, BASE_DEC, VALS(x411_UserAddress_vals), 0,
8182 "x411.UserAddress", HFILL }},
8183 { &hf_x411_deliverable_class,
8184 { "deliverable-class", "x411.deliverable_class",
8185 FT_UINT32, BASE_DEC, NULL, 0,
8186 "x411.SET_OF_DeliverableClass", HFILL }},
8187 { &hf_x411_deliverable_class_item,
8188 { "Item", "x411.deliverable_class_item",
8189 FT_NONE, BASE_NONE, NULL, 0,
8190 "x411.DeliverableClass", HFILL }},
8191 { &hf_x411_default_delivery_controls,
8192 { "default-delivery-controls", "x411.default_delivery_controls",
8193 FT_NONE, BASE_NONE, NULL, 0,
8194 "x411.DefaultDeliveryControls", HFILL }},
8195 { &hf_x411_redirections,
8196 { "redirections", "x411.redirections",
8197 FT_UINT32, BASE_DEC, NULL, 0,
8198 "x411.Redirections", HFILL }},
8199 { &hf_x411_restricted_delivery,
8200 { "restricted-delivery", "x411.restricted_delivery",
8201 FT_UINT32, BASE_DEC, NULL, 0,
8202 "x411.RestrictedDelivery", HFILL }},
8203 { &hf_x411_retrieve_registrations,
8204 { "retrieve-registrations", "x411.retrieve_registrations",
8205 FT_NONE, BASE_NONE, NULL, 0,
8206 "x411.RegistrationTypes", HFILL }},
8207 { &hf_x411_non_empty_result,
8208 { "non-empty-result", "x411.non_empty_result",
8209 FT_NONE, BASE_NONE, NULL, 0,
8210 "x411.T_non_empty_result", HFILL }},
8211 { &hf_x411_registered_information,
8212 { "registered-information", "x411.registered_information",
8213 FT_NONE, BASE_NONE, NULL, 0,
8214 "x411.RegisterArgument", HFILL }},
8215 { &hf_x411_old_credentials,
8216 { "old-credentials", "x411.old_credentials",
8217 FT_UINT32, BASE_DEC, VALS(x411_Credentials_vals), 0,
8218 "x411.Credentials", HFILL }},
8219 { &hf_x411_new_credentials,
8220 { "new-credentials", "x411.new_credentials",
8221 FT_UINT32, BASE_DEC, VALS(x411_Credentials_vals), 0,
8222 "x411.Credentials", HFILL }},
8224 { "x121", "x411.x121",
8225 FT_NONE, BASE_NONE, NULL, 0,
8226 "x411.T_x121", HFILL }},
8227 { &hf_x411_x121_address,
8228 { "x121-address", "x411.x121_address",
8229 FT_STRING, BASE_NONE, NULL, 0,
8230 "x411.AddrNumericString", HFILL }},
8232 { "tsap-id", "x411.tsap_id",
8233 FT_STRING, BASE_NONE, NULL, 0,
8234 "x411.PrintableString", HFILL }},
8235 { &hf_x411_presentation,
8236 { "presentation", "x411.presentation",
8237 FT_NONE, BASE_NONE, NULL, 0,
8238 "x411.PSAPAddress", HFILL }},
8239 { &hf_x411_Redirections_item,
8240 { "Item", "x411.Redirections_item",
8241 FT_NONE, BASE_NONE, NULL, 0,
8242 "x411.RecipientRedirection", HFILL }},
8243 { &hf_x411_redirection_classes,
8244 { "redirection-classes", "x411.redirection_classes",
8245 FT_UINT32, BASE_DEC, NULL, 0,
8246 "x411.SET_OF_RedirectionClass", HFILL }},
8247 { &hf_x411_redirection_classes_item,
8248 { "Item", "x411.redirection_classes_item",
8249 FT_NONE, BASE_NONE, NULL, 0,
8250 "x411.RedirectionClass", HFILL }},
8251 { &hf_x411_recipient_assigned_alternate_recipient,
8252 { "recipient-assigned-alternate-recipient", "x411.recipient_assigned_alternate_recipient",
8253 FT_NONE, BASE_NONE, NULL, 0,
8254 "x411.RecipientAssignedAlternateRecipient", HFILL }},
8255 { &hf_x411_content_types,
8256 { "content-types", "x411.content_types",
8257 FT_UINT32, BASE_DEC, NULL, 0,
8258 "x411.ContentTypes", HFILL }},
8259 { &hf_x411_maximum_content_length,
8260 { "maximum-content-length", "x411.maximum_content_length",
8261 FT_UINT32, BASE_DEC, NULL, 0,
8262 "x411.ContentLength", HFILL }},
8263 { &hf_x411_encoded_information_types_constraints,
8264 { "encoded-information-types-constraints", "x411.encoded_information_types_constraints",
8265 FT_NONE, BASE_NONE, NULL, 0,
8266 "x411.EncodedInformationTypesConstraints", HFILL }},
8267 { &hf_x411_security_labels,
8268 { "security-labels", "x411.security_labels",
8269 FT_UINT32, BASE_DEC, NULL, 0,
8270 "x411.SecurityContext", HFILL }},
8271 { &hf_x411_class_priority,
8272 { "priority", "x411.priority",
8273 FT_UINT32, BASE_DEC, NULL, 0,
8274 "x411.SET_OF_Priority", HFILL }},
8275 { &hf_x411_class_priority_item,
8276 { "Item", "x411.priority_item",
8277 FT_UINT32, BASE_DEC, VALS(x411_Priority_U_vals), 0,
8278 "x411.Priority", HFILL }},
8280 { "objects", "x411.objects",
8281 FT_UINT32, BASE_DEC, VALS(x411_T_objects_vals), 0,
8282 "x411.T_objects", HFILL }},
8283 { &hf_x411_applies_only_to,
8284 { "applies-only-to", "x411.applies_only_to",
8285 FT_UINT32, BASE_DEC, NULL, 0,
8286 "x411.SEQUENCE_OF_Restriction", HFILL }},
8287 { &hf_x411_applies_only_to_item,
8288 { "Item", "x411.applies_only_to_item",
8289 FT_NONE, BASE_NONE, NULL, 0,
8290 "x411.Restriction", HFILL }},
8291 { &hf_x411_unacceptable_eits,
8292 { "unacceptable-eits", "x411.unacceptable_eits",
8293 FT_UINT32, BASE_DEC, NULL, 0,
8294 "x411.ExtendedEncodedInformationTypes", HFILL }},
8295 { &hf_x411_acceptable_eits,
8296 { "acceptable-eits", "x411.acceptable_eits",
8297 FT_UINT32, BASE_DEC, NULL, 0,
8298 "x411.ExtendedEncodedInformationTypes", HFILL }},
8299 { &hf_x411_exclusively_acceptable_eits,
8300 { "exclusively-acceptable-eits", "x411.exclusively_acceptable_eits",
8301 FT_UINT32, BASE_DEC, NULL, 0,
8302 "x411.ExtendedEncodedInformationTypes", HFILL }},
8303 { &hf_x411_RestrictedDelivery_item,
8304 { "Item", "x411.RestrictedDelivery_item",
8305 FT_NONE, BASE_NONE, NULL, 0,
8306 "x411.Restriction", HFILL }},
8307 { &hf_x411_permitted,
8308 { "permitted", "x411.permitted",
8309 FT_BOOLEAN, 8, NULL, 0,
8310 "x411.BOOLEAN", HFILL }},
8311 { &hf_x411_source_type,
8312 { "source-type", "x411.source_type",
8313 FT_BYTES, BASE_HEX, NULL, 0,
8314 "x411.T_source_type", HFILL }},
8315 { &hf_x411_source_name,
8316 { "source-name", "x411.source_name",
8317 FT_UINT32, BASE_DEC, VALS(x411_ExactOrPattern_vals), 0,
8318 "x411.ExactOrPattern", HFILL }},
8319 { &hf_x411_exact_match,
8320 { "exact-match", "x411.exact_match",
8321 FT_NONE, BASE_NONE, NULL, 0,
8322 "x411.ORName", HFILL }},
8323 { &hf_x411_pattern_match,
8324 { "pattern-match", "x411.pattern_match",
8325 FT_NONE, BASE_NONE, NULL, 0,
8326 "x411.ORName", HFILL }},
8327 { &hf_x411_standard_parameters,
8328 { "standard-parameters", "x411.standard_parameters",
8329 FT_BYTES, BASE_HEX, NULL, 0,
8330 "x411.T_standard_parameters", HFILL }},
8331 { &hf_x411_type_extensions,
8332 { "extensions", "x411.extensions",
8333 FT_UINT32, BASE_DEC, NULL, 0,
8334 "x411.T_type_extensions", HFILL }},
8335 { &hf_x411_type_extensions_item,
8336 { "Item", "x411.extensions_item",
8337 FT_NONE, BASE_NONE, NULL, 0,
8338 "x411.T_type_extensions_item", HFILL }},
8339 { &hf_x411_mts_originator_name,
8340 { "originator-name", "x411.originator_name",
8341 FT_NONE, BASE_NONE, NULL, 0,
8342 "x411.MTSOriginatorName", HFILL }},
8343 { &hf_x411_per_recipient_message_submission_fields,
8344 { "per-recipient-fields", "x411.per_recipient_fields",
8345 FT_UINT32, BASE_DEC, NULL, 0,
8346 "x411.SEQUENCE_OF_PerRecipientMessageSubmissionFields", HFILL }},
8347 { &hf_x411_per_recipient_message_submission_fields_item,
8348 { "Item", "x411.per_recipient_fields_item",
8349 FT_NONE, BASE_NONE, NULL, 0,
8350 "x411.PerRecipientMessageSubmissionFields", HFILL }},
8351 { &hf_x411_submission_recipient_name,
8352 { "recipient-name", "x411.recipient_name",
8353 FT_NONE, BASE_NONE, NULL, 0,
8354 "x411.MTSRecipientName", HFILL }},
8355 { &hf_x411_originator_report_request,
8356 { "originator-report-request", "x411.originator_report_request",
8357 FT_BYTES, BASE_HEX, NULL, 0,
8358 "x411.OriginatorReportRequest", HFILL }},
8359 { &hf_x411_per_recipient_probe_submission_fields,
8360 { "per-recipient-fields", "x411.per_recipient_fields",
8361 FT_UINT32, BASE_DEC, NULL, 0,
8362 "x411.SEQUENCE_OF_PerRecipientProbeSubmissionFields", HFILL }},
8363 { &hf_x411_per_recipient_probe_submission_fields_item,
8364 { "Item", "x411.per_recipient_fields_item",
8365 FT_NONE, BASE_NONE, NULL, 0,
8366 "x411.PerRecipientProbeSubmissionFields", HFILL }},
8367 { &hf_x411_probe_recipient_name,
8368 { "recipient-name", "x411.recipient_name",
8369 FT_NONE, BASE_NONE, NULL, 0,
8370 "x411.MTSRecipientName", HFILL }},
8371 { &hf_x411_delivered_content_type,
8372 { "content-type", "x411.content_type",
8373 FT_UINT32, BASE_DEC, VALS(x411_DeliveredContentType_vals), 0,
8374 "x411.DeliveredContentType", HFILL }},
8375 { &hf_x411_originator_name,
8376 { "originator-name", "x411.originator_name",
8377 FT_NONE, BASE_NONE, NULL, 0,
8378 "x411.DeliveredOriginatorName", HFILL }},
8379 { &hf_x411_delivery_flags,
8380 { "delivery-flags", "x411.delivery_flags",
8381 FT_BYTES, BASE_HEX, NULL, 0,
8382 "x411.DeliveryFlags", HFILL }},
8383 { &hf_x411_other_recipient_names,
8384 { "other-recipient-names", "x411.other_recipient_names",
8385 FT_UINT32, BASE_DEC, NULL, 0,
8386 "x411.OtherRecipientNames", HFILL }},
8387 { &hf_x411_this_recipient_name,
8388 { "this-recipient-name", "x411.this_recipient_name",
8389 FT_NONE, BASE_NONE, NULL, 0,
8390 "x411.ThisRecipientName", HFILL }},
8391 { &hf_x411_originally_intended_recipient_name,
8392 { "originally-intended-recipient-name", "x411.originally_intended_recipient_name",
8393 FT_NONE, BASE_NONE, NULL, 0,
8394 "x411.MTSOriginallyIntendedRecipientName", HFILL }},
8395 { &hf_x411_actual_recipient_name,
8396 { "actual-recipient-name", "x411.actual_recipient_name",
8397 FT_NONE, BASE_NONE, NULL, 0,
8398 "x411.MTSActualRecipientName", HFILL }},
8399 { &hf_x411_delivery_report_type,
8400 { "report-type", "x411.report_type",
8401 FT_UINT32, BASE_DEC, VALS(x411_ReportType_vals), 0,
8402 "x411.ReportType", HFILL }},
8403 { &hf_x411_delivery,
8404 { "delivery", "x411.delivery",
8405 FT_NONE, BASE_NONE, NULL, 0,
8406 "x411.DeliveryReport", HFILL }},
8407 { &hf_x411_non_delivery,
8408 { "non-delivery", "x411.non_delivery",
8409 FT_NONE, BASE_NONE, NULL, 0,
8410 "x411.NonDeliveryReport", HFILL }},
8411 { &hf_x411_type_of_MTS_user,
8412 { "type-of-MTS-user", "x411.type_of_MTS_user",
8413 FT_UINT32, BASE_DEC, VALS(x411_TypeOfMTSUser_vals), 0,
8414 "x411.TypeOfMTSUser", HFILL }},
8415 { &hf_x411_non_delivery_reason_code,
8416 { "non-delivery-reason-code", "x411.non_delivery_reason_code",
8417 FT_UINT32, BASE_DEC, VALS(x411_NonDeliveryReasonCode_vals), 0,
8418 "x411.NonDeliveryReasonCode", HFILL }},
8419 { &hf_x411_non_delivery_diagnostic_code,
8420 { "non-delivery-diagnostic-code", "x411.non_delivery_diagnostic_code",
8421 FT_UINT32, BASE_DEC, VALS(x411_NonDeliveryDiagnosticCode_vals), 0,
8422 "x411.NonDeliveryDiagnosticCode", HFILL }},
8423 { &hf_x411_ContentTypes_item,
8424 { "Item", "x411.ContentTypes_item",
8425 FT_UINT32, BASE_DEC, VALS(x411_ContentType_vals), 0,
8426 "x411.ContentType", HFILL }},
8427 { &hf_x411_built_in,
8428 { "built-in", "x411.built_in",
8429 FT_INT32, BASE_DEC, VALS(x411_BuiltInContentType_U_vals), 0,
8430 "x411.BuiltInContentType", HFILL }},
8431 { &hf_x411_extended,
8432 { "extended", "x411.extended",
8433 FT_OID, BASE_NONE, NULL, 0,
8434 "x411.ExtendedContentType", HFILL }},
8435 { &hf_x411_OtherRecipientNames_item,
8436 { "Item", "x411.OtherRecipientNames_item",
8437 FT_NONE, BASE_NONE, NULL, 0,
8438 "x411.OtherRecipientName", HFILL }},
8439 { &hf_x411_standard_extension,
8440 { "standard-extension", "x411.standard_extension",
8441 FT_INT32, BASE_DEC, VALS(x411_StandardExtension_vals), 0,
8442 "x411.StandardExtension", HFILL }},
8443 { &hf_x411_private_extension,
8444 { "private-extension", "x411.private_extension",
8445 FT_OID, BASE_NONE, NULL, 0,
8446 "x411.T_private_extension", HFILL }},
8447 { &hf_x411_extension_type,
8448 { "type", "x411.type",
8449 FT_UINT32, BASE_DEC, VALS(x411_ExtensionType_vals), 0,
8450 "x411.ExtensionType", HFILL }},
8451 { &hf_x411_criticality,
8452 { "criticality", "x411.criticality",
8453 FT_BYTES, BASE_HEX, NULL, 0,
8454 "x411.Criticality", HFILL }},
8455 { &hf_x411_extension_value,
8456 { "value", "x411.value",
8457 FT_NONE, BASE_NONE, NULL, 0,
8458 "x411.ExtensionValue", HFILL }},
8459 { &hf_x411_RequestedDeliveryMethod_item,
8460 { "Item", "x411.RequestedDeliveryMethod_item",
8461 FT_UINT32, BASE_DEC, VALS(x411_RequestedDeliveryMethod_item_vals), 0,
8462 "x411.RequestedDeliveryMethod_item", HFILL }},
8464 { "ia5text", "x411.ia5text",
8465 FT_STRING, BASE_NONE, NULL, 0,
8466 "x411.IA5String", HFILL }},
8468 { "octets", "x411.octets",
8469 FT_BYTES, BASE_HEX, NULL, 0,
8470 "x411.OCTET_STRING", HFILL }},
8471 { &hf_x411_RedirectionHistory_item,
8472 { "Item", "x411.RedirectionHistory_item",
8473 FT_NONE, BASE_NONE, NULL, 0,
8474 "x411.Redirection", HFILL }},
8475 { &hf_x411_intended_recipient_name,
8476 { "intended-recipient-name", "x411.intended_recipient_name",
8477 FT_NONE, BASE_NONE, NULL, 0,
8478 "x411.IntendedRecipientName", HFILL }},
8479 { &hf_x411_redirection_reason,
8480 { "redirection-reason", "x411.redirection_reason",
8481 FT_UINT32, BASE_DEC, VALS(x411_RedirectionReason_vals), 0,
8482 "x411.RedirectionReason", HFILL }},
8483 { &hf_x411_intended_recipient,
8484 { "intended-recipient", "x411.intended_recipient",
8485 FT_NONE, BASE_NONE, NULL, 0,
8486 "x411.ORAddressAndOptionalDirectoryName", HFILL }},
8487 { &hf_x411_redirection_time,
8488 { "redirection-time", "x411.redirection_time",
8489 FT_STRING, BASE_NONE, NULL, 0,
8490 "x411.Time", HFILL }},
8491 { &hf_x411_DLExpansionHistory_item,
8492 { "Item", "x411.DLExpansionHistory_item",
8493 FT_NONE, BASE_NONE, NULL, 0,
8494 "x411.DLExpansion", HFILL }},
8497 FT_NONE, BASE_NONE, NULL, 0,
8498 "x411.ORAddressAndOptionalDirectoryName", HFILL }},
8499 { &hf_x411_dl_expansion_time,
8500 { "dl-expansion-time", "x411.dl_expansion_time",
8501 FT_STRING, BASE_NONE, NULL, 0,
8502 "x411.Time", HFILL }},
8503 { &hf_x411_OriginatorAndDLExpansionHistory_item,
8504 { "Item", "x411.OriginatorAndDLExpansionHistory_item",
8505 FT_NONE, BASE_NONE, NULL, 0,
8506 "x411.OriginatorAndDLExpansion", HFILL }},
8507 { &hf_x411_originator_or_dl_name,
8508 { "originator-or-dl-name", "x411.originator_or_dl_name",
8509 FT_NONE, BASE_NONE, NULL, 0,
8510 "x411.ORAddressAndOptionalDirectoryName", HFILL }},
8511 { &hf_x411_origination_or_expansion_time,
8512 { "origination-or-expansion-time", "x411.origination_or_expansion_time",
8513 FT_STRING, BASE_NONE, NULL, 0,
8514 "x411.Time", HFILL }},
8515 { &hf_x411_report_type,
8516 { "report-type", "x411.report_type",
8517 FT_UINT32, BASE_DEC, VALS(x411_T_report_type_vals), 0,
8518 "x411.T_report_type", HFILL }},
8519 { &hf_x411_report_type_delivery,
8520 { "delivery", "x411.delivery",
8521 FT_NONE, BASE_NONE, NULL, 0,
8522 "x411.PerRecipientDeliveryReportFields", HFILL }},
8523 { &hf_x411_non_delivery_report,
8524 { "non-delivery", "x411.non_delivery",
8525 FT_NONE, BASE_NONE, NULL, 0,
8526 "x411.PerRecipientNonDeliveryReportFields", HFILL }},
8527 { &hf_x411_mta_directory_name,
8528 { "mta-directory-name", "x411.mta_directory_name",
8529 FT_UINT32, BASE_DEC, VALS(x509if_Name_vals), 0,
8530 "x509if.Name", HFILL }},
8531 { &hf_x411_ExtendedCertificates_item,
8532 { "Item", "x411.ExtendedCertificates_item",
8533 FT_UINT32, BASE_DEC, VALS(x411_ExtendedCertificate_vals), 0,
8534 "x411.ExtendedCertificate", HFILL }},
8535 { &hf_x411_directory_entry,
8536 { "directory-entry", "x411.directory_entry",
8537 FT_UINT32, BASE_DEC, VALS(x509if_Name_vals), 0,
8538 "x509if.Name", HFILL }},
8539 { &hf_x411_DLExemptedRecipients_item,
8540 { "Item", "x411.DLExemptedRecipients_item",
8541 FT_NONE, BASE_NONE, NULL, 0,
8542 "x411.ORAddressAndOrDirectoryName", HFILL }},
8543 { &hf_x411_encryption_recipient,
8544 { "encryption-recipient", "x411.encryption_recipient",
8545 FT_NONE, BASE_NONE, NULL, 0,
8546 "x509ce.CertificateAssertion", HFILL }},
8547 { &hf_x411_encryption_originator,
8548 { "encryption-originator", "x411.encryption_originator",
8549 FT_NONE, BASE_NONE, NULL, 0,
8550 "x509ce.CertificateAssertion", HFILL }},
8551 { &hf_x411_selectors_content_integrity_check,
8552 { "content-integrity-check", "x411.content_integrity_check",
8553 FT_NONE, BASE_NONE, NULL, 0,
8554 "x509ce.CertificateAssertion", HFILL }},
8555 { &hf_x411_token_signature,
8556 { "token-signature", "x411.token_signature",
8557 FT_NONE, BASE_NONE, NULL, 0,
8558 "x509ce.CertificateAssertion", HFILL }},
8559 { &hf_x411_message_origin_authentication,
8560 { "message-origin-authentication", "x411.message_origin_authentication",
8561 FT_NONE, BASE_NONE, NULL, 0,
8562 "x509ce.CertificateAssertion", HFILL }},
8563 { &hf_x411_local_identifier,
8564 { "local-identifier", "x411.local_identifier",
8565 FT_STRING, BASE_NONE, NULL, 0,
8566 "x411.LocalIdentifier", HFILL }},
8567 { &hf_x411_numeric_private_domain_identifier,
8568 { "numeric", "x411.numeric",
8569 FT_STRING, BASE_NONE, NULL, 0,
8570 "x411.AddrNumericString", HFILL }},
8571 { &hf_x411_printable_private_domain_identifier,
8572 { "printable", "x411.printable",
8573 FT_STRING, BASE_NONE, NULL, 0,
8574 "x411.AddrPrintableString", HFILL }},
8575 { &hf_x411_built_in_standard_attributes,
8576 { "built-in-standard-attributes", "x411.built_in_standard_attributes",
8577 FT_NONE, BASE_NONE, NULL, 0,
8578 "x411.BuiltInStandardAttributes", HFILL }},
8579 { &hf_x411_built_in_domain_defined_attributes,
8580 { "built-in-domain-defined-attributes", "x411.built_in_domain_defined_attributes",
8581 FT_UINT32, BASE_DEC, NULL, 0,
8582 "x411.BuiltInDomainDefinedAttributes", HFILL }},
8583 { &hf_x411_extension_attributes,
8584 { "extension-attributes", "x411.extension_attributes",
8585 FT_UINT32, BASE_DEC, NULL, 0,
8586 "x411.ExtensionAttributes", HFILL }},
8587 { &hf_x411_directory_name,
8588 { "directory-name", "x411.directory_name",
8589 FT_UINT32, BASE_DEC, VALS(x509if_Name_vals), 0,
8590 "x509if.Name", HFILL }},
8591 { &hf_x411_network_address,
8592 { "network-address", "x411.network_address",
8593 FT_STRING, BASE_NONE, NULL, 0,
8594 "x411.NetworkAddress", HFILL }},
8595 { &hf_x411_terminal_identifier,
8596 { "terminal-identifier", "x411.terminal_identifier",
8597 FT_STRING, BASE_NONE, NULL, 0,
8598 "x411.TerminalIdentifier", HFILL }},
8599 { &hf_x411_private_domain_name,
8600 { "private-domain-name", "x411.private_domain_name",
8601 FT_UINT32, BASE_DEC, VALS(x411_PrivateDomainName_vals), 0,
8602 "x411.PrivateDomainName", HFILL }},
8603 { &hf_x411_organization_name,
8604 { "organization-name", "x411.organization_name",
8605 FT_STRING, BASE_NONE, NULL, 0,
8606 "x411.OrganizationName", HFILL }},
8607 { &hf_x411_numeric_user_identifier,
8608 { "numeric-user-identifier", "x411.numeric_user_identifier",
8609 FT_STRING, BASE_NONE, NULL, 0,
8610 "x411.NumericUserIdentifier", HFILL }},
8611 { &hf_x411_personal_name,
8612 { "personal-name", "x411.personal_name",
8613 FT_NONE, BASE_NONE, NULL, 0,
8614 "x411.PersonalName", HFILL }},
8615 { &hf_x411_organizational_unit_names,
8616 { "organizational-unit-names", "x411.organizational_unit_names",
8617 FT_UINT32, BASE_DEC, NULL, 0,
8618 "x411.OrganizationalUnitNames", HFILL }},
8619 { &hf_x411_x121_dcc_code,
8620 { "x121-dcc-code", "x411.x121_dcc_code",
8621 FT_STRING, BASE_NONE, NULL, 0,
8622 "x411.AddrNumericString", HFILL }},
8623 { &hf_x411_iso_3166_alpha2_code,
8624 { "iso-3166-alpha2-code", "x411.iso_3166_alpha2_code",
8625 FT_STRING, BASE_NONE, NULL, 0,
8626 "x411.AddrPrintableString", HFILL }},
8628 { "numeric", "x411.numeric",
8629 FT_STRING, BASE_NONE, NULL, 0,
8630 "x411.AddrNumericString", HFILL }},
8631 { &hf_x411_printable,
8632 { "printable", "x411.printable",
8633 FT_STRING, BASE_NONE, NULL, 0,
8634 "x411.AddrPrintableString", HFILL }},
8635 { &hf_x411_numeric_private_domain_name,
8636 { "numeric", "x411.numeric",
8637 FT_STRING, BASE_NONE, NULL, 0,
8638 "x411.AddrNumericString", HFILL }},
8639 { &hf_x411_printable_private_domain_name,
8640 { "printable", "x411.printable",
8641 FT_STRING, BASE_NONE, NULL, 0,
8642 "x411.AddrPrintableString", HFILL }},
8643 { &hf_x411_printable_surname,
8644 { "surname", "x411.surname",
8645 FT_STRING, BASE_NONE, NULL, 0,
8646 "x411.T_printable_surname", HFILL }},
8647 { &hf_x411_printable_given_name,
8648 { "given-name", "x411.given_name",
8649 FT_STRING, BASE_NONE, NULL, 0,
8650 "x411.T_printable_given_name", HFILL }},
8651 { &hf_x411_printable_initials,
8652 { "initials", "x411.initials",
8653 FT_STRING, BASE_NONE, NULL, 0,
8654 "x411.T_printable_initials", HFILL }},
8655 { &hf_x411_printable_generation_qualifier,
8656 { "generation-qualifier", "x411.generation_qualifier",
8657 FT_STRING, BASE_NONE, NULL, 0,
8658 "x411.T_printable_generation_qualifier", HFILL }},
8659 { &hf_x411_OrganizationalUnitNames_item,
8660 { "Item", "x411.OrganizationalUnitNames_item",
8661 FT_STRING, BASE_NONE, NULL, 0,
8662 "x411.OrganizationalUnitName", HFILL }},
8663 { &hf_x411_BuiltInDomainDefinedAttributes_item,
8664 { "Item", "x411.BuiltInDomainDefinedAttributes_item",
8665 FT_NONE, BASE_NONE, NULL, 0,
8666 "x411.BuiltInDomainDefinedAttribute", HFILL }},
8667 { &hf_x411_printable_type,
8668 { "type", "x411.type",
8669 FT_STRING, BASE_NONE, NULL, 0,
8670 "x411.T_printable_type", HFILL }},
8671 { &hf_x411_printable_value,
8672 { "value", "x411.value",
8673 FT_STRING, BASE_NONE, NULL, 0,
8674 "x411.T_printable_value", HFILL }},
8675 { &hf_x411_ExtensionAttributes_item,
8676 { "Item", "x411.ExtensionAttributes_item",
8677 FT_NONE, BASE_NONE, NULL, 0,
8678 "x411.ExtensionAttribute", HFILL }},
8679 { &hf_x411_extension_attribute_type,
8680 { "extension-attribute-type", "x411.extension_attribute_type",
8681 FT_INT32, BASE_DEC, VALS(x411_ExtensionAttributeType_vals), 0,
8682 "x411.ExtensionAttributeType", HFILL }},
8683 { &hf_x411_extension_attribute_value,
8684 { "extension-attribute-value", "x411.extension_attribute_value",
8685 FT_NONE, BASE_NONE, NULL, 0,
8686 "x411.T_extension_attribute_value", HFILL }},
8687 { &hf_x411_teletex_surname,
8688 { "surname", "x411.surname",
8689 FT_STRING, BASE_NONE, NULL, 0,
8690 "x411.AddrTeletexString", HFILL }},
8691 { &hf_x411_teletex_given_name,
8692 { "given-name", "x411.given_name",
8693 FT_STRING, BASE_NONE, NULL, 0,
8694 "x411.AddrTeletexString", HFILL }},
8695 { &hf_x411_teletex_initials,
8696 { "initials", "x411.initials",
8697 FT_STRING, BASE_NONE, NULL, 0,
8698 "x411.AddrTeletexString", HFILL }},
8699 { &hf_x411_teletex_generation_qualifier,
8700 { "generation-qualifier", "x411.generation_qualifier",
8701 FT_STRING, BASE_NONE, NULL, 0,
8702 "x411.AddrTeletexString", HFILL }},
8703 { &hf_x411_universal_surname,
8704 { "surname", "x411.surname",
8705 FT_NONE, BASE_NONE, NULL, 0,
8706 "x411.UniversalOrBMPString", HFILL }},
8707 { &hf_x411_universal_given_name,
8708 { "given-name", "x411.given_name",
8709 FT_NONE, BASE_NONE, NULL, 0,
8710 "x411.UniversalOrBMPString", HFILL }},
8711 { &hf_x411_universal_initials,
8712 { "initials", "x411.initials",
8713 FT_NONE, BASE_NONE, NULL, 0,
8714 "x411.UniversalOrBMPString", HFILL }},
8715 { &hf_x411_universal_generation_qualifier,
8716 { "generation-qualifier", "x411.generation_qualifier",
8717 FT_NONE, BASE_NONE, NULL, 0,
8718 "x411.UniversalOrBMPString", HFILL }},
8719 { &hf_x411_TeletexOrganizationalUnitNames_item,
8720 { "Item", "x411.TeletexOrganizationalUnitNames_item",
8721 FT_STRING, BASE_NONE, NULL, 0,
8722 "x411.TeletexOrganizationalUnitName", HFILL }},
8723 { &hf_x411_UniversalOrganizationalUnitNames_item,
8724 { "Item", "x411.UniversalOrganizationalUnitNames_item",
8725 FT_NONE, BASE_NONE, NULL, 0,
8726 "x411.UniversalOrganizationalUnitName", HFILL }},
8727 { &hf_x411_character_encoding,
8728 { "character-encoding", "x411.character_encoding",
8729 FT_UINT32, BASE_DEC, VALS(x411_T_character_encoding_vals), 0,
8730 "x411.T_character_encoding", HFILL }},
8731 { &hf_x411_two_octets,
8732 { "two-octets", "x411.two_octets",
8733 FT_STRING, BASE_NONE, NULL, 0,
8734 "x411.BMPString", HFILL }},
8735 { &hf_x411_four_octets,
8736 { "four-octets", "x411.four_octets",
8737 FT_STRING, BASE_NONE, NULL, 0,
8738 "x411.UniversalString", HFILL }},
8739 { &hf_x411_iso_639_language_code,
8740 { "iso-639-language-code", "x411.iso_639_language_code",
8741 FT_STRING, BASE_NONE, NULL, 0,
8742 "x411.PrintableString", HFILL }},
8743 { &hf_x411_numeric_code,
8744 { "numeric-code", "x411.numeric_code",
8745 FT_STRING, BASE_NONE, NULL, 0,
8746 "x411.AddrNumericString", HFILL }},
8747 { &hf_x411_printable_code,
8748 { "printable-code", "x411.printable_code",
8749 FT_STRING, BASE_NONE, NULL, 0,
8750 "x411.PrintableString", HFILL }},
8751 { &hf_x411_printable_address,
8752 { "printable-address", "x411.printable_address",
8753 FT_UINT32, BASE_DEC, NULL, 0,
8754 "x411.T_printable_address", HFILL }},
8755 { &hf_x411_printable_address_item,
8756 { "Item", "x411.printable_address_item",
8757 FT_STRING, BASE_NONE, NULL, 0,
8758 "x411.PrintableString", HFILL }},
8759 { &hf_x411_teletex_string,
8760 { "teletex-string", "x411.teletex_string",
8761 FT_STRING, BASE_NONE, NULL, 0,
8762 "x411.TeletexString", HFILL }},
8763 { &hf_x411_printable_string,
8764 { "printable-string", "x411.printable_string",
8765 FT_STRING, BASE_NONE, NULL, 0,
8766 "x411.PrintableString", HFILL }},
8767 { &hf_x411_e163_4_address,
8768 { "e163-4-address", "x411.e163_4_address",
8769 FT_NONE, BASE_NONE, NULL, 0,
8770 "x411.T_e163_4_address", HFILL }},
8772 { "number", "x411.number",
8773 FT_STRING, BASE_NONE, NULL, 0,
8774 "x411.NumericString", HFILL }},
8775 { &hf_x411_sub_address,
8776 { "sub-address", "x411.sub_address",
8777 FT_STRING, BASE_NONE, NULL, 0,
8778 "x411.NumericString", HFILL }},
8779 { &hf_x411_psap_address,
8780 { "psap-address", "x411.psap_address",
8781 FT_NONE, BASE_NONE, NULL, 0,
8782 "x509sat.PresentationAddress", HFILL }},
8783 { &hf_x411_TeletexDomainDefinedAttributes_item,
8784 { "Item", "x411.TeletexDomainDefinedAttributes_item",
8785 FT_NONE, BASE_NONE, NULL, 0,
8786 "x411.TeletexDomainDefinedAttribute", HFILL }},
8788 { "type", "x411.type",
8789 FT_STRING, BASE_NONE, NULL, 0,
8790 "x411.AddrTeletexString", HFILL }},
8791 { &hf_x411_teletex_value,
8792 { "value", "x411.value",
8793 FT_STRING, BASE_NONE, NULL, 0,
8794 "x411.AddrTeletexString", HFILL }},
8795 { &hf_x411_UniversalDomainDefinedAttributes_item,
8796 { "Item", "x411.UniversalDomainDefinedAttributes_item",
8797 FT_NONE, BASE_NONE, NULL, 0,
8798 "x411.UniversalDomainDefinedAttribute", HFILL }},
8799 { &hf_x411_universal_type,
8800 { "type", "x411.type",
8801 FT_NONE, BASE_NONE, NULL, 0,
8802 "x411.UniversalOrBMPString", HFILL }},
8803 { &hf_x411_universal_value,
8804 { "value", "x411.value",
8805 FT_NONE, BASE_NONE, NULL, 0,
8806 "x411.UniversalOrBMPString", HFILL }},
8807 { &hf_x411_built_in_encoded_information_types,
8808 { "built-in-encoded-information-types", "x411.built_in_encoded_information_types",
8809 FT_BYTES, BASE_HEX, NULL, 0,
8810 "x411.BuiltInEncodedInformationTypes", HFILL }},
8811 { &hf_x411_g3_facsimile,
8812 { "g3-facsimile", "x411.g3_facsimile",
8813 FT_BYTES, BASE_HEX, NULL, 0,
8814 "x411.G3FacsimileNonBasicParameters", HFILL }},
8816 { "teletex", "x411.teletex",
8817 FT_NONE, BASE_NONE, NULL, 0,
8818 "x411.TeletexNonBasicParameters", HFILL }},
8819 { &hf_x411_extended_encoded_information_types,
8820 { "extended-encoded-information-types", "x411.extended_encoded_information_types",
8821 FT_UINT32, BASE_DEC, NULL, 0,
8822 "x411.ExtendedEncodedInformationTypes", HFILL }},
8823 { &hf_x411_ExtendedEncodedInformationTypes_item,
8824 { "Item", "x411.ExtendedEncodedInformationTypes_item",
8825 FT_OID, BASE_NONE, NULL, 0,
8826 "x411.ExtendedEncodedInformationType", HFILL }},
8827 { &hf_x411_graphic_character_sets,
8828 { "graphic-character-sets", "x411.graphic_character_sets",
8829 FT_STRING, BASE_NONE, NULL, 0,
8830 "x411.TeletexString", HFILL }},
8831 { &hf_x411_control_character_sets,
8832 { "control-character-sets", "x411.control_character_sets",
8833 FT_STRING, BASE_NONE, NULL, 0,
8834 "x411.TeletexString", HFILL }},
8835 { &hf_x411_page_formats,
8836 { "page-formats", "x411.page_formats",
8837 FT_BYTES, BASE_HEX, NULL, 0,
8838 "x411.OCTET_STRING", HFILL }},
8839 { &hf_x411_miscellaneous_terminal_capabilities,
8840 { "miscellaneous-terminal-capabilities", "x411.miscellaneous_terminal_capabilities",
8841 FT_STRING, BASE_NONE, NULL, 0,
8842 "x411.TeletexString", HFILL }},
8843 { &hf_x411_private_use,
8844 { "private-use", "x411.private_use",
8845 FT_BYTES, BASE_HEX, NULL, 0,
8846 "x411.OCTET_STRING", HFILL }},
8847 { &hf_x411_token_type_identifier,
8848 { "token-type-identifier", "x411.token_type_identifier",
8849 FT_OID, BASE_NONE, NULL, 0,
8850 "x411.TokenTypeIdentifier", HFILL }},
8852 { "token", "x411.token",
8853 FT_NONE, BASE_NONE, NULL, 0,
8854 "x411.TokenTypeData", HFILL }},
8855 { &hf_x411_signature_algorithm_identifier,
8856 { "signature-algorithm-identifier", "x411.signature_algorithm_identifier",
8857 FT_NONE, BASE_NONE, NULL, 0,
8858 "x509af.AlgorithmIdentifier", HFILL }},
8860 { "name", "x411.name",
8861 FT_UINT32, BASE_DEC, VALS(x411_T_name_vals), 0,
8862 "x411.T_name", HFILL }},
8863 { &hf_x411_token_recipient_name,
8864 { "recipient-name", "x411.recipient_name",
8865 FT_NONE, BASE_NONE, NULL, 0,
8866 "x411.MTSRecipientName", HFILL }},
8867 { &hf_x411_token_mta,
8868 { "mta", "x411.mta",
8869 FT_NONE, BASE_NONE, NULL, 0,
8870 "x411.MTANameAndOptionalGDI", HFILL }},
8872 { "time", "x411.time",
8873 FT_STRING, BASE_NONE, NULL, 0,
8874 "x411.Time", HFILL }},
8875 { &hf_x411_signed_data,
8876 { "signed-data", "x411.signed_data",
8877 FT_NONE, BASE_NONE, NULL, 0,
8878 "x411.TokenData", HFILL }},
8879 { &hf_x411_encryption_algorithm_identifier,
8880 { "encryption-algorithm-identifier", "x411.encryption_algorithm_identifier",
8881 FT_NONE, BASE_NONE, NULL, 0,
8882 "x509af.AlgorithmIdentifier", HFILL }},
8883 { &hf_x411_encrypted_data,
8884 { "encrypted-data", "x411.encrypted_data",
8885 FT_BYTES, BASE_HEX, NULL, 0,
8886 "x411.BIT_STRING", HFILL }},
8887 { &hf_x411_asymmetric_token_data,
8888 { "asymmetric-token-data", "x411.asymmetric_token_data",
8889 FT_NONE, BASE_NONE, NULL, 0,
8890 "x411.AsymmetricTokenData", HFILL }},
8891 { &hf_x411_algorithm_identifier,
8892 { "algorithm-identifier", "x411.algorithm_identifier",
8893 FT_NONE, BASE_NONE, NULL, 0,
8894 "x509af.AlgorithmIdentifier", HFILL }},
8895 { &hf_x411_token_data_type,
8896 { "type", "x411.type",
8897 FT_INT32, BASE_DEC, VALS(x411_TokenDataType_vals), 0,
8898 "x411.TokenDataType", HFILL }},
8900 { "value", "x411.value",
8901 FT_NONE, BASE_NONE, NULL, 0,
8902 "x411.T_value", HFILL }},
8903 { &hf_x411_content_confidentiality_algorithm_identifier,
8904 { "content-confidentiality-algorithm-identifier", "x411.content_confidentiality_algorithm_identifier",
8905 FT_NONE, BASE_NONE, NULL, 0,
8906 "x411.ContentConfidentialityAlgorithmIdentifier", HFILL }},
8907 { &hf_x411_content_integrity_check,
8908 { "content-integrity-check", "x411.content_integrity_check",
8909 FT_NONE, BASE_NONE, NULL, 0,
8910 "x411.ContentIntegrityCheck", HFILL }},
8911 { &hf_x411_message_security_label,
8912 { "message-security-label", "x411.message_security_label",
8913 FT_NONE, BASE_NONE, NULL, 0,
8914 "x411.MessageSecurityLabel", HFILL }},
8915 { &hf_x411_proof_of_delivery_request,
8916 { "proof-of-delivery-request", "x411.proof_of_delivery_request",
8917 FT_UINT32, BASE_DEC, VALS(x411_ProofOfDeliveryRequest_vals), 0,
8918 "x411.ProofOfDeliveryRequest", HFILL }},
8919 { &hf_x411_message_sequence_number,
8920 { "message-sequence-number", "x411.message_sequence_number",
8921 FT_INT32, BASE_DEC, NULL, 0,
8922 "x411.INTEGER", HFILL }},
8923 { &hf_x411_content_confidentiality_key,
8924 { "content-confidentiality-key", "x411.content_confidentiality_key",
8925 FT_BYTES, BASE_HEX, NULL, 0,
8926 "x411.EncryptionKey", HFILL }},
8927 { &hf_x411_content_integrity_key,
8928 { "content-integrity-key", "x411.content_integrity_key",
8929 FT_BYTES, BASE_HEX, NULL, 0,
8930 "x411.EncryptionKey", HFILL }},
8931 { &hf_x411_security_policy_identifier,
8932 { "security-policy-identifier", "x411.security_policy_identifier",
8933 FT_OID, BASE_NONE, NULL, 0,
8934 "x411.SecurityPolicyIdentifier", HFILL }},
8935 { &hf_x411_security_classification,
8936 { "security-classification", "x411.security_classification",
8937 FT_UINT32, BASE_DEC, VALS(x411_SecurityClassification_vals), 0,
8938 "x411.SecurityClassification", HFILL }},
8939 { &hf_x411_privacy_mark,
8940 { "privacy-mark", "x411.privacy_mark",
8941 FT_STRING, BASE_NONE, NULL, 0,
8942 "x411.PrivacyMark", HFILL }},
8943 { &hf_x411_security_categories,
8944 { "security-categories", "x411.security_categories",
8945 FT_UINT32, BASE_DEC, NULL, 0,
8946 "x411.SecurityCategories", HFILL }},
8947 { &hf_x411_SecurityCategories_item,
8948 { "Item", "x411.SecurityCategories_item",
8949 FT_NONE, BASE_NONE, NULL, 0,
8950 "x411.SecurityCategory", HFILL }},
8951 { &hf_x411_category_type,
8952 { "type", "x411.type",
8953 FT_OID, BASE_NONE, NULL, 0,
8954 "x411.OBJECT_IDENTIFIER", HFILL }},
8955 { &hf_x411_category_value,
8956 { "value", "x411.value",
8957 FT_NONE, BASE_NONE, NULL, 0,
8958 "x411.CategoryValue", HFILL }},
8959 { &hf_x411_PerRecipientIndicators_responsibility,
8960 { "responsibility", "x411.responsibility",
8961 FT_BOOLEAN, 8, NULL, 0x80,
8963 { &hf_x411_PerRecipientIndicators_originating_MTA_report,
8964 { "originating-MTA-report", "x411.originating-MTA-report",
8965 FT_BOOLEAN, 8, NULL, 0x40,
8967 { &hf_x411_PerRecipientIndicators_originating_MTA_non_delivery_report,
8968 { "originating-MTA-non-delivery-report", "x411.originating-MTA-non-delivery-report",
8969 FT_BOOLEAN, 8, NULL, 0x20,
8971 { &hf_x411_PerRecipientIndicators_originator_report,
8972 { "originator-report", "x411.originator-report",
8973 FT_BOOLEAN, 8, NULL, 0x10,
8975 { &hf_x411_PerRecipientIndicators_originator_non_delivery_report,
8976 { "originator-non-delivery-report", "x411.originator-non-delivery-report",
8977 FT_BOOLEAN, 8, NULL, 0x08,
8979 { &hf_x411_PerRecipientIndicators_reserved_5,
8980 { "reserved-5", "x411.reserved-5",
8981 FT_BOOLEAN, 8, NULL, 0x04,
8983 { &hf_x411_PerRecipientIndicators_reserved_6,
8984 { "reserved-6", "x411.reserved-6",
8985 FT_BOOLEAN, 8, NULL, 0x02,
8987 { &hf_x411_PerRecipientIndicators_reserved_7,
8988 { "reserved-7", "x411.reserved-7",
8989 FT_BOOLEAN, 8, NULL, 0x01,
8991 { &hf_x411_OtherActions_redirected,
8992 { "redirected", "x411.redirected",
8993 FT_BOOLEAN, 8, NULL, 0x80,
8995 { &hf_x411_OtherActions_dl_operation,
8996 { "dl-operation", "x411.dl-operation",
8997 FT_BOOLEAN, 8, NULL, 0x40,
8999 { &hf_x411_Operations_probe_submission_or_report_delivery,
9000 { "probe-submission-or-report-delivery", "x411.probe-submission-or-report-delivery",
9001 FT_BOOLEAN, 8, NULL, 0x80,
9003 { &hf_x411_Operations_message_submission_or_message_delivery,
9004 { "message-submission-or-message-delivery", "x411.message-submission-or-message-delivery",
9005 FT_BOOLEAN, 8, NULL, 0x40,
9007 { &hf_x411_WaitingMessages_long_content,
9008 { "long-content", "x411.long-content",
9009 FT_BOOLEAN, 8, NULL, 0x80,
9011 { &hf_x411_WaitingMessages_low_priority,
9012 { "low-priority", "x411.low-priority",
9013 FT_BOOLEAN, 8, NULL, 0x40,
9015 { &hf_x411_WaitingMessages_other_security_labels,
9016 { "other-security-labels", "x411.other-security-labels",
9017 FT_BOOLEAN, 8, NULL, 0x20,
9019 { &hf_x411_T_source_type_originated_by,
9020 { "originated-by", "x411.originated-by",
9021 FT_BOOLEAN, 8, NULL, 0x80,
9023 { &hf_x411_T_source_type_redirected_by,
9024 { "redirected-by", "x411.redirected-by",
9025 FT_BOOLEAN, 8, NULL, 0x40,
9027 { &hf_x411_T_source_type_dl_expanded_by,
9028 { "dl-expanded-by", "x411.dl-expanded-by",
9029 FT_BOOLEAN, 8, NULL, 0x20,
9031 { &hf_x411_T_standard_parameters_user_name,
9032 { "user-name", "x411.user-name",
9033 FT_BOOLEAN, 8, NULL, 0x80,
9035 { &hf_x411_T_standard_parameters_user_address,
9036 { "user-address", "x411.user-address",
9037 FT_BOOLEAN, 8, NULL, 0x40,
9039 { &hf_x411_T_standard_parameters_deliverable_class,
9040 { "deliverable-class", "x411.deliverable-class",
9041 FT_BOOLEAN, 8, NULL, 0x20,
9043 { &hf_x411_T_standard_parameters_default_delivery_controls,
9044 { "default-delivery-controls", "x411.default-delivery-controls",
9045 FT_BOOLEAN, 8, NULL, 0x10,
9047 { &hf_x411_T_standard_parameters_redirections,
9048 { "redirections", "x411.redirections",
9049 FT_BOOLEAN, 8, NULL, 0x08,
9051 { &hf_x411_T_standard_parameters_restricted_delivery,
9052 { "restricted-delivery", "x411.restricted-delivery",
9053 FT_BOOLEAN, 8, NULL, 0x04,
9055 { &hf_x411_PerMessageIndicators_U_disclosure_of_other_recipients,
9056 { "disclosure-of-other-recipients", "x411.disclosure-of-other-recipients",
9057 FT_BOOLEAN, 8, NULL, 0x80,
9059 { &hf_x411_PerMessageIndicators_U_implicit_conversion_prohibited,
9060 { "implicit-conversion-prohibited", "x411.implicit-conversion-prohibited",
9061 FT_BOOLEAN, 8, NULL, 0x40,
9063 { &hf_x411_PerMessageIndicators_U_alternate_recipient_allowed,
9064 { "alternate-recipient-allowed", "x411.alternate-recipient-allowed",
9065 FT_BOOLEAN, 8, NULL, 0x20,
9067 { &hf_x411_PerMessageIndicators_U_content_return_request,
9068 { "content-return-request", "x411.content-return-request",
9069 FT_BOOLEAN, 8, NULL, 0x10,
9071 { &hf_x411_PerMessageIndicators_U_reserved,
9072 { "reserved", "x411.reserved",
9073 FT_BOOLEAN, 8, NULL, 0x08,
9075 { &hf_x411_PerMessageIndicators_U_bit_5,
9076 { "bit-5", "x411.bit-5",
9077 FT_BOOLEAN, 8, NULL, 0x04,
9079 { &hf_x411_PerMessageIndicators_U_bit_6,
9080 { "bit-6", "x411.bit-6",
9081 FT_BOOLEAN, 8, NULL, 0x02,
9083 { &hf_x411_PerMessageIndicators_U_service_message,
9084 { "service-message", "x411.service-message",
9085 FT_BOOLEAN, 8, NULL, 0x01,
9087 { &hf_x411_OriginatorReportRequest_report,
9088 { "report", "x411.report",
9089 FT_BOOLEAN, 8, NULL, 0x10,
9091 { &hf_x411_OriginatorReportRequest_non_delivery_report,
9092 { "non-delivery-report", "x411.non-delivery-report",
9093 FT_BOOLEAN, 8, NULL, 0x08,
9095 { &hf_x411_DeliveryFlags_implicit_conversion_prohibited,
9096 { "implicit-conversion-prohibited", "x411.implicit-conversion-prohibited",
9097 FT_BOOLEAN, 8, NULL, 0x40,
9099 { &hf_x411_Criticality_for_submission,
9100 { "for-submission", "x411.for-submission",
9101 FT_BOOLEAN, 8, NULL, 0x80,
9103 { &hf_x411_Criticality_for_transfer,
9104 { "for-transfer", "x411.for-transfer",
9105 FT_BOOLEAN, 8, NULL, 0x40,
9107 { &hf_x411_Criticality_for_delivery,
9108 { "for-delivery", "x411.for-delivery",
9109 FT_BOOLEAN, 8, NULL, 0x20,
9111 { &hf_x411_PhysicalDeliveryModes_ordinary_mail,
9112 { "ordinary-mail", "x411.ordinary-mail",
9113 FT_BOOLEAN, 8, NULL, 0x80,
9115 { &hf_x411_PhysicalDeliveryModes_special_delivery,
9116 { "special-delivery", "x411.special-delivery",
9117 FT_BOOLEAN, 8, NULL, 0x40,
9119 { &hf_x411_PhysicalDeliveryModes_express_mail,
9120 { "express-mail", "x411.express-mail",
9121 FT_BOOLEAN, 8, NULL, 0x20,
9123 { &hf_x411_PhysicalDeliveryModes_counter_collection,
9124 { "counter-collection", "x411.counter-collection",
9125 FT_BOOLEAN, 8, NULL, 0x10,
9127 { &hf_x411_PhysicalDeliveryModes_counter_collection_with_telephone_advice,
9128 { "counter-collection-with-telephone-advice", "x411.counter-collection-with-telephone-advice",
9129 FT_BOOLEAN, 8, NULL, 0x08,
9131 { &hf_x411_PhysicalDeliveryModes_counter_collection_with_telex_advice,
9132 { "counter-collection-with-telex-advice", "x411.counter-collection-with-telex-advice",
9133 FT_BOOLEAN, 8, NULL, 0x04,
9135 { &hf_x411_PhysicalDeliveryModes_counter_collection_with_teletex_advice,
9136 { "counter-collection-with-teletex-advice", "x411.counter-collection-with-teletex-advice",
9137 FT_BOOLEAN, 8, NULL, 0x02,
9139 { &hf_x411_PhysicalDeliveryModes_bureau_fax_delivery,
9140 { "bureau-fax-delivery", "x411.bureau-fax-delivery",
9141 FT_BOOLEAN, 8, NULL, 0x01,
9143 { &hf_x411_BuiltInEncodedInformationTypes_unknown,
9144 { "unknown", "x411.unknown",
9145 FT_BOOLEAN, 8, NULL, 0x80,
9147 { &hf_x411_BuiltInEncodedInformationTypes_ia5_text,
9148 { "ia5-text", "x411.ia5-text",
9149 FT_BOOLEAN, 8, NULL, 0x20,
9151 { &hf_x411_BuiltInEncodedInformationTypes_g3_facsimile,
9152 { "g3-facsimile", "x411.g3-facsimile",
9153 FT_BOOLEAN, 8, NULL, 0x10,
9155 { &hf_x411_BuiltInEncodedInformationTypes_g4_class_1,
9156 { "g4-class-1", "x411.g4-class-1",
9157 FT_BOOLEAN, 8, NULL, 0x08,
9159 { &hf_x411_BuiltInEncodedInformationTypes_teletex,
9160 { "teletex", "x411.teletex",
9161 FT_BOOLEAN, 8, NULL, 0x04,
9163 { &hf_x411_BuiltInEncodedInformationTypes_videotex,
9164 { "videotex", "x411.videotex",
9165 FT_BOOLEAN, 8, NULL, 0x02,
9167 { &hf_x411_BuiltInEncodedInformationTypes_voice,
9168 { "voice", "x411.voice",
9169 FT_BOOLEAN, 8, NULL, 0x01,
9171 { &hf_x411_BuiltInEncodedInformationTypes_sfd,
9172 { "sfd", "x411.sfd",
9173 FT_BOOLEAN, 8, NULL, 0x80,
9175 { &hf_x411_BuiltInEncodedInformationTypes_mixed_mode,
9176 { "mixed-mode", "x411.mixed-mode",
9177 FT_BOOLEAN, 8, NULL, 0x40,
9179 { &hf_x411_G3FacsimileNonBasicParameters_two_dimensional,
9180 { "two-dimensional", "x411.two-dimensional",
9181 FT_BOOLEAN, 8, NULL, 0x80,
9183 { &hf_x411_G3FacsimileNonBasicParameters_fine_resolution,
9184 { "fine-resolution", "x411.fine-resolution",
9185 FT_BOOLEAN, 8, NULL, 0x40,
9187 { &hf_x411_G3FacsimileNonBasicParameters_unlimited_length,
9188 { "unlimited-length", "x411.unlimited-length",
9189 FT_BOOLEAN, 8, NULL, 0x08,
9191 { &hf_x411_G3FacsimileNonBasicParameters_b4_length,
9192 { "b4-length", "x411.b4-length",
9193 FT_BOOLEAN, 8, NULL, 0x04,
9195 { &hf_x411_G3FacsimileNonBasicParameters_a3_width,
9196 { "a3-width", "x411.a3-width",
9197 FT_BOOLEAN, 8, NULL, 0x02,
9199 { &hf_x411_G3FacsimileNonBasicParameters_b4_width,
9200 { "b4-width", "x411.b4-width",
9201 FT_BOOLEAN, 8, NULL, 0x01,
9203 { &hf_x411_G3FacsimileNonBasicParameters_t6_coding,
9204 { "t6-coding", "x411.t6-coding",
9205 FT_BOOLEAN, 8, NULL, 0x40,
9207 { &hf_x411_G3FacsimileNonBasicParameters_uncompressed,
9208 { "uncompressed", "x411.uncompressed",
9209 FT_BOOLEAN, 8, NULL, 0x02,
9211 { &hf_x411_G3FacsimileNonBasicParameters_width_middle_864_of_1728,
9212 { "width-middle-864-of-1728", "x411.width-middle-864-of-1728",
9213 FT_BOOLEAN, 8, NULL, 0x04,
9215 { &hf_x411_G3FacsimileNonBasicParameters_width_middle_1216_of_1728,
9216 { "width-middle-1216-of-1728", "x411.width-middle-1216-of-1728",
9217 FT_BOOLEAN, 8, NULL, 0x02,
9219 { &hf_x411_G3FacsimileNonBasicParameters_resolution_type,
9220 { "resolution-type", "x411.resolution-type",
9221 FT_BOOLEAN, 8, NULL, 0x08,
9223 { &hf_x411_G3FacsimileNonBasicParameters_resolution_400x400,
9224 { "resolution-400x400", "x411.resolution-400x400",
9225 FT_BOOLEAN, 8, NULL, 0x04,
9227 { &hf_x411_G3FacsimileNonBasicParameters_resolution_300x300,
9228 { "resolution-300x300", "x411.resolution-300x300",
9229 FT_BOOLEAN, 8, NULL, 0x02,
9231 { &hf_x411_G3FacsimileNonBasicParameters_resolution_8x15,
9232 { "resolution-8x15", "x411.resolution-8x15",
9233 FT_BOOLEAN, 8, NULL, 0x01,
9235 { &hf_x411_G3FacsimileNonBasicParameters_edi,
9236 { "edi", "x411.edi",
9237 FT_BOOLEAN, 8, NULL, 0x40,
9239 { &hf_x411_G3FacsimileNonBasicParameters_dtm,
9240 { "dtm", "x411.dtm",
9241 FT_BOOLEAN, 8, NULL, 0x20,
9243 { &hf_x411_G3FacsimileNonBasicParameters_bft,
9244 { "bft", "x411.bft",
9245 FT_BOOLEAN, 8, NULL, 0x10,
9247 { &hf_x411_G3FacsimileNonBasicParameters_mixed_mode,
9248 { "mixed-mode", "x411.mixed-mode",
9249 FT_BOOLEAN, 8, NULL, 0x20,
9251 { &hf_x411_G3FacsimileNonBasicParameters_character_mode,
9252 { "character-mode", "x411.character-mode",
9253 FT_BOOLEAN, 8, NULL, 0x08,
9255 { &hf_x411_G3FacsimileNonBasicParameters_twelve_bits,
9256 { "twelve-bits", "x411.twelve-bits",
9257 FT_BOOLEAN, 8, NULL, 0x40,
9259 { &hf_x411_G3FacsimileNonBasicParameters_preferred_huffmann,
9260 { "preferred-huffmann", "x411.preferred-huffmann",
9261 FT_BOOLEAN, 8, NULL, 0x20,
9263 { &hf_x411_G3FacsimileNonBasicParameters_full_colour,
9264 { "full-colour", "x411.full-colour",
9265 FT_BOOLEAN, 8, NULL, 0x10,
9267 { &hf_x411_G3FacsimileNonBasicParameters_jpeg,
9268 { "jpeg", "x411.jpeg",
9269 FT_BOOLEAN, 8, NULL, 0x08,
9271 { &hf_x411_G3FacsimileNonBasicParameters_processable_mode_26,
9272 { "processable-mode-26", "x411.processable-mode-26",
9273 FT_BOOLEAN, 8, NULL, 0x01,
9276 /*--- End of included file: packet-x411-hfarr.c ---*/
9277 #line 216 "packet-x411-template.c"
9280 /* List of subtrees */
9281 static gint *ett[] = {
9283 &ett_x411_content_unknown,
9284 &ett_x411_bilateral_information,
9285 &ett_x411_additional_information,
9286 &ett_x411_unknown_standard_extension,
9287 &ett_x411_unknown_extension_attribute_type,
9288 &ett_x411_unknown_tokendata_type,
9290 /*--- Included file: packet-x411-ettarr.c ---*/
9291 #line 1 "packet-x411-ettarr.c"
9292 &ett_x411_MTABindArgument,
9293 &ett_x411_AuthenticatedArgument,
9294 &ett_x411_MTABindResult,
9295 &ett_x411_AuthenticatedResult,
9299 &ett_x411_MessageTransferEnvelope,
9300 &ett_x411_SEQUENCE_OF_PerDomainBilateralInformation,
9301 &ett_x411_SET_OF_ExtensionField,
9302 &ett_x411_SEQUENCE_OF_PerRecipientMessageTransferFields,
9303 &ett_x411_PerRecipientMessageTransferFields,
9304 &ett_x411_ProbeTransferEnvelope,
9305 &ett_x411_SEQUENCE_OF_PerRecipientProbeTransferFields,
9306 &ett_x411_PerRecipientProbeTransferFields,
9307 &ett_x411_ReportTransferEnvelope,
9308 &ett_x411_ReportTransferContent,
9309 &ett_x411_SEQUENCE_OF_PerRecipientReportTransferFields,
9310 &ett_x411_PerRecipientReportTransferFields,
9311 &ett_x411_PerDomainBilateralInformation,
9312 &ett_x411_T_bilateral_domain,
9313 &ett_x411_T_private_domain,
9314 &ett_x411_PerRecipientIndicators,
9315 &ett_x411_LastTraceInformation,
9316 &ett_x411_InternalTraceInformation,
9317 &ett_x411_InternalTraceInformationElement,
9318 &ett_x411_MTASuppliedInformation,
9319 &ett_x411_T_attempted,
9320 &ett_x411_SEQUENCE_OF_TraceInformationElement,
9321 &ett_x411_TraceInformationElement,
9322 &ett_x411_DomainSuppliedInformation,
9323 &ett_x411_OtherActions,
9324 &ett_x411_MTSBindArgument,
9325 &ett_x411_MTSBindResult,
9326 &ett_x411_ObjectName,
9327 &ett_x411_MessagesWaiting,
9328 &ett_x411_DeliveryQueue,
9329 &ett_x411_Credentials,
9331 &ett_x411_StrongCredentials,
9332 &ett_x411_ProtectedPassword,
9333 &ett_x411_Signature,
9334 &ett_x411_SecurityContext,
9335 &ett_x411_MessageSubmissionArgument,
9336 &ett_x411_MessageSubmissionResult,
9337 &ett_x411_ProbeSubmissionResult,
9338 &ett_x411_ImproperlySpecifiedRecipients,
9340 &ett_x411_SET_OF_ContentType,
9341 &ett_x411_Operations,
9342 &ett_x411_WaitingMessages,
9343 &ett_x411_MessageDeliveryArgument,
9344 &ett_x411_MessageDeliveryResult,
9345 &ett_x411_ReportDeliveryArgument,
9346 &ett_x411_SEQUENCE_OF_PerRecipientReportDeliveryFields,
9347 &ett_x411_ReportDeliveryResult,
9348 &ett_x411_DeliveryControlArgument,
9349 &ett_x411_DeliveryControlResult,
9350 &ett_x411_RefusedOperation,
9351 &ett_x411_T_refused_argument,
9353 &ett_x411_RegisterArgument,
9354 &ett_x411_SET_OF_DeliverableClass,
9355 &ett_x411_RegisterResult,
9356 &ett_x411_T_non_empty_result,
9357 &ett_x411_ChangeCredentialsArgument,
9358 &ett_x411_UserAddress,
9360 &ett_x411_Redirections,
9361 &ett_x411_RecipientRedirection,
9362 &ett_x411_SET_OF_RedirectionClass,
9363 &ett_x411_MessageClass,
9364 &ett_x411_SET_OF_Priority,
9365 &ett_x411_SEQUENCE_OF_Restriction,
9366 &ett_x411_EncodedInformationTypesConstraints,
9367 &ett_x411_RestrictedDelivery,
9368 &ett_x411_Restriction,
9369 &ett_x411_T_source_type,
9370 &ett_x411_ExactOrPattern,
9371 &ett_x411_RegistrationTypes,
9372 &ett_x411_T_standard_parameters,
9373 &ett_x411_T_type_extensions,
9374 &ett_x411_MessageSubmissionEnvelope,
9375 &ett_x411_SEQUENCE_OF_PerRecipientMessageSubmissionFields,
9376 &ett_x411_PerRecipientMessageSubmissionFields,
9377 &ett_x411_ProbeSubmissionEnvelope,
9378 &ett_x411_SEQUENCE_OF_PerRecipientProbeSubmissionFields,
9379 &ett_x411_PerRecipientProbeSubmissionFields,
9380 &ett_x411_MessageDeliveryEnvelope,
9381 &ett_x411_OtherMessageDeliveryFields,
9382 &ett_x411_ReportDeliveryEnvelope,
9383 &ett_x411_PerRecipientReportDeliveryFields,
9384 &ett_x411_ReportType,
9385 &ett_x411_DeliveryReport,
9386 &ett_x411_NonDeliveryReport,
9387 &ett_x411_ContentTypes,
9388 &ett_x411_ContentType,
9389 &ett_x411_DeliveredContentType,
9390 &ett_x411_PerMessageIndicators_U,
9391 &ett_x411_OriginatorReportRequest,
9392 &ett_x411_DeliveryFlags,
9393 &ett_x411_OtherRecipientNames,
9394 &ett_x411_ExtensionType,
9395 &ett_x411_Criticality,
9396 &ett_x411_ExtensionField,
9397 &ett_x411_RequestedDeliveryMethod,
9398 &ett_x411_PhysicalDeliveryModes,
9399 &ett_x411_ContentCorrelator,
9400 &ett_x411_RedirectionHistory,
9401 &ett_x411_Redirection,
9402 &ett_x411_IntendedRecipientName,
9403 &ett_x411_DLExpansionHistory,
9404 &ett_x411_DLExpansion,
9405 &ett_x411_OriginatorAndDLExpansionHistory,
9406 &ett_x411_OriginatorAndDLExpansion,
9407 &ett_x411_PerRecipientReportFields,
9408 &ett_x411_T_report_type,
9409 &ett_x411_PerRecipientDeliveryReportFields,
9410 &ett_x411_PerRecipientNonDeliveryReportFields,
9411 &ett_x411_ReportingMTAName,
9412 &ett_x411_ExtendedCertificates,
9413 &ett_x411_ExtendedCertificate,
9414 &ett_x411_DLExemptedRecipients,
9415 &ett_x411_CertificateSelectors,
9416 &ett_x411_MTSIdentifier_U,
9417 &ett_x411_GlobalDomainIdentifier_U,
9418 &ett_x411_PrivateDomainIdentifier,
9420 &ett_x411_ORAddress,
9421 &ett_x411_BuiltInStandardAttributes,
9422 &ett_x411_CountryName_U,
9423 &ett_x411_AdministrationDomainName_U,
9424 &ett_x411_PrivateDomainName,
9425 &ett_x411_PersonalName,
9426 &ett_x411_OrganizationalUnitNames,
9427 &ett_x411_BuiltInDomainDefinedAttributes,
9428 &ett_x411_BuiltInDomainDefinedAttribute,
9429 &ett_x411_ExtensionAttributes,
9430 &ett_x411_ExtensionAttribute,
9431 &ett_x411_TeletexPersonalName,
9432 &ett_x411_UniversalPersonalName,
9433 &ett_x411_TeletexOrganizationalUnitNames,
9434 &ett_x411_UniversalOrganizationalUnitNames,
9435 &ett_x411_UniversalOrBMPString,
9436 &ett_x411_T_character_encoding,
9437 &ett_x411_PhysicalDeliveryCountryName,
9438 &ett_x411_PostalCode,
9439 &ett_x411_UnformattedPostalAddress,
9440 &ett_x411_T_printable_address,
9441 &ett_x411_PDSParameter,
9442 &ett_x411_ExtendedNetworkAddress,
9443 &ett_x411_T_e163_4_address,
9444 &ett_x411_TeletexDomainDefinedAttributes,
9445 &ett_x411_TeletexDomainDefinedAttribute,
9446 &ett_x411_UniversalDomainDefinedAttributes,
9447 &ett_x411_UniversalDomainDefinedAttribute,
9448 &ett_x411_EncodedInformationTypes_U,
9449 &ett_x411_BuiltInEncodedInformationTypes,
9450 &ett_x411_ExtendedEncodedInformationTypes,
9451 &ett_x411_NonBasicParameters,
9452 &ett_x411_G3FacsimileNonBasicParameters,
9453 &ett_x411_TeletexNonBasicParameters,
9455 &ett_x411_AsymmetricTokenData,
9457 &ett_x411_MTANameAndOptionalGDI,
9458 &ett_x411_AsymmetricToken,
9459 &ett_x411_TokenData,
9460 &ett_x411_MessageTokenSignedData,
9461 &ett_x411_MessageTokenEncryptedData,
9462 &ett_x411_SecurityLabel,
9463 &ett_x411_SecurityCategories,
9464 &ett_x411_SecurityCategory,
9466 /*--- End of included file: packet-x411-ettarr.c ---*/
9467 #line 228 "packet-x411-template.c"
9470 module_t *x411_module;
9472 /* Register protocol */
9473 proto_x411 = proto_register_protocol(PNAME, PSNAME, PFNAME);
9474 register_dissector("x411", dissect_x411, proto_x411);
9475 /* Register fields and subtrees */
9476 proto_register_field_array(proto_x411, hf, array_length(hf));
9477 proto_register_subtree_array(ett, array_length(ett));
9479 x411_extension_dissector_table = register_dissector_table("x411.extension", "X411-EXTENSION", FT_UINT32, BASE_DEC);
9480 x411_extension_attribute_dissector_table = register_dissector_table("x411.extension-attribute", "X411-EXTENSION-ATTRIBUTE", FT_UINT32, BASE_DEC);
9481 x411_tokendata_dissector_table = register_dissector_table("x411.tokendata", "X411-TOKENDATA", FT_UINT32, BASE_DEC);
9483 /* Register our configuration options for X411, particularly our port */
9485 x411_module = prefs_register_protocol_subtree("OSI/X.400", proto_x411, prefs_register_x411);
9487 prefs_register_uint_preference(x411_module, "tcp.port", "X.411 TCP Port",
9488 "Set the port for P1 operations (if other"
9489 " than the default of 102)",
9490 10, &global_x411_tcp_port);
9495 /*--- proto_reg_handoff_x411 --- */
9496 void proto_reg_handoff_x411(void) {
9497 dissector_handle_t handle = NULL;
9500 /*--- Included file: packet-x411-dis-tab.c ---*/
9501 #line 1 "packet-x411-dis-tab.c"
9502 dissector_add("x411.extension", 1, create_dissector_handle(dissect_RecipientReassignmentProhibited_PDU, proto_x411));
9503 dissector_add("x411.extension", 2, create_dissector_handle(dissect_MTSOriginatorRequestedAlternateRecipient_PDU, proto_x411));
9504 dissector_add("x411.extension", 3, create_dissector_handle(dissect_DLExpansionProhibited_PDU, proto_x411));
9505 dissector_add("x411.extension", 4, create_dissector_handle(dissect_ConversionWithLossProhibited_PDU, proto_x411));
9506 dissector_add("x411.extension", 5, create_dissector_handle(dissect_LatestDeliveryTime_PDU, proto_x411));
9507 dissector_add("x411.extension", 6, create_dissector_handle(dissect_RequestedDeliveryMethod_PDU, proto_x411));
9508 dissector_add("x411.extension", 7, create_dissector_handle(dissect_PhysicalForwardingProhibited_PDU, proto_x411));
9509 dissector_add("x411.extension", 8, create_dissector_handle(dissect_PhysicalForwardingAddressRequest_PDU, proto_x411));
9510 dissector_add("x411.extension", 9, create_dissector_handle(dissect_PhysicalDeliveryModes_PDU, proto_x411));
9511 dissector_add("x411.extension", 10, create_dissector_handle(dissect_RegisteredMailType_PDU, proto_x411));
9512 dissector_add("x411.extension", 11, create_dissector_handle(dissect_RecipientNumberForAdvice_PDU, proto_x411));
9513 dissector_add("x411.extension", 12, create_dissector_handle(dissect_PhysicalRenditionAttributes_PDU, proto_x411));
9514 dissector_add("x411.extension", 13, create_dissector_handle(dissect_OriginatorReturnAddress_PDU, proto_x411));
9515 dissector_add("x411.extension", 14, create_dissector_handle(dissect_PhysicalDeliveryReportRequest_PDU, proto_x411));
9516 dissector_add("x411.extension", 15, create_dissector_handle(dissect_OriginatorCertificate_PDU, proto_x411));
9517 dissector_add("x411.extension", 16, create_dissector_handle(dissect_MessageToken_PDU, proto_x411));
9518 dissector_add("x411.extension", 17, create_dissector_handle(dissect_ContentConfidentialityAlgorithmIdentifier_PDU, proto_x411));
9519 dissector_add("x411.extension", 18, create_dissector_handle(dissect_ContentIntegrityCheck_PDU, proto_x411));
9520 dissector_add("x411.extension", 19, create_dissector_handle(dissect_MessageOriginAuthenticationCheck_PDU, proto_x411));
9521 dissector_add("x411.extension", 20, create_dissector_handle(dissect_MessageSecurityLabel_PDU, proto_x411));
9522 dissector_add("x411.extension", 21, create_dissector_handle(dissect_ProofOfSubmissionRequest_PDU, proto_x411));
9523 dissector_add("x411.extension", 22, create_dissector_handle(dissect_ProofOfDeliveryRequest_PDU, proto_x411));
9524 dissector_add("x411.extension", 23, create_dissector_handle(dissect_ContentCorrelator_PDU, proto_x411));
9525 dissector_add("x411.extension", 24, create_dissector_handle(dissect_ProbeOriginAuthenticationCheck_PDU, proto_x411));
9526 dissector_add("x411.extension", 25, create_dissector_handle(dissect_RedirectionHistory_PDU, proto_x411));
9527 dissector_add("x411.extension", 26, create_dissector_handle(dissect_DLExpansionHistory_PDU, proto_x411));
9528 dissector_add("x411.extension", 27, create_dissector_handle(dissect_PhysicalForwardingAddress_PDU, proto_x411));
9529 dissector_add("x411.extension", 28, create_dissector_handle(dissect_RecipientCertificate_PDU, proto_x411));
9530 dissector_add("x411.extension", 29, create_dissector_handle(dissect_ProofOfDelivery_PDU, proto_x411));
9531 dissector_add("x411.extension", 30, create_dissector_handle(dissect_OriginatorAndDLExpansionHistory_PDU, proto_x411));
9532 dissector_add("x411.extension", 31, create_dissector_handle(dissect_ReportingDLName_PDU, proto_x411));
9533 dissector_add("x411.extension", 32, create_dissector_handle(dissect_ReportingMTACertificate_PDU, proto_x411));
9534 dissector_add("x411.extension", 33, create_dissector_handle(dissect_ReportOriginAuthenticationCheck_PDU, proto_x411));
9535 dissector_add("x411.extension", 35, create_dissector_handle(dissect_ProofOfSubmission_PDU, proto_x411));
9536 dissector_add("x411.extension", 37, create_dissector_handle(dissect_TraceInformation_PDU, proto_x411));
9537 dissector_add("x411.extension", 38, create_dissector_handle(dissect_InternalTraceInformation_PDU, proto_x411));
9538 dissector_add("x411.extension", 39, create_dissector_handle(dissect_ReportingMTAName_PDU, proto_x411));
9539 dissector_add("x411.extension", 40, create_dissector_handle(dissect_ExtendedCertificates_PDU, proto_x411));
9540 dissector_add("x411.extension", 42, create_dissector_handle(dissect_DLExemptedRecipients_PDU, proto_x411));
9541 dissector_add("x411.extension", 45, create_dissector_handle(dissect_CertificateSelectors_PDU, proto_x411));
9542 dissector_add("x411.extension-attribute", 1, create_dissector_handle(dissect_CommonName_PDU, proto_x411));
9543 dissector_add("x411.extension-attribute", 2, create_dissector_handle(dissect_TeletexCommonName_PDU, proto_x411));
9544 dissector_add("x411.extension-attribute", 3, create_dissector_handle(dissect_TeletexOrganizationName_PDU, proto_x411));
9545 dissector_add("x411.extension-attribute", 4, create_dissector_handle(dissect_TeletexPersonalName_PDU, proto_x411));
9546 dissector_add("x411.extension-attribute", 5, create_dissector_handle(dissect_TeletexOrganizationalUnitNames_PDU, proto_x411));
9547 dissector_add("x411.extension-attribute", 7, create_dissector_handle(dissect_PDSName_PDU, proto_x411));
9548 dissector_add("x411.extension-attribute", 8, create_dissector_handle(dissect_PhysicalDeliveryCountryName_PDU, proto_x411));
9549 dissector_add("x411.extension-attribute", 9, create_dissector_handle(dissect_PostalCode_PDU, proto_x411));
9550 dissector_add("x411.extension-attribute", 10, create_dissector_handle(dissect_PhysicalDeliveryOfficeName_PDU, proto_x411));
9551 dissector_add("x411.extension-attribute", 24, create_dissector_handle(dissect_UniversalCommonName_PDU, proto_x411));
9552 dissector_add("x411.extension-attribute", 25, create_dissector_handle(dissect_UniversalOrganizationName_PDU, proto_x411));
9553 dissector_add("x411.extension-attribute", 26, create_dissector_handle(dissect_UniversalPersonalName_PDU, proto_x411));
9554 dissector_add("x411.extension-attribute", 27, create_dissector_handle(dissect_UniversalOrganizationalUnitNames_PDU, proto_x411));
9555 register_ber_oid_dissector("2.6.1.4.14", dissect_ReportDeliveryArgument_PDU, proto_x411, "id-et-report");
9556 register_ber_oid_dissector("2.6.3.6.0", dissect_AsymmetricToken_PDU, proto_x411, "id-tok-asymmetricToken");
9557 register_ber_oid_dissector("2.6.5.6.0", dissect_MTANameAndOptionalGDI_PDU, proto_x411, "id-on-mtaName");
9558 dissector_add("x411.tokendata", 1, create_dissector_handle(dissect_BindTokenSignedData_PDU, proto_x411));
9559 dissector_add("x411.tokendata", 2, create_dissector_handle(dissect_MessageTokenSignedData_PDU, proto_x411));
9560 dissector_add("x411.tokendata", 3, create_dissector_handle(dissect_MessageTokenEncryptedData_PDU, proto_x411));
9561 dissector_add("x411.tokendata", 4, create_dissector_handle(dissect_BindTokenEncryptedData_PDU, proto_x411));
9562 register_ber_oid_dissector("2.6.5.2.0", dissect_ContentLength_PDU, proto_x411, "id-at-mhs-maximum-content-length");
9563 register_ber_oid_dissector("2.6.5.2.1", dissect_ExtendedContentType_PDU, proto_x411, "id-at-mhs-deliverable-content-types");
9564 register_ber_oid_dissector("2.6.5.2.2", dissect_ExtendedEncodedInformationType_PDU, proto_x411, "id-at-mhs-exclusively-acceptable-eits");
9565 register_ber_oid_dissector("2.6.5.2.3", dissect_ORName_PDU, proto_x411, "id-at-mhs-dl-members");
9566 register_ber_oid_dissector("2.6.5.2.6", dissect_ORAddress_PDU, proto_x411, "id-at-mhs-or-addresses");
9567 register_ber_oid_dissector("2.6.5.2.9", dissect_ExtendedContentType_PDU, proto_x411, "id-at-mhs-supported-content-types");
9568 register_ber_oid_dissector("2.6.5.2.12", dissect_ORName_PDU, proto_x411, "id-at-mhs-dl-archive-service");
9569 register_ber_oid_dissector("2.6.5.2.15", dissect_ORName_PDU, proto_x411, "id-at-mhs-dl-subscription-service");
9570 register_ber_oid_dissector("2.6.5.2.17", dissect_ExtendedEncodedInformationType_PDU, proto_x411, "id-at-mhs-acceptable-eits");
9571 register_ber_oid_dissector("2.6.5.2.18", dissect_ExtendedEncodedInformationType_PDU, proto_x411, "id-at-mhs-unacceptable-eits");
9572 register_ber_oid_dissector("2.16.840.1.101.2.1.5.47", dissect_ORName_PDU, proto_x411, "id-at-aLExemptedAddressProcessor");
9573 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");
9574 register_ber_oid_dissector("2.6.4.3.80", dissect_CertificateSelectors_PDU, proto_x411, "id-att-certificate-selectors");
9575 register_ber_oid_dissector("2.6.4.3.1", dissect_Content_PDU, proto_x411, "id-att-content");
9576 register_ber_oid_dissector("2.6.4.3.3", dissect_ContentCorrelator_PDU, proto_x411, "id-att-content-correlator");
9577 register_ber_oid_dissector("2.6.4.3.4", dissect_ContentIdentifier_PDU, proto_x411, "id-att-content-identifier");
9578 register_ber_oid_dissector("2.6.4.3.5", dissect_ContentIntegrityCheck_PDU, proto_x411, "id-att-content-inetgrity-check");
9579 register_ber_oid_dissector("2.6.4.3.6", dissect_ContentLength_PDU, proto_x411, "id-att-content-length");
9580 register_ber_oid_dissector("2.6.4.3.8", dissect_ExtendedContentType_PDU, proto_x411, "id-att-content-type");
9581 register_ber_oid_dissector("2.6.4.3.9", dissect_ConversionWithLossProhibited_PDU, proto_x411, "id-att-conversion-with-loss-prohibited");
9582 register_ber_oid_dissector("2.6.4.3.51", dissect_DeferredDeliveryTime_PDU, proto_x411, "id-att-deferred-delivery-time");
9583 register_ber_oid_dissector("2.6.4.3.13", dissect_DeliveryFlags_PDU, proto_x411, "id-att-delivery-flags");
9584 register_ber_oid_dissector("2.6.4.3.78", dissect_ORName_PDU, proto_x411, "id-att-dl-exempted-recipients");
9585 register_ber_oid_dissector("2.6.4.3.14", dissect_DLExpansion_PDU, proto_x411, "id-att-dl-expansion-history");
9586 register_ber_oid_dissector("2.6.4.3.53", dissect_DLExpansionProhibited_PDU, proto_x411, "id-att-dl-expansion-prohibited");
9587 register_ber_oid_dissector("2.6.4.3.54", dissect_InternalTraceInformationElement_PDU, proto_x411, "id-att-internal-trace-information");
9588 register_ber_oid_dissector("2.6.4.3.55", dissect_LatestDeliveryTime_PDU, proto_x411, "id-att-latest-delivery-time");
9589 register_ber_oid_dissector("2.6.4.3.18", dissect_MessageDeliveryEnvelope_PDU, proto_x411, "id-att-message-delivery-envelope");
9590 register_ber_oid_dissector("2.6.4.3.20", dissect_MessageDeliveryTime_PDU, proto_x411, "id-att-message-delivery-time");
9591 register_ber_oid_dissector("2.6.4.3.19", dissect_MTSIdentifier_PDU, proto_x411, "id-att-message-identifier");
9592 register_ber_oid_dissector("2.6.4.3.21", dissect_MessageOriginAuthenticationCheck_PDU, proto_x411, "id-at-message-orgin-authentication-check");
9593 register_ber_oid_dissector("2.6.4.3.22", dissect_MessageSecurityLabel_PDU, proto_x411, "id-att-message-security-label");
9594 register_ber_oid_dissector("2.6.4.3.59", dissect_MessageSubmissionEnvelope_PDU, proto_x411, "id-att-message-submission-envelope");
9595 register_ber_oid_dissector("2.6.4.3.23", dissect_MessageSubmissionTime_PDU, proto_x411, "id-att-message-submission-time");
9596 register_ber_oid_dissector("2.6.4.3.24", dissect_MessageToken_PDU, proto_x411, "id-att-message-token");
9597 register_ber_oid_dissector("2.6.4.3.81", dissect_ExtendedCertificates_PDU, proto_x411, "id-att-multiple-originator-certificates");
9598 register_ber_oid_dissector("2.6.4.3.17", dissect_ORName_PDU, proto_x411, "id-att-originally-intended-recipient-name");
9599 register_ber_oid_dissector("2.6.4.3.62", dissect_OriginatingMTACertificate_PDU, proto_x411, "id-att-originating-MTA-certificate");
9600 register_ber_oid_dissector("2.6.4.3.26", dissect_OriginatorCertificate_PDU, proto_x411, "id-att-originator-certificate");
9601 register_ber_oid_dissector("2.6.4.3.27", dissect_ORName_PDU, proto_x411, "id-att-originator-name");
9602 register_ber_oid_dissector("2.6.4.3.63", dissect_OriginatorReportRequest_PDU, proto_x411, "id-att-originator-report-request");
9603 register_ber_oid_dissector("2.6.4.3.64", dissect_OriginatorReturnAddress_PDU, proto_x411, "id-att-originator-return-address");
9604 register_ber_oid_dissector("2.6.4.3.28", dissect_ORName_PDU, proto_x411, "id-att-other-recipient-names");
9605 register_ber_oid_dissector("2.6.4.3.65", dissect_PerMessageIndicators_PDU, proto_x411, "id-att-per-message-indicators");
9606 register_ber_oid_dissector("2.6.4.3.66", dissect_PerRecipientMessageSubmissionFields_PDU, proto_x411, "id-att-per-recipient-message-submission-fields");
9607 register_ber_oid_dissector("2.6.4.3.67", dissect_PerRecipientProbeSubmissionFields_PDU, proto_x411, "id-att-per-recipient-probe-submission-fields");
9608 register_ber_oid_dissector("2.6.4.3.30", dissect_PerRecipientReportDeliveryFields_PDU, proto_x411, "id-att-per-recipient-report-delivery-fields");
9609 register_ber_oid_dissector("2.6.4.3.31", dissect_Priority_PDU, proto_x411, "id-att-priority");
9610 register_ber_oid_dissector("2.6.4.3.68", dissect_ProbeOriginAuthenticationCheck_PDU, proto_x411, "id-att-probe-origin-authentication-check");
9611 register_ber_oid_dissector("2.6.4.3.69", dissect_ProbeSubmissionEnvelope_PDU, proto_x411, "id-att-probe-submission-envelope");
9612 register_ber_oid_dissector("2.6.4.3.32", dissect_ProofOfDeliveryRequest_PDU, proto_x411, "id-att-proof-of-delivery-request");
9613 register_ber_oid_dissector("2.6.4.3.70", dissect_ProofOfSubmission_PDU, proto_x411, "id-att-proof-of-submission");
9614 register_ber_oid_dissector("2.6.4.3.82", dissect_ExtendedCertificates_PDU, proto_x411, "id-att-recipient-certificate");
9615 register_ber_oid_dissector("2.6.4.3.71", dissect_ORName_PDU, proto_x411, "id-att-recipient-names");
9616 register_ber_oid_dissector("2.6.4.3.72", dissect_RecipientReassignmentProhibited_PDU, proto_x411, "id-att-recipient-reassignment-prohibited");
9617 register_ber_oid_dissector("2.6.4.3.33", dissect_Redirection_PDU, proto_x411, "id-at-redirection-history");
9618 register_ber_oid_dissector("2.6.4.3.34", dissect_ReportDeliveryEnvelope_PDU, proto_x411, "id-att-report-delivery-envelope");
9619 register_ber_oid_dissector("2.6.4.3.35", dissect_ReportingDLName_PDU, proto_x411, "id-att-reporting-DL-name");
9620 register_ber_oid_dissector("2.6.4.3.36", dissect_ReportingMTACertificate_PDU, proto_x411, "id-att-reporting-MTA-certificate");
9621 register_ber_oid_dissector("2.6.4.3.37", dissect_ReportOriginAuthenticationCheck_PDU, proto_x411, "id-att-report-origin-authentication-check");
9622 register_ber_oid_dissector("2.6.4.3.38", dissect_SecurityClassification_PDU, proto_x411, "id-att-security-classification");
9623 register_ber_oid_dissector("2.6.4.3.40", dissect_SubjectSubmissionIdentifier_PDU, proto_x411, "id-att-subject-submission-identifier");
9624 register_ber_oid_dissector("2.6.4.3.41", dissect_ORName_PDU, proto_x411, "id-att-this-recipient-name");
9625 register_ber_oid_dissector("2.6.4.3.75", dissect_TraceInformationElement_PDU, proto_x411, "id-att-trace-information");
9628 /*--- End of included file: packet-x411-dis-tab.c ---*/
9629 #line 260 "packet-x411-template.c"
9631 /* APPLICATION CONTEXT */
9633 oid_add_from_string("id-ac-mts-transfer","2.6.0.1.6");
9635 /* ABSTRACT SYNTAXES */
9637 if((handle = find_dissector("x411")) != NULL) {
9638 register_rtse_oid_dissector_handle("2.6.0.2.12", handle, 0, "id-as-mta-rtse", TRUE);
9639 register_rtse_oid_dissector_handle("2.6.0.2.7", handle, 0, "id-as-mtse", FALSE);
9641 register_ber_syntax_dissector("X.411 Message", proto_x411, dissect_x411_mts_apdu);
9642 register_rtse_oid_dissector_handle("applicationProtocol.1", handle, 0, "mts-transfer-protocol-1984", FALSE);
9643 register_rtse_oid_dissector_handle("applicationProtocol.12", handle, 0, "mta-transfer-protocol", FALSE);
9646 /* remember the tpkt handler for change in preferences */
9647 tpkt_handle = find_dissector("tpkt");
9651 void prefs_register_x411(void) {
9653 /* de-register the old port */
9654 /* port 102 is registered by TPKT - don't undo this! */
9655 if((tcp_port != 102) && tpkt_handle)
9656 dissector_delete("tcp.port", tcp_port, tpkt_handle);
9658 /* Set our port number for future use */
9659 tcp_port = global_x411_tcp_port;
9661 if((tcp_port > 0) && (tcp_port != 102) && tpkt_handle)
9662 dissector_add("tcp.port", tcp_port, tpkt_handle);