e44e9c1e4e2ff8a18bbbb9591554e6de43b4ac47
[obnox/wireshark/wip.git] / epan / dissectors / packet-acp133.c
1 /* Do not modify this file.                                                   */
2 /* It is created automatically by the ASN.1 to Wireshark dissector compiler   */
3 /* packet-acp133.c                                                            */
4 /* ../../tools/asn2wrs.py -b -p acp133 -c ./acp133.cnf -s ./packet-acp133-template -D . acp133.asn MHSDirectoryObjectsAndAttributes.asn */
5
6 /* Input file: packet-acp133-template.c */
7
8 #line 1 "packet-acp133-template.c"
9 /* packet-acp133.c
10  * Routines for ACP133 specific syntaxes in X.500 packet dissection
11  * Graeme Lunt 2005
12  *
13  * $Id$
14  *
15  * Wireshark - Network traffic analyzer
16  * By Gerald Combs <gerald@wireshark.org>
17  * Copyright 1998 Gerald Combs
18  *
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.
23  *
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.
28  *
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.
32  */
33
34 #ifdef HAVE_CONFIG_H
35 # include "config.h"
36 #endif
37
38 #include <glib.h>
39 #include <epan/packet.h>
40 #include <epan/conversation.h>
41 #include <epan/asn1.h>
42 #include <epan/oids.h>
43
44 #include <stdio.h>
45 #include <string.h>
46
47 #include "packet-ber.h"
48
49 #include "packet-x509af.h"
50 #include "packet-x509if.h"
51 #include "packet-x509ce.h"
52 #include "packet-x411.h"
53
54 #include "packet-acp133.h"
55
56 #define PNAME  "ACP133 Attribute Syntaxes"
57 #define PSNAME "ACP133"
58 #define PFNAME "acp133"
59
60 /* Initialize the protocol and registered fields */
61 int proto_acp133 = -1;
62
63
64
65 /*--- Included file: packet-acp133-hf.c ---*/
66 #line 1 "packet-acp133-hf.c"
67 static int hf_acp133_ACPPreferredDelivery_PDU = -1;  /* ACPPreferredDelivery */
68 static int hf_acp133_ALType_PDU = -1;             /* ALType */
69 static int hf_acp133_Community_PDU = -1;          /* Community */
70 static int hf_acp133_OnSupported_PDU = -1;        /* OnSupported */
71 static int hf_acp133_ACPLegacyFormat_PDU = -1;    /* ACPLegacyFormat */
72 static int hf_acp133_Addressees_PDU = -1;         /* Addressees */
73 static int hf_acp133_Classification_PDU = -1;     /* Classification */
74 static int hf_acp133_DistributionCode_PDU = -1;   /* DistributionCode */
75 static int hf_acp133_JPEG_PDU = -1;               /* JPEG */
76 static int hf_acp133_MonthlyUKMs_PDU = -1;        /* MonthlyUKMs */
77 static int hf_acp133_Remarks_PDU = -1;            /* Remarks */
78 static int hf_acp133_RIParameters_PDU = -1;       /* RIParameters */
79 static int hf_acp133_Kmid_PDU = -1;               /* Kmid */
80 static int hf_acp133_MLReceiptPolicy_PDU = -1;    /* MLReceiptPolicy */
81 static int hf_acp133_DLSubmitPermission_PDU = -1;  /* DLSubmitPermission */
82 static int hf_acp133_DLPolicy_PDU = -1;           /* DLPolicy */
83 static int hf_acp133_AddressCapabilities_PDU = -1;  /* AddressCapabilities */
84 static int hf_acp133_Capability_PDU = -1;         /* Capability */
85 static int hf_acp133_Addressees_item = -1;        /* PrintableString_SIZE_1_55 */
86 static int hf_acp133_ukm_entries = -1;            /* SEQUENCE_OF_UKMEntry */
87 static int hf_acp133_ukm_entries_item = -1;       /* UKMEntry */
88 static int hf_acp133_algorithm_identifier = -1;   /* AlgorithmIdentifier */
89 static int hf_acp133_encrypted = -1;              /* BIT_STRING */
90 static int hf_acp133_Remarks_item = -1;           /* PrintableString */
91 static int hf_acp133_rI = -1;                     /* PrintableString */
92 static int hf_acp133_rIType = -1;                 /* T_rIType */
93 static int hf_acp133_minimize = -1;               /* BOOLEAN */
94 static int hf_acp133_sHD = -1;                    /* PrintableString */
95 static int hf_acp133_classification = -1;         /* Classification */
96 static int hf_acp133_tag = -1;                    /* PairwiseTag */
97 static int hf_acp133_ukm = -1;                    /* OCTET_STRING */
98 static int hf_acp133_kmid = -1;                   /* Kmid */
99 static int hf_acp133_edition = -1;                /* INTEGER */
100 static int hf_acp133_date = -1;                   /* UTCTime */
101 static int hf_acp133_none = -1;                   /* NULL */
102 static int hf_acp133_insteadOf = -1;              /* SEQUENCE_OF_GeneralNames */
103 static int hf_acp133_insteadOf_item = -1;         /* GeneralNames */
104 static int hf_acp133_inAdditionTo = -1;           /* SEQUENCE_OF_GeneralNames */
105 static int hf_acp133_inAdditionTo_item = -1;      /* GeneralNames */
106 static int hf_acp133_individual = -1;             /* ORName */
107 static int hf_acp133_member_of_dl = -1;           /* ORName */
108 static int hf_acp133_pattern_match = -1;          /* ORNamePattern */
109 static int hf_acp133_member_of_group = -1;        /* Name */
110 static int hf_acp133_report_propagation = -1;     /* T_report_propagation */
111 static int hf_acp133_report_from_dl = -1;         /* T_report_from_dl */
112 static int hf_acp133_originating_MTA_report = -1;  /* T_originating_MTA_report */
113 static int hf_acp133_originator_report = -1;      /* T_originator_report */
114 static int hf_acp133_return_of_content = -1;      /* T_return_of_content */
115 static int hf_acp133_priority = -1;               /* T_priority */
116 static int hf_acp133_disclosure_of_other_recipients = -1;  /* T_disclosure_of_other_recipients */
117 static int hf_acp133_implicit_conversion_prohibited = -1;  /* T_implicit_conversion_prohibited */
118 static int hf_acp133_conversion_with_loss_prohibited = -1;  /* T_conversion_with_loss_prohibited */
119 static int hf_acp133_further_dl_expansion_allowed = -1;  /* BOOLEAN */
120 static int hf_acp133_originator_requested_alternate_recipient_removed = -1;  /* BOOLEAN */
121 static int hf_acp133_proof_of_delivery = -1;      /* T_proof_of_delivery */
122 static int hf_acp133_requested_delivery_method = -1;  /* T_requested_delivery_method */
123 static int hf_acp133_unchanged = -1;              /* NULL */
124 static int hf_acp133_removed = -1;                /* NULL */
125 static int hf_acp133_replaced = -1;               /* RequestedDeliveryMethod */
126 static int hf_acp133_token_encryption_algorithm_preference = -1;  /* SEQUENCE_OF_AlgorithmInformation */
127 static int hf_acp133_token_encryption_algorithm_preference_item = -1;  /* AlgorithmInformation */
128 static int hf_acp133_token_signature_algorithm_preference = -1;  /* SEQUENCE_OF_AlgorithmInformation */
129 static int hf_acp133_token_signature_algorithm_preference_item = -1;  /* AlgorithmInformation */
130 static int hf_acp133_originator_certificate_selector = -1;  /* CertificateAssertion */
131 static int hf_acp133_recipient_certificate_selector = -1;  /* CertificateAssertion */
132 static int hf_acp133_description = -1;            /* GeneralString */
133 static int hf_acp133_address = -1;                /* ORAddress */
134 static int hf_acp133_capabilities = -1;           /* SET_OF_Capability */
135 static int hf_acp133_capabilities_item = -1;      /* Capability */
136 static int hf_acp133_content_types = -1;          /* SET_OF_ExtendedContentType */
137 static int hf_acp133_content_types_item = -1;     /* ExtendedContentType */
138 static int hf_acp133_maximum_content_length = -1;  /* ContentLength */
139 static int hf_acp133_encoded_information_types_constraints = -1;  /* EncodedInformationTypesConstraints */
140 static int hf_acp133_security_labels = -1;        /* SecurityContext */
141 /* named bits */
142 static int hf_acp133_OnSupported_acp127_nn = -1;
143 static int hf_acp133_OnSupported_acp127_pn = -1;
144 static int hf_acp133_OnSupported_acp127_tn = -1;
145
146 /*--- End of included file: packet-acp133-hf.c ---*/
147 #line 57 "packet-acp133-template.c"
148
149 /* Initialize the subtree pointers */
150 static gint ett_acp133 = -1;
151
152 /*--- Included file: packet-acp133-ett.c ---*/
153 #line 1 "packet-acp133-ett.c"
154 static gint ett_acp133_OnSupported = -1;
155 static gint ett_acp133_Addressees = -1;
156 static gint ett_acp133_MonthlyUKMs = -1;
157 static gint ett_acp133_SEQUENCE_OF_UKMEntry = -1;
158 static gint ett_acp133_Remarks = -1;
159 static gint ett_acp133_RIParameters = -1;
160 static gint ett_acp133_UKMEntry = -1;
161 static gint ett_acp133_PairwiseTag = -1;
162 static gint ett_acp133_MLReceiptPolicy = -1;
163 static gint ett_acp133_SEQUENCE_OF_GeneralNames = -1;
164 static gint ett_acp133_DLSubmitPermission = -1;
165 static gint ett_acp133_DLPolicy = -1;
166 static gint ett_acp133_T_requested_delivery_method = -1;
167 static gint ett_acp133_SEQUENCE_OF_AlgorithmInformation = -1;
168 static gint ett_acp133_AlgorithmInformation = -1;
169 static gint ett_acp133_AddressCapabilities = -1;
170 static gint ett_acp133_SET_OF_Capability = -1;
171 static gint ett_acp133_Capability = -1;
172 static gint ett_acp133_SET_OF_ExtendedContentType = -1;
173
174 /*--- End of included file: packet-acp133-ett.c ---*/
175 #line 61 "packet-acp133-template.c"
176
177
178 /*--- Included file: packet-acp133-fn.c ---*/
179 #line 1 "packet-acp133-fn.c"
180
181 static const value_string acp133_ACPPreferredDelivery_vals[] = {
182   {   0, "smtp" },
183   {   1, "acp127" },
184   {   2, "mhs" },
185   { 0, NULL }
186 };
187
188
189 static int
190 dissect_acp133_ACPPreferredDelivery(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
191   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
192                                   NULL);
193
194   return offset;
195 }
196
197
198 static const value_string acp133_ALType_vals[] = {
199   {   0, "aig" },
200   {   1, "type" },
201   {   2, "cad" },
202   {   3, "taskforce" },
203   {   4, "dag" },
204   { 0, NULL }
205 };
206
207
208 static int
209 dissect_acp133_ALType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
210   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
211                                                 NULL);
212
213   return offset;
214 }
215
216
217 static const value_string acp133_Community_vals[] = {
218   {   0, "genser" },
219   {   1, "si" },
220   {   2, "both" },
221   { 0, NULL }
222 };
223
224
225 static int
226 dissect_acp133_Community(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
227   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
228                                   NULL);
229
230   return offset;
231 }
232
233
234 static const asn_namedbit OnSupported_bits[] = {
235   {  0, &hf_acp133_OnSupported_acp127_nn, -1, -1, "acp127-nn", NULL },
236   {  1, &hf_acp133_OnSupported_acp127_pn, -1, -1, "acp127-pn", NULL },
237   {  2, &hf_acp133_OnSupported_acp127_tn, -1, -1, "acp127-tn", NULL },
238   { 0, NULL, 0, 0, NULL, NULL }
239 };
240
241 static int
242 dissect_acp133_OnSupported(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
243   offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
244                                     OnSupported_bits, hf_index, ett_acp133_OnSupported,
245                                     NULL);
246
247   return offset;
248 }
249
250
251 static const value_string acp133_ACPLegacyFormat_vals[] = {
252   {   0, "janap128" },
253   {   1, "acp126" },
254   {   2, "doi103" },
255   {   3, "doi103-special" },
256   {   4, "acp127" },
257   {   5, "acp127-converted" },
258   {   6, "reserved-1" },
259   {   7, "acp127-state" },
260   {   8, "acp127-modified" },
261   {   9, "socomm-special" },
262   {  10, "socomm-narrative" },
263   {  11, "reserved-2" },
264   {  12, "socomm-narrative-special" },
265   {  13, "socomm-data" },
266   {  14, "socomm-internal" },
267   {  15, "socomm-external" },
268   { 0, NULL }
269 };
270
271
272 static int
273 dissect_acp133_ACPLegacyFormat(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
274   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
275                                                 NULL);
276
277   return offset;
278 }
279
280
281
282 static int
283 dissect_acp133_PrintableString_SIZE_1_55(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
284   offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
285                                             actx, tree, tvb, offset, hf_index,
286                                             NULL);
287
288   return offset;
289 }
290
291
292 static const ber_sequence_t Addressees_sequence_of[1] = {
293   { &hf_acp133_Addressees_item, BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_acp133_PrintableString_SIZE_1_55 },
294 };
295
296 static int
297 dissect_acp133_Addressees(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
298   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
299                                       Addressees_sequence_of, hf_index, ett_acp133_Addressees);
300
301   return offset;
302 }
303
304
305 static const value_string acp133_Classification_vals[] = {
306   {   0, "unmarked" },
307   {   1, "unclassified" },
308   {   2, "restricted" },
309   {   3, "confidential" },
310   {   4, "secret" },
311   {   5, "top-secret" },
312   { 0, NULL }
313 };
314
315
316 static int
317 dissect_acp133_Classification(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
318   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
319                                   NULL);
320
321   return offset;
322 }
323
324
325
326 static int
327 dissect_acp133_DistributionCode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
328   offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
329                                             actx, tree, tvb, offset, hf_index,
330                                             NULL);
331
332   return offset;
333 }
334
335
336
337 static int
338 dissect_acp133_JPEG(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
339   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
340                                        NULL);
341
342   return offset;
343 }
344
345
346
347 static int
348 dissect_acp133_Kmid(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
349   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
350                                        NULL);
351
352   return offset;
353 }
354
355
356
357 static int
358 dissect_acp133_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_) {
359   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
360                                                 NULL);
361
362   return offset;
363 }
364
365
366
367 static int
368 dissect_acp133_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_) {
369   offset = dissect_ber_UTCTime(implicit_tag, actx, tree, tvb, offset, hf_index);
370
371   return offset;
372 }
373
374
375 static const ber_sequence_t PairwiseTag_sequence[] = {
376   { &hf_acp133_kmid         , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_acp133_Kmid },
377   { &hf_acp133_edition      , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_acp133_INTEGER },
378   { &hf_acp133_date         , BER_CLASS_UNI, BER_UNI_TAG_UTCTime, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_acp133_UTCTime },
379   { NULL, 0, 0, 0, NULL }
380 };
381
382 static int
383 dissect_acp133_PairwiseTag(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
384   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
385                                    PairwiseTag_sequence, hf_index, ett_acp133_PairwiseTag);
386
387   return offset;
388 }
389
390
391
392 static int
393 dissect_acp133_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_) {
394   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
395                                        NULL);
396
397   return offset;
398 }
399
400
401 static const ber_sequence_t UKMEntry_sequence[] = {
402   { &hf_acp133_tag          , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_acp133_PairwiseTag },
403   { &hf_acp133_ukm          , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_acp133_OCTET_STRING },
404   { NULL, 0, 0, 0, NULL }
405 };
406
407 static int
408 dissect_acp133_UKMEntry(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
409   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
410                                    UKMEntry_sequence, hf_index, ett_acp133_UKMEntry);
411
412   return offset;
413 }
414
415
416 static const ber_sequence_t SEQUENCE_OF_UKMEntry_sequence_of[1] = {
417   { &hf_acp133_ukm_entries_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_acp133_UKMEntry },
418 };
419
420 static int
421 dissect_acp133_SEQUENCE_OF_UKMEntry(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
422   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
423                                       SEQUENCE_OF_UKMEntry_sequence_of, hf_index, ett_acp133_SEQUENCE_OF_UKMEntry);
424
425   return offset;
426 }
427
428
429
430 static int
431 dissect_acp133_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_) {
432   offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
433                                     NULL, hf_index, -1,
434                                     NULL);
435
436   return offset;
437 }
438
439
440 static const ber_sequence_t MonthlyUKMs_sequence[] = {
441   { &hf_acp133_ukm_entries  , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_acp133_SEQUENCE_OF_UKMEntry },
442   { &hf_acp133_algorithm_identifier, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AlgorithmIdentifier },
443   { &hf_acp133_encrypted    , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_acp133_BIT_STRING },
444   { NULL, 0, 0, 0, NULL }
445 };
446
447 static int
448 dissect_acp133_MonthlyUKMs(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
449   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
450                                    MonthlyUKMs_sequence, hf_index, ett_acp133_MonthlyUKMs);
451
452   return offset;
453 }
454
455
456
457 static int
458 dissect_acp133_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_) {
459   offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
460                                             actx, tree, tvb, offset, hf_index,
461                                             NULL);
462
463   return offset;
464 }
465
466
467 static const ber_sequence_t Remarks_sequence_of[1] = {
468   { &hf_acp133_Remarks_item , BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_acp133_PrintableString },
469 };
470
471 static int
472 dissect_acp133_Remarks(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
473   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
474                                       Remarks_sequence_of, hf_index, ett_acp133_Remarks);
475
476   return offset;
477 }
478
479
480 static const value_string acp133_T_rIType_vals[] = {
481   {   0, "normal" },
482   {   1, "off-line" },
483   {   2, "partTimeTerminal" },
484   { 0, NULL }
485 };
486
487
488 static int
489 dissect_acp133_T_rIType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
490   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
491                                   NULL);
492
493   return offset;
494 }
495
496
497
498 static int
499 dissect_acp133_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_) {
500   offset = dissect_ber_boolean(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
501
502   return offset;
503 }
504
505
506 static const ber_sequence_t RIParameters_set[] = {
507   { &hf_acp133_rI           , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_acp133_PrintableString },
508   { &hf_acp133_rIType       , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_acp133_T_rIType },
509   { &hf_acp133_minimize     , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_acp133_BOOLEAN },
510   { &hf_acp133_sHD          , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_acp133_PrintableString },
511   { &hf_acp133_classification, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_acp133_Classification },
512   { NULL, 0, 0, 0, NULL }
513 };
514
515 static int
516 dissect_acp133_RIParameters(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
517   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
518                               RIParameters_set, hf_index, ett_acp133_RIParameters);
519
520   return offset;
521 }
522
523
524
525 static int
526 dissect_acp133_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_) {
527   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
528
529   return offset;
530 }
531
532
533 static const ber_sequence_t SEQUENCE_OF_GeneralNames_sequence_of[1] = {
534   { &hf_acp133_insteadOf_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509ce_GeneralNames },
535 };
536
537 static int
538 dissect_acp133_SEQUENCE_OF_GeneralNames(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
539   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
540                                       SEQUENCE_OF_GeneralNames_sequence_of, hf_index, ett_acp133_SEQUENCE_OF_GeneralNames);
541
542   return offset;
543 }
544
545
546 static const value_string acp133_MLReceiptPolicy_vals[] = {
547   {   0, "none" },
548   {   1, "insteadOf" },
549   {   2, "inAdditionTo" },
550   { 0, NULL }
551 };
552
553 static const ber_choice_t MLReceiptPolicy_choice[] = {
554   {   0, &hf_acp133_none         , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_acp133_NULL },
555   {   1, &hf_acp133_insteadOf    , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_acp133_SEQUENCE_OF_GeneralNames },
556   {   2, &hf_acp133_inAdditionTo , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_acp133_SEQUENCE_OF_GeneralNames },
557   { 0, NULL, 0, 0, 0, NULL }
558 };
559
560 static int
561 dissect_acp133_MLReceiptPolicy(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
562   offset = dissect_ber_choice(actx, tree, tvb, offset,
563                                  MLReceiptPolicy_choice, hf_index, ett_acp133_MLReceiptPolicy,
564                                  NULL);
565
566   return offset;
567 }
568
569
570
571 static int
572 dissect_acp133_ORNamePattern(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
573   offset = dissect_x411_ORName(implicit_tag, tvb, offset, actx, tree, hf_index);
574
575   return offset;
576 }
577
578
579 static const value_string acp133_DLSubmitPermission_vals[] = {
580   {   0, "individual" },
581   {   1, "member-of-dl" },
582   {   2, "pattern-match" },
583   {   3, "member-of-group" },
584   { 0, NULL }
585 };
586
587 static const ber_choice_t DLSubmitPermission_choice[] = {
588   {   0, &hf_acp133_individual   , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x411_ORName },
589   {   1, &hf_acp133_member_of_dl , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x411_ORName },
590   {   2, &hf_acp133_pattern_match, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_acp133_ORNamePattern },
591   {   3, &hf_acp133_member_of_group, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_x509if_Name },
592   { 0, NULL, 0, 0, 0, NULL }
593 };
594
595 static int
596 dissect_acp133_DLSubmitPermission(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
597   offset = dissect_ber_choice(actx, tree, tvb, offset,
598                                  DLSubmitPermission_choice, hf_index, ett_acp133_DLSubmitPermission,
599                                  NULL);
600
601   return offset;
602 }
603
604
605 static const value_string acp133_T_report_propagation_vals[] = {
606   {   0, "previous-dl-or-originator" },
607   {   1, "dl-owner" },
608   {   2, "both-previous-and-owner" },
609   { 0, NULL }
610 };
611
612
613 static int
614 dissect_acp133_T_report_propagation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
615   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
616                                                 NULL);
617
618   return offset;
619 }
620
621
622 static const value_string acp133_T_report_from_dl_vals[] = {
623   {   0, "whenever-requested" },
624   {   1, "when-no-propagation" },
625   { 0, NULL }
626 };
627
628
629 static int
630 dissect_acp133_T_report_from_dl(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
631   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
632                                                 NULL);
633
634   return offset;
635 }
636
637
638 static const value_string acp133_T_originating_MTA_report_vals[] = {
639   {   0, "unchanged" },
640   {   2, "report" },
641   {   3, "non-delivery-report" },
642   {   4, "audited-report" },
643   { 0, NULL }
644 };
645
646
647 static int
648 dissect_acp133_T_originating_MTA_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_) {
649   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
650                                                 NULL);
651
652   return offset;
653 }
654
655
656 static const value_string acp133_T_originator_report_vals[] = {
657   {   0, "unchanged" },
658   {   1, "no-report" },
659   {   2, "report" },
660   {   3, "non-delivery-report" },
661   { 0, NULL }
662 };
663
664
665 static int
666 dissect_acp133_T_originator_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_) {
667   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
668                                                 NULL);
669
670   return offset;
671 }
672
673
674 static const value_string acp133_T_return_of_content_vals[] = {
675   {   0, "unchanged" },
676   {   1, "content-return-not-requested" },
677   {   2, "content-return-requested" },
678   { 0, NULL }
679 };
680
681
682 static int
683 dissect_acp133_T_return_of_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_) {
684   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
685                                   NULL);
686
687   return offset;
688 }
689
690
691 static const value_string acp133_T_priority_vals[] = {
692   {   0, "unchanged" },
693   {   1, "normal" },
694   {   2, "non-urgent" },
695   {   3, "urgent" },
696   { 0, NULL }
697 };
698
699
700 static int
701 dissect_acp133_T_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_) {
702   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
703                                                 NULL);
704
705   return offset;
706 }
707
708
709 static const value_string acp133_T_disclosure_of_other_recipients_vals[] = {
710   {   0, "unchanged" },
711   {   1, "disclosure-of-other-recipients-prohibited" },
712   {   2, "disclosure-of-other-recipients-allowed" },
713   { 0, NULL }
714 };
715
716
717 static int
718 dissect_acp133_T_disclosure_of_other_recipients(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
719   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
720                                   NULL);
721
722   return offset;
723 }
724
725
726 static const value_string acp133_T_implicit_conversion_prohibited_vals[] = {
727   {   0, "unchanged" },
728   {   1, "implicit-conversion-allowed" },
729   {   2, "implicit-conversion-prohibited" },
730   { 0, NULL }
731 };
732
733
734 static int
735 dissect_acp133_T_implicit_conversion_prohibited(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
736   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
737                                   NULL);
738
739   return offset;
740 }
741
742
743 static const value_string acp133_T_conversion_with_loss_prohibited_vals[] = {
744   {   0, "unchanged" },
745   {   1, "conversion-with-loss-allowed" },
746   {   2, "conversion-with-loss-prohibited" },
747   { 0, NULL }
748 };
749
750
751 static int
752 dissect_acp133_T_conversion_with_loss_prohibited(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
753   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
754                                   NULL);
755
756   return offset;
757 }
758
759
760 static const value_string acp133_T_proof_of_delivery_vals[] = {
761   {   0, "dl-expansion-point" },
762   {   1, "dl-members" },
763   {   2, "both" },
764   {   3, "neither" },
765   { 0, NULL }
766 };
767
768
769 static int
770 dissect_acp133_T_proof_of_delivery(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
771   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
772                                                 NULL);
773
774   return offset;
775 }
776
777
778 static const value_string acp133_T_requested_delivery_method_vals[] = {
779   {   0, "unchanged" },
780   {   1, "removed" },
781   {   2, "replaced" },
782   { 0, NULL }
783 };
784
785 static const ber_choice_t T_requested_delivery_method_choice[] = {
786   {   0, &hf_acp133_unchanged    , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_acp133_NULL },
787   {   1, &hf_acp133_removed      , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_acp133_NULL },
788   {   2, &hf_acp133_replaced     , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x411_RequestedDeliveryMethod },
789   { 0, NULL, 0, 0, 0, NULL }
790 };
791
792 static int
793 dissect_acp133_T_requested_delivery_method(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
794   offset = dissect_ber_choice(actx, tree, tvb, offset,
795                                  T_requested_delivery_method_choice, hf_index, ett_acp133_T_requested_delivery_method,
796                                  NULL);
797
798   return offset;
799 }
800
801
802 static const ber_sequence_t AlgorithmInformation_sequence[] = {
803   { &hf_acp133_algorithm_identifier, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x509af_AlgorithmIdentifier },
804   { &hf_acp133_originator_certificate_selector, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_CertificateAssertion },
805   { &hf_acp133_recipient_certificate_selector, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_CertificateAssertion },
806   { NULL, 0, 0, 0, NULL }
807 };
808
809 static int
810 dissect_acp133_AlgorithmInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
811   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
812                                    AlgorithmInformation_sequence, hf_index, ett_acp133_AlgorithmInformation);
813
814   return offset;
815 }
816
817
818 static const ber_sequence_t SEQUENCE_OF_AlgorithmInformation_sequence_of[1] = {
819   { &hf_acp133_token_encryption_algorithm_preference_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_acp133_AlgorithmInformation },
820 };
821
822 static int
823 dissect_acp133_SEQUENCE_OF_AlgorithmInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
824   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
825                                       SEQUENCE_OF_AlgorithmInformation_sequence_of, hf_index, ett_acp133_SEQUENCE_OF_AlgorithmInformation);
826
827   return offset;
828 }
829
830
831 static const ber_sequence_t DLPolicy_set[] = {
832   { &hf_acp133_report_propagation, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_acp133_T_report_propagation },
833   { &hf_acp133_report_from_dl, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_acp133_T_report_from_dl },
834   { &hf_acp133_originating_MTA_report, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_acp133_T_originating_MTA_report },
835   { &hf_acp133_originator_report, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_acp133_T_originator_report },
836   { &hf_acp133_return_of_content, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_acp133_T_return_of_content },
837   { &hf_acp133_priority     , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_acp133_T_priority },
838   { &hf_acp133_disclosure_of_other_recipients, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_acp133_T_disclosure_of_other_recipients },
839   { &hf_acp133_implicit_conversion_prohibited, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_acp133_T_implicit_conversion_prohibited },
840   { &hf_acp133_conversion_with_loss_prohibited, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_acp133_T_conversion_with_loss_prohibited },
841   { &hf_acp133_further_dl_expansion_allowed, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_acp133_BOOLEAN },
842   { &hf_acp133_originator_requested_alternate_recipient_removed, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_acp133_BOOLEAN },
843   { &hf_acp133_proof_of_delivery, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_acp133_T_proof_of_delivery },
844   { &hf_acp133_requested_delivery_method, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_acp133_T_requested_delivery_method },
845   { &hf_acp133_token_encryption_algorithm_preference, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_acp133_SEQUENCE_OF_AlgorithmInformation },
846   { &hf_acp133_token_signature_algorithm_preference, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_acp133_SEQUENCE_OF_AlgorithmInformation },
847   { NULL, 0, 0, 0, NULL }
848 };
849
850 static int
851 dissect_acp133_DLPolicy(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
852   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
853                               DLPolicy_set, hf_index, ett_acp133_DLPolicy);
854
855   return offset;
856 }
857
858
859
860 static int
861 dissect_acp133_GeneralString(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
862   offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_GeneralString,
863                                             actx, tree, tvb, offset, hf_index,
864                                             NULL);
865
866   return offset;
867 }
868
869
870 static const ber_sequence_t SET_OF_ExtendedContentType_set_of[1] = {
871   { &hf_acp133_content_types_item, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_x411_ExtendedContentType },
872 };
873
874 static int
875 dissect_acp133_SET_OF_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_) {
876   offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
877                                  SET_OF_ExtendedContentType_set_of, hf_index, ett_acp133_SET_OF_ExtendedContentType);
878
879   return offset;
880 }
881
882
883 static const ber_sequence_t Capability_set[] = {
884   { &hf_acp133_content_types, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_acp133_SET_OF_ExtendedContentType },
885   { &hf_acp133_maximum_content_length, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_ContentLength },
886   { &hf_acp133_encoded_information_types_constraints, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_EncodedInformationTypesConstraints },
887   { &hf_acp133_security_labels, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_SecurityContext },
888   { NULL, 0, 0, 0, NULL }
889 };
890
891 static int
892 dissect_acp133_Capability(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
893   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
894                               Capability_set, hf_index, ett_acp133_Capability);
895
896   return offset;
897 }
898
899
900 static const ber_sequence_t SET_OF_Capability_set_of[1] = {
901   { &hf_acp133_capabilities_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_acp133_Capability },
902 };
903
904 static int
905 dissect_acp133_SET_OF_Capability(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
906   offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
907                                  SET_OF_Capability_set_of, hf_index, ett_acp133_SET_OF_Capability);
908
909   return offset;
910 }
911
912
913 static const ber_sequence_t AddressCapabilities_sequence[] = {
914   { &hf_acp133_description  , BER_CLASS_UNI, BER_UNI_TAG_GeneralString, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_acp133_GeneralString },
915   { &hf_acp133_address      , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x411_ORAddress },
916   { &hf_acp133_capabilities , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_acp133_SET_OF_Capability },
917   { NULL, 0, 0, 0, NULL }
918 };
919
920 static int
921 dissect_acp133_AddressCapabilities(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
922   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
923                                    AddressCapabilities_sequence, hf_index, ett_acp133_AddressCapabilities);
924
925   return offset;
926 }
927
928 /*--- PDUs ---*/
929
930 static void dissect_ACPPreferredDelivery_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
931   asn1_ctx_t asn1_ctx;
932   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
933   dissect_acp133_ACPPreferredDelivery(FALSE, tvb, 0, &asn1_ctx, tree, hf_acp133_ACPPreferredDelivery_PDU);
934 }
935 static void dissect_ALType_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
936   asn1_ctx_t asn1_ctx;
937   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
938   dissect_acp133_ALType(FALSE, tvb, 0, &asn1_ctx, tree, hf_acp133_ALType_PDU);
939 }
940 static void dissect_Community_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
941   asn1_ctx_t asn1_ctx;
942   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
943   dissect_acp133_Community(FALSE, tvb, 0, &asn1_ctx, tree, hf_acp133_Community_PDU);
944 }
945 static void dissect_OnSupported_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
946   asn1_ctx_t asn1_ctx;
947   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
948   dissect_acp133_OnSupported(FALSE, tvb, 0, &asn1_ctx, tree, hf_acp133_OnSupported_PDU);
949 }
950 static void dissect_ACPLegacyFormat_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
951   asn1_ctx_t asn1_ctx;
952   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
953   dissect_acp133_ACPLegacyFormat(FALSE, tvb, 0, &asn1_ctx, tree, hf_acp133_ACPLegacyFormat_PDU);
954 }
955 static void dissect_Addressees_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
956   asn1_ctx_t asn1_ctx;
957   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
958   dissect_acp133_Addressees(FALSE, tvb, 0, &asn1_ctx, tree, hf_acp133_Addressees_PDU);
959 }
960 static void dissect_Classification_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
961   asn1_ctx_t asn1_ctx;
962   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
963   dissect_acp133_Classification(FALSE, tvb, 0, &asn1_ctx, tree, hf_acp133_Classification_PDU);
964 }
965 static void dissect_DistributionCode_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
966   asn1_ctx_t asn1_ctx;
967   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
968   dissect_acp133_DistributionCode(FALSE, tvb, 0, &asn1_ctx, tree, hf_acp133_DistributionCode_PDU);
969 }
970 static void dissect_JPEG_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
971   asn1_ctx_t asn1_ctx;
972   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
973   dissect_acp133_JPEG(FALSE, tvb, 0, &asn1_ctx, tree, hf_acp133_JPEG_PDU);
974 }
975 static void dissect_MonthlyUKMs_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
976   asn1_ctx_t asn1_ctx;
977   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
978   dissect_acp133_MonthlyUKMs(FALSE, tvb, 0, &asn1_ctx, tree, hf_acp133_MonthlyUKMs_PDU);
979 }
980 static void dissect_Remarks_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
981   asn1_ctx_t asn1_ctx;
982   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
983   dissect_acp133_Remarks(FALSE, tvb, 0, &asn1_ctx, tree, hf_acp133_Remarks_PDU);
984 }
985 static void dissect_RIParameters_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
986   asn1_ctx_t asn1_ctx;
987   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
988   dissect_acp133_RIParameters(FALSE, tvb, 0, &asn1_ctx, tree, hf_acp133_RIParameters_PDU);
989 }
990 static void dissect_Kmid_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
991   asn1_ctx_t asn1_ctx;
992   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
993   dissect_acp133_Kmid(FALSE, tvb, 0, &asn1_ctx, tree, hf_acp133_Kmid_PDU);
994 }
995 static void dissect_MLReceiptPolicy_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
996   asn1_ctx_t asn1_ctx;
997   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
998   dissect_acp133_MLReceiptPolicy(FALSE, tvb, 0, &asn1_ctx, tree, hf_acp133_MLReceiptPolicy_PDU);
999 }
1000 static void dissect_DLSubmitPermission_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
1001   asn1_ctx_t asn1_ctx;
1002   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1003   dissect_acp133_DLSubmitPermission(FALSE, tvb, 0, &asn1_ctx, tree, hf_acp133_DLSubmitPermission_PDU);
1004 }
1005 static void dissect_DLPolicy_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
1006   asn1_ctx_t asn1_ctx;
1007   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1008   dissect_acp133_DLPolicy(FALSE, tvb, 0, &asn1_ctx, tree, hf_acp133_DLPolicy_PDU);
1009 }
1010 static void dissect_AddressCapabilities_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
1011   asn1_ctx_t asn1_ctx;
1012   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1013   dissect_acp133_AddressCapabilities(FALSE, tvb, 0, &asn1_ctx, tree, hf_acp133_AddressCapabilities_PDU);
1014 }
1015 static void dissect_Capability_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
1016   asn1_ctx_t asn1_ctx;
1017   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1018   dissect_acp133_Capability(FALSE, tvb, 0, &asn1_ctx, tree, hf_acp133_Capability_PDU);
1019 }
1020
1021
1022 /*--- End of included file: packet-acp133-fn.c ---*/
1023 #line 63 "packet-acp133-template.c"
1024
1025
1026 /*--- proto_register_acp133 -------------------------------------------*/
1027 void proto_register_acp133(void) {
1028
1029   /* List of fields */
1030   static hf_register_info hf[] =
1031   {
1032
1033 /*--- Included file: packet-acp133-hfarr.c ---*/
1034 #line 1 "packet-acp133-hfarr.c"
1035     { &hf_acp133_ACPPreferredDelivery_PDU,
1036       { "ACPPreferredDelivery", "acp133.ACPPreferredDelivery",
1037         FT_UINT32, BASE_DEC, VALS(acp133_ACPPreferredDelivery_vals), 0,
1038         "acp133.ACPPreferredDelivery", HFILL }},
1039     { &hf_acp133_ALType_PDU,
1040       { "ALType", "acp133.ALType",
1041         FT_INT32, BASE_DEC, VALS(acp133_ALType_vals), 0,
1042         "acp133.ALType", HFILL }},
1043     { &hf_acp133_Community_PDU,
1044       { "Community", "acp133.Community",
1045         FT_UINT32, BASE_DEC, VALS(acp133_Community_vals), 0,
1046         "acp133.Community", HFILL }},
1047     { &hf_acp133_OnSupported_PDU,
1048       { "OnSupported", "acp133.OnSupported",
1049         FT_BYTES, BASE_HEX, NULL, 0,
1050         "acp133.OnSupported", HFILL }},
1051     { &hf_acp133_ACPLegacyFormat_PDU,
1052       { "ACPLegacyFormat", "acp133.ACPLegacyFormat",
1053         FT_INT32, BASE_DEC, VALS(acp133_ACPLegacyFormat_vals), 0,
1054         "acp133.ACPLegacyFormat", HFILL }},
1055     { &hf_acp133_Addressees_PDU,
1056       { "Addressees", "acp133.Addressees",
1057         FT_UINT32, BASE_DEC, NULL, 0,
1058         "acp133.Addressees", HFILL }},
1059     { &hf_acp133_Classification_PDU,
1060       { "Classification", "acp133.Classification",
1061         FT_UINT32, BASE_DEC, VALS(acp133_Classification_vals), 0,
1062         "acp133.Classification", HFILL }},
1063     { &hf_acp133_DistributionCode_PDU,
1064       { "DistributionCode", "acp133.DistributionCode",
1065         FT_STRING, BASE_NONE, NULL, 0,
1066         "acp133.DistributionCode", HFILL }},
1067     { &hf_acp133_JPEG_PDU,
1068       { "JPEG", "acp133.JPEG",
1069         FT_BYTES, BASE_HEX, NULL, 0,
1070         "acp133.JPEG", HFILL }},
1071     { &hf_acp133_MonthlyUKMs_PDU,
1072       { "MonthlyUKMs", "acp133.MonthlyUKMs",
1073         FT_NONE, BASE_NONE, NULL, 0,
1074         "acp133.MonthlyUKMs", HFILL }},
1075     { &hf_acp133_Remarks_PDU,
1076       { "Remarks", "acp133.Remarks",
1077         FT_UINT32, BASE_DEC, NULL, 0,
1078         "acp133.Remarks", HFILL }},
1079     { &hf_acp133_RIParameters_PDU,
1080       { "RIParameters", "acp133.RIParameters",
1081         FT_NONE, BASE_NONE, NULL, 0,
1082         "acp133.RIParameters", HFILL }},
1083     { &hf_acp133_Kmid_PDU,
1084       { "Kmid", "acp133.Kmid",
1085         FT_BYTES, BASE_HEX, NULL, 0,
1086         "acp133.Kmid", HFILL }},
1087     { &hf_acp133_MLReceiptPolicy_PDU,
1088       { "MLReceiptPolicy", "acp133.MLReceiptPolicy",
1089         FT_UINT32, BASE_DEC, VALS(acp133_MLReceiptPolicy_vals), 0,
1090         "acp133.MLReceiptPolicy", HFILL }},
1091     { &hf_acp133_DLSubmitPermission_PDU,
1092       { "DLSubmitPermission", "acp133.DLSubmitPermission",
1093         FT_UINT32, BASE_DEC, VALS(acp133_DLSubmitPermission_vals), 0,
1094         "acp133.DLSubmitPermission", HFILL }},
1095     { &hf_acp133_DLPolicy_PDU,
1096       { "DLPolicy", "acp133.DLPolicy",
1097         FT_NONE, BASE_NONE, NULL, 0,
1098         "acp133.DLPolicy", HFILL }},
1099     { &hf_acp133_AddressCapabilities_PDU,
1100       { "AddressCapabilities", "acp133.AddressCapabilities",
1101         FT_NONE, BASE_NONE, NULL, 0,
1102         "acp133.AddressCapabilities", HFILL }},
1103     { &hf_acp133_Capability_PDU,
1104       { "Capability", "acp133.Capability",
1105         FT_NONE, BASE_NONE, NULL, 0,
1106         "acp133.Capability", HFILL }},
1107     { &hf_acp133_Addressees_item,
1108       { "Item", "acp133.Addressees_item",
1109         FT_STRING, BASE_NONE, NULL, 0,
1110         "acp133.PrintableString_SIZE_1_55", HFILL }},
1111     { &hf_acp133_ukm_entries,
1112       { "ukm-entries", "acp133.ukm_entries",
1113         FT_UINT32, BASE_DEC, NULL, 0,
1114         "acp133.SEQUENCE_OF_UKMEntry", HFILL }},
1115     { &hf_acp133_ukm_entries_item,
1116       { "Item", "acp133.ukm_entries_item",
1117         FT_NONE, BASE_NONE, NULL, 0,
1118         "acp133.UKMEntry", HFILL }},
1119     { &hf_acp133_algorithm_identifier,
1120       { "algorithm-identifier", "acp133.algorithm_identifier",
1121         FT_NONE, BASE_NONE, NULL, 0,
1122         "x509af.AlgorithmIdentifier", HFILL }},
1123     { &hf_acp133_encrypted,
1124       { "encrypted", "acp133.encrypted",
1125         FT_BYTES, BASE_HEX, NULL, 0,
1126         "acp133.BIT_STRING", HFILL }},
1127     { &hf_acp133_Remarks_item,
1128       { "Item", "acp133.Remarks_item",
1129         FT_STRING, BASE_NONE, NULL, 0,
1130         "acp133.PrintableString", HFILL }},
1131     { &hf_acp133_rI,
1132       { "rI", "acp133.rI",
1133         FT_STRING, BASE_NONE, NULL, 0,
1134         "acp133.PrintableString", HFILL }},
1135     { &hf_acp133_rIType,
1136       { "rIType", "acp133.rIType",
1137         FT_UINT32, BASE_DEC, VALS(acp133_T_rIType_vals), 0,
1138         "acp133.T_rIType", HFILL }},
1139     { &hf_acp133_minimize,
1140       { "minimize", "acp133.minimize",
1141         FT_BOOLEAN, 8, NULL, 0,
1142         "acp133.BOOLEAN", HFILL }},
1143     { &hf_acp133_sHD,
1144       { "sHD", "acp133.sHD",
1145         FT_STRING, BASE_NONE, NULL, 0,
1146         "acp133.PrintableString", HFILL }},
1147     { &hf_acp133_classification,
1148       { "classification", "acp133.classification",
1149         FT_UINT32, BASE_DEC, VALS(acp133_Classification_vals), 0,
1150         "acp133.Classification", HFILL }},
1151     { &hf_acp133_tag,
1152       { "tag", "acp133.tag",
1153         FT_NONE, BASE_NONE, NULL, 0,
1154         "acp133.PairwiseTag", HFILL }},
1155     { &hf_acp133_ukm,
1156       { "ukm", "acp133.ukm",
1157         FT_BYTES, BASE_HEX, NULL, 0,
1158         "acp133.OCTET_STRING", HFILL }},
1159     { &hf_acp133_kmid,
1160       { "kmid", "acp133.kmid",
1161         FT_BYTES, BASE_HEX, NULL, 0,
1162         "acp133.Kmid", HFILL }},
1163     { &hf_acp133_edition,
1164       { "edition", "acp133.edition",
1165         FT_INT32, BASE_DEC, NULL, 0,
1166         "acp133.INTEGER", HFILL }},
1167     { &hf_acp133_date,
1168       { "date", "acp133.date",
1169         FT_STRING, BASE_NONE, NULL, 0,
1170         "acp133.UTCTime", HFILL }},
1171     { &hf_acp133_none,
1172       { "none", "acp133.none",
1173         FT_NONE, BASE_NONE, NULL, 0,
1174         "acp133.NULL", HFILL }},
1175     { &hf_acp133_insteadOf,
1176       { "insteadOf", "acp133.insteadOf",
1177         FT_UINT32, BASE_DEC, NULL, 0,
1178         "acp133.SEQUENCE_OF_GeneralNames", HFILL }},
1179     { &hf_acp133_insteadOf_item,
1180       { "Item", "acp133.insteadOf_item",
1181         FT_UINT32, BASE_DEC, NULL, 0,
1182         "x509ce.GeneralNames", HFILL }},
1183     { &hf_acp133_inAdditionTo,
1184       { "inAdditionTo", "acp133.inAdditionTo",
1185         FT_UINT32, BASE_DEC, NULL, 0,
1186         "acp133.SEQUENCE_OF_GeneralNames", HFILL }},
1187     { &hf_acp133_inAdditionTo_item,
1188       { "Item", "acp133.inAdditionTo_item",
1189         FT_UINT32, BASE_DEC, NULL, 0,
1190         "x509ce.GeneralNames", HFILL }},
1191     { &hf_acp133_individual,
1192       { "individual", "acp133.individual",
1193         FT_NONE, BASE_NONE, NULL, 0,
1194         "x411.ORName", HFILL }},
1195     { &hf_acp133_member_of_dl,
1196       { "member-of-dl", "acp133.member_of_dl",
1197         FT_NONE, BASE_NONE, NULL, 0,
1198         "x411.ORName", HFILL }},
1199     { &hf_acp133_pattern_match,
1200       { "pattern-match", "acp133.pattern_match",
1201         FT_NONE, BASE_NONE, NULL, 0,
1202         "acp133.ORNamePattern", HFILL }},
1203     { &hf_acp133_member_of_group,
1204       { "member-of-group", "acp133.member_of_group",
1205         FT_UINT32, BASE_DEC, VALS(x509if_Name_vals), 0,
1206         "x509if.Name", HFILL }},
1207     { &hf_acp133_report_propagation,
1208       { "report-propagation", "acp133.report_propagation",
1209         FT_INT32, BASE_DEC, VALS(acp133_T_report_propagation_vals), 0,
1210         "acp133.T_report_propagation", HFILL }},
1211     { &hf_acp133_report_from_dl,
1212       { "report-from-dl", "acp133.report_from_dl",
1213         FT_INT32, BASE_DEC, VALS(acp133_T_report_from_dl_vals), 0,
1214         "acp133.T_report_from_dl", HFILL }},
1215     { &hf_acp133_originating_MTA_report,
1216       { "originating-MTA-report", "acp133.originating_MTA_report",
1217         FT_INT32, BASE_DEC, VALS(acp133_T_originating_MTA_report_vals), 0,
1218         "acp133.T_originating_MTA_report", HFILL }},
1219     { &hf_acp133_originator_report,
1220       { "originator-report", "acp133.originator_report",
1221         FT_INT32, BASE_DEC, VALS(acp133_T_originator_report_vals), 0,
1222         "acp133.T_originator_report", HFILL }},
1223     { &hf_acp133_return_of_content,
1224       { "return-of-content", "acp133.return_of_content",
1225         FT_UINT32, BASE_DEC, VALS(acp133_T_return_of_content_vals), 0,
1226         "acp133.T_return_of_content", HFILL }},
1227     { &hf_acp133_priority,
1228       { "priority", "acp133.priority",
1229         FT_INT32, BASE_DEC, VALS(acp133_T_priority_vals), 0,
1230         "acp133.T_priority", HFILL }},
1231     { &hf_acp133_disclosure_of_other_recipients,
1232       { "disclosure-of-other-recipients", "acp133.disclosure_of_other_recipients",
1233         FT_UINT32, BASE_DEC, VALS(acp133_T_disclosure_of_other_recipients_vals), 0,
1234         "acp133.T_disclosure_of_other_recipients", HFILL }},
1235     { &hf_acp133_implicit_conversion_prohibited,
1236       { "implicit-conversion-prohibited", "acp133.implicit_conversion_prohibited",
1237         FT_UINT32, BASE_DEC, VALS(acp133_T_implicit_conversion_prohibited_vals), 0,
1238         "acp133.T_implicit_conversion_prohibited", HFILL }},
1239     { &hf_acp133_conversion_with_loss_prohibited,
1240       { "conversion-with-loss-prohibited", "acp133.conversion_with_loss_prohibited",
1241         FT_UINT32, BASE_DEC, VALS(acp133_T_conversion_with_loss_prohibited_vals), 0,
1242         "acp133.T_conversion_with_loss_prohibited", HFILL }},
1243     { &hf_acp133_further_dl_expansion_allowed,
1244       { "further-dl-expansion-allowed", "acp133.further_dl_expansion_allowed",
1245         FT_BOOLEAN, 8, NULL, 0,
1246         "acp133.BOOLEAN", HFILL }},
1247     { &hf_acp133_originator_requested_alternate_recipient_removed,
1248       { "originator-requested-alternate-recipient-removed", "acp133.originator_requested_alternate_recipient_removed",
1249         FT_BOOLEAN, 8, NULL, 0,
1250         "acp133.BOOLEAN", HFILL }},
1251     { &hf_acp133_proof_of_delivery,
1252       { "proof-of-delivery", "acp133.proof_of_delivery",
1253         FT_INT32, BASE_DEC, VALS(acp133_T_proof_of_delivery_vals), 0,
1254         "acp133.T_proof_of_delivery", HFILL }},
1255     { &hf_acp133_requested_delivery_method,
1256       { "requested-delivery-method", "acp133.requested_delivery_method",
1257         FT_UINT32, BASE_DEC, VALS(acp133_T_requested_delivery_method_vals), 0,
1258         "acp133.T_requested_delivery_method", HFILL }},
1259     { &hf_acp133_unchanged,
1260       { "unchanged", "acp133.unchanged",
1261         FT_NONE, BASE_NONE, NULL, 0,
1262         "acp133.NULL", HFILL }},
1263     { &hf_acp133_removed,
1264       { "removed", "acp133.removed",
1265         FT_NONE, BASE_NONE, NULL, 0,
1266         "acp133.NULL", HFILL }},
1267     { &hf_acp133_replaced,
1268       { "replaced", "acp133.replaced",
1269         FT_UINT32, BASE_DEC, NULL, 0,
1270         "x411.RequestedDeliveryMethod", HFILL }},
1271     { &hf_acp133_token_encryption_algorithm_preference,
1272       { "token-encryption-algorithm-preference", "acp133.token_encryption_algorithm_preference",
1273         FT_UINT32, BASE_DEC, NULL, 0,
1274         "acp133.SEQUENCE_OF_AlgorithmInformation", HFILL }},
1275     { &hf_acp133_token_encryption_algorithm_preference_item,
1276       { "Item", "acp133.token_encryption_algorithm_preference_item",
1277         FT_NONE, BASE_NONE, NULL, 0,
1278         "acp133.AlgorithmInformation", HFILL }},
1279     { &hf_acp133_token_signature_algorithm_preference,
1280       { "token-signature-algorithm-preference", "acp133.token_signature_algorithm_preference",
1281         FT_UINT32, BASE_DEC, NULL, 0,
1282         "acp133.SEQUENCE_OF_AlgorithmInformation", HFILL }},
1283     { &hf_acp133_token_signature_algorithm_preference_item,
1284       { "Item", "acp133.token_signature_algorithm_preference_item",
1285         FT_NONE, BASE_NONE, NULL, 0,
1286         "acp133.AlgorithmInformation", HFILL }},
1287     { &hf_acp133_originator_certificate_selector,
1288       { "originator-certificate-selector", "acp133.originator_certificate_selector",
1289         FT_NONE, BASE_NONE, NULL, 0,
1290         "x509ce.CertificateAssertion", HFILL }},
1291     { &hf_acp133_recipient_certificate_selector,
1292       { "recipient-certificate-selector", "acp133.recipient_certificate_selector",
1293         FT_NONE, BASE_NONE, NULL, 0,
1294         "x509ce.CertificateAssertion", HFILL }},
1295     { &hf_acp133_description,
1296       { "description", "acp133.description",
1297         FT_STRING, BASE_NONE, NULL, 0,
1298         "acp133.GeneralString", HFILL }},
1299     { &hf_acp133_address,
1300       { "address", "acp133.address",
1301         FT_NONE, BASE_NONE, NULL, 0,
1302         "x411.ORAddress", HFILL }},
1303     { &hf_acp133_capabilities,
1304       { "capabilities", "acp133.capabilities",
1305         FT_UINT32, BASE_DEC, NULL, 0,
1306         "acp133.SET_OF_Capability", HFILL }},
1307     { &hf_acp133_capabilities_item,
1308       { "Item", "acp133.capabilities_item",
1309         FT_NONE, BASE_NONE, NULL, 0,
1310         "acp133.Capability", HFILL }},
1311     { &hf_acp133_content_types,
1312       { "content-types", "acp133.content_types",
1313         FT_UINT32, BASE_DEC, NULL, 0,
1314         "acp133.SET_OF_ExtendedContentType", HFILL }},
1315     { &hf_acp133_content_types_item,
1316       { "Item", "acp133.content_types_item",
1317         FT_OID, BASE_NONE, NULL, 0,
1318         "x411.ExtendedContentType", HFILL }},
1319     { &hf_acp133_maximum_content_length,
1320       { "maximum-content-length", "acp133.maximum_content_length",
1321         FT_UINT32, BASE_DEC, NULL, 0,
1322         "x411.ContentLength", HFILL }},
1323     { &hf_acp133_encoded_information_types_constraints,
1324       { "encoded-information-types-constraints", "acp133.encoded_information_types_constraints",
1325         FT_NONE, BASE_NONE, NULL, 0,
1326         "x411.EncodedInformationTypesConstraints", HFILL }},
1327     { &hf_acp133_security_labels,
1328       { "security-labels", "acp133.security_labels",
1329         FT_UINT32, BASE_DEC, NULL, 0,
1330         "x411.SecurityContext", HFILL }},
1331     { &hf_acp133_OnSupported_acp127_nn,
1332       { "acp127-nn", "acp133.acp127-nn",
1333         FT_BOOLEAN, 8, NULL, 0x80,
1334         "", HFILL }},
1335     { &hf_acp133_OnSupported_acp127_pn,
1336       { "acp127-pn", "acp133.acp127-pn",
1337         FT_BOOLEAN, 8, NULL, 0x40,
1338         "", HFILL }},
1339     { &hf_acp133_OnSupported_acp127_tn,
1340       { "acp127-tn", "acp133.acp127-tn",
1341         FT_BOOLEAN, 8, NULL, 0x20,
1342         "", HFILL }},
1343
1344 /*--- End of included file: packet-acp133-hfarr.c ---*/
1345 #line 72 "packet-acp133-template.c"
1346   };
1347
1348   /* List of subtrees */
1349   static gint *ett[] = {
1350     &ett_acp133,
1351
1352 /*--- Included file: packet-acp133-ettarr.c ---*/
1353 #line 1 "packet-acp133-ettarr.c"
1354     &ett_acp133_OnSupported,
1355     &ett_acp133_Addressees,
1356     &ett_acp133_MonthlyUKMs,
1357     &ett_acp133_SEQUENCE_OF_UKMEntry,
1358     &ett_acp133_Remarks,
1359     &ett_acp133_RIParameters,
1360     &ett_acp133_UKMEntry,
1361     &ett_acp133_PairwiseTag,
1362     &ett_acp133_MLReceiptPolicy,
1363     &ett_acp133_SEQUENCE_OF_GeneralNames,
1364     &ett_acp133_DLSubmitPermission,
1365     &ett_acp133_DLPolicy,
1366     &ett_acp133_T_requested_delivery_method,
1367     &ett_acp133_SEQUENCE_OF_AlgorithmInformation,
1368     &ett_acp133_AlgorithmInformation,
1369     &ett_acp133_AddressCapabilities,
1370     &ett_acp133_SET_OF_Capability,
1371     &ett_acp133_Capability,
1372     &ett_acp133_SET_OF_ExtendedContentType,
1373
1374 /*--- End of included file: packet-acp133-ettarr.c ---*/
1375 #line 78 "packet-acp133-template.c"
1376   };
1377
1378   /* Register protocol */
1379   proto_acp133 = proto_register_protocol(PNAME, PSNAME, PFNAME);
1380
1381   /* Register fields and subtrees */
1382   proto_register_field_array(proto_acp133, hf, array_length(hf));
1383   proto_register_subtree_array(ett, array_length(ett));
1384
1385 }
1386
1387
1388 /*--- proto_reg_handoff_acp133 --- */
1389 void proto_reg_handoff_acp133(void) {
1390
1391
1392 /*--- Included file: packet-acp133-dis-tab.c ---*/
1393 #line 1 "packet-acp133-dis-tab.c"
1394   register_ber_oid_dissector("2.6.5.2.4", dissect_DLSubmitPermission_PDU, proto_acp133, "id-at-mhs-dl-submit-permissions");
1395   register_ber_oid_dissector("2.6.5.2.13", dissect_DLPolicy_PDU, proto_acp133, "id-at-mhs-dl-policy");
1396   register_ber_oid_dissector("2.6.5.2.16", dissect_AddressCapabilities_PDU, proto_acp133, "id-at-mhs-or-addresses-with-capabilities");
1397   register_ber_oid_dissector("2.6.5.2.19", dissect_Capability_PDU, proto_acp133, "id-at-mhs-deliverable-classes");
1398   register_ber_oid_dissector("2.16.840.1.101.2.1.5.14", dissect_Kmid_PDU, proto_acp133, "id-at-alid");
1399   register_ber_oid_dissector("2.16.840.1.101.2.1.5.20", dissect_MonthlyUKMs_PDU, proto_acp133, "id-at-janUKMs");
1400   register_ber_oid_dissector("2.16.840.1.101.2.1.5.21", dissect_MonthlyUKMs_PDU, proto_acp133, "id-at-febUKMs");
1401   register_ber_oid_dissector("2.16.840.1.101.2.1.5.22", dissect_MonthlyUKMs_PDU, proto_acp133, "id-at-marUKMs");
1402   register_ber_oid_dissector("2.16.840.1.101.2.1.5.23", dissect_MonthlyUKMs_PDU, proto_acp133, "id-at-aprUKMs");
1403   register_ber_oid_dissector("2.16.840.1.101.2.1.5.24", dissect_MonthlyUKMs_PDU, proto_acp133, "id-at-mayUKMs");
1404   register_ber_oid_dissector("2.16.840.1.101.2.1.5.25", dissect_MonthlyUKMs_PDU, proto_acp133, "id-at-junUKMs");
1405   register_ber_oid_dissector("2.16.840.1.101.2.1.5.26", dissect_MonthlyUKMs_PDU, proto_acp133, "id-at-julUKMs");
1406   register_ber_oid_dissector("2.16.840.1.101.2.1.5.27", dissect_MonthlyUKMs_PDU, proto_acp133, "id-at-augUKMs");
1407   register_ber_oid_dissector("2.16.840.1.101.2.1.5.28", dissect_MonthlyUKMs_PDU, proto_acp133, "id-at-sepUKMs");
1408   register_ber_oid_dissector("2.16.840.1.101.2.1.5.29", dissect_MonthlyUKMs_PDU, proto_acp133, "id-at-octUKMs");
1409   register_ber_oid_dissector("2.16.840.1.101.2.1.5.30", dissect_MonthlyUKMs_PDU, proto_acp133, "id-at-novUKMs");
1410   register_ber_oid_dissector("2.16.840.1.101.2.1.5.31", dissect_MonthlyUKMs_PDU, proto_acp133, "id-at-decUKMs");
1411   register_ber_oid_dissector("2.16.840.1.101.2.2.1.46", dissect_Addressees_PDU, proto_acp133, "id-at-actionAddressees");
1412   register_ber_oid_dissector("2.16.840.1.101.2.2.1.47", dissect_Addressees_PDU, proto_acp133, "id-at-additionalAddressees");
1413   register_ber_oid_dissector("2.16.840.1.101.2.2.1.48", dissect_Addressees_PDU, proto_acp133, "id-at-additionalSecondPartyAddressees");
1414   register_ber_oid_dissector("2.16.840.1.101.2.2.1.50", dissect_Addressees_PDU, proto_acp133, "id-at-allowableOriginators");
1415   register_ber_oid_dissector("2.16.840.1.101.2.2.1.52", dissect_Community_PDU, proto_acp133, "id-at-community");
1416   register_ber_oid_dissector("2.16.840.1.101.2.2.1.56", dissect_Classification_PDU, proto_acp133, "id-at-entryClassification");
1417   register_ber_oid_dissector("2.16.840.1.101.2.2.1.59", dissect_Addressees_PDU, proto_acp133, "id-at-infoAddressees");
1418   register_ber_oid_dissector("2.16.840.1.101.2.2.1.67", dissect_Classification_PDU, proto_acp133, "id-at-nameClassification");
1419   register_ber_oid_dissector("2.16.840.1.101.2.2.1.71", dissect_Addressees_PDU, proto_acp133, "id-at-plaAddressees");
1420   register_ber_oid_dissector("2.16.840.1.101.2.2.1.76", dissect_Remarks_PDU, proto_acp133, "id-at-remarks");
1421   register_ber_oid_dissector("2.16.840.1.101.2.2.1.78", dissect_Classification_PDU, proto_acp133, "id-at-rIClassification");
1422   register_ber_oid_dissector("2.16.840.1.101.2.2.1.79", dissect_RIParameters_PDU, proto_acp133, "id-at-rIInfo");
1423   register_ber_oid_dissector("2.16.840.1.101.2.2.1.80", dissect_Addressees_PDU, proto_acp133, "id-at-secondPartyAddressees");
1424   register_ber_oid_dissector("2.16.840.1.101.2.2.1.104", dissect_DistributionCode_PDU, proto_acp133, "id-at-distributionCodeAction");
1425   register_ber_oid_dissector("2.16.840.1.101.2.2.1.105", dissect_DistributionCode_PDU, proto_acp133, "id-at-distributionCodeInfo");
1426   register_ber_oid_dissector("2.16.840.1.101.2.2.1.108", dissect_ACPPreferredDelivery_PDU, proto_acp133, "id-at-aCPPreferredDelivery");
1427   register_ber_oid_dissector("2.16.840.1.101.2.2.1.112", dissect_ALType_PDU, proto_acp133, "id-at-aLType");
1428   register_ber_oid_dissector("2.16.840.1.101.2.2.1.123", dissect_OnSupported_PDU, proto_acp133, "id-at-onSupported");
1429   register_ber_oid_dissector("2.16.840.1.101.2.2.1.135", dissect_MLReceiptPolicy_PDU, proto_acp133, "id-at-aLReceiptPolicy");
1430   register_ber_oid_dissector("2.16.840.1.101.2.2.1.142", dissect_ACPLegacyFormat_PDU, proto_acp133, "id-at-aCPLegacyFormat");
1431   register_ber_oid_dissector("2.16.840.1.101.2.2.1.146", dissect_JPEG_PDU, proto_acp133, "id-at-aCPNetwAccessSchemaEdB");
1432   register_ber_oid_dissector("2.16.840.1.101.2.2.1.147", dissect_JPEG_PDU, proto_acp133, "id-at-aCPNetworkSchemaEdB");
1433
1434
1435 /*--- End of included file: packet-acp133-dis-tab.c ---*/
1436 #line 94 "packet-acp133-template.c"
1437
1438   /* X.402 Object Classes */
1439   oid_add_from_string("id-oc-mhs-distribution-list","2.6.5.1.0");
1440   oid_add_from_string("id-oc-mhs-message-store","2.6.5.1.1");
1441   oid_add_from_string("id-oc-mhs-message-transfer-agent","2.6.5.1.2");
1442   oid_add_from_string("id-oc-mhs-user","2.6.5.1.3");
1443
1444   /* SDN.701 Object Classes */
1445   oid_add_from_string("id-oc-secure-user","2.16.840.1.101.2.1.4.13");
1446   oid_add_from_string("id-oc-ukms","2.16.840.1.101.2.1.4.16");
1447
1448   /* ACP133 Object Classes */
1449   oid_add_from_string("id-oc-plaData","2.16.840.1.101.2.2.3.26");
1450   oid_add_from_string("id-oc-cadACP127","2.16.840.1.101.2.2.3.28");
1451   oid_add_from_string("id-oc-mLA","2.16.840.1.101.2.2.3.31");
1452   oid_add_from_string("id-oc-orgACP127","2.16.840.1.101.2.2.3.34");
1453   oid_add_from_string("id-oc-plaCollectiveACP127","2.16.840.1.101.2.2.3.35");
1454   oid_add_from_string("id-oc-routingIndicator","2.16.840.1.101.2.2.3.37");
1455   oid_add_from_string("id-oc-sigintPLA","2.16.840.1.101.2.2.3.38");
1456   oid_add_from_string("id-oc-sIPLA","2.16.840.1.101.2.2.3.39");
1457   oid_add_from_string("id-oc-spotPLA","2.16.840.1.101.2.2.3.40");
1458   oid_add_from_string("id-oc-taskForceACP127","2.16.840.1.101.2.2.3.41");
1459   oid_add_from_string("id-oc-tenantACP127","2.16.840.1.101.2.2.3.42");
1460   oid_add_from_string("id-oc-plaACP127","2.16.840.1.101.2.2.3.47");
1461   oid_add_from_string("id-oc-aliasCommonName","2.16.840.1.101.2.2.3.52");
1462   oid_add_from_string("id-oc-aliasOrganizationalUnit","2.16.840.1.101.2.2.3.53");
1463   oid_add_from_string("id-oc-distributionCodesHandled","2.16.840.1.101.2.2.3.54");
1464   oid_add_from_string("id-oc-distributionCodeDescription","2.16.840.1.101.2.2.3.55");
1465   oid_add_from_string("id-oc-plaUser","2.16.840.1.101.2.2.3.56");
1466   oid_add_from_string("id-oc-addressList","2.16.840.1.101.2.2.3.57");
1467   oid_add_from_string("id-oc-altSpellingACP127","2.16.840.1.101.2.2.3.58");
1468   oid_add_from_string("id-oc-messagingGateway","2.16.840.1.101.2.2.3.59");
1469   oid_add_from_string("id-oc-network","2.16.840.1.101.2.2.3.60");
1470   oid_add_from_string("id-oc-networkInstructions","2.16.840.1.101.2.2.3.61");
1471   oid_add_from_string("id-oc-otherContactInformation","2.16.840.1.101.2.2.3.62");
1472   oid_add_from_string("id-oc-releaseAuthorityPerson","2.16.840.1.101.2.2.3.63");
1473   oid_add_from_string("id-oc-mLAgent","2.16.840.1.101.2.2.3.64");
1474   oid_add_from_string("id-oc-releaseAuthorityPersonA","2.16.840.1.101.2.2.3.65");
1475   oid_add_from_string("id-oc-securePkiUser","2.16.840.1.101.2.2.3.66");
1476   oid_add_from_string("id-oc-dSSCSPLA","2.16.840.1.101.2.2.3.67");
1477   oid_add_from_string("id-oc-aCPNetworkEdB","2.16.840.1.101.2.2.3.68");
1478   oid_add_from_string("id-oc-aCPNetworkInstructionsEdB","2.16.840.1.101.2.2.3.69");
1479
1480   /* gateway types */
1481   oid_add_from_string("acp120-acp127","2.16.840.1.101.2.2.5.0");
1482   oid_add_from_string("acp120-janap128","2.16.840.1.101.2.2.5.1");
1483   oid_add_from_string("acp120-mhs","2.16.840.1.101.2.2.5.2");
1484   oid_add_from_string("acp120-mmhs","2.16.840.1.101.2.2.5.3");
1485   oid_add_from_string("acp120-rfc822","2.16.840.1.101.2.2.5.4");
1486   oid_add_from_string("boundaryMTA","2.16.840.1.101.2.2.5.5");
1487   oid_add_from_string("mmhs-mhs","2.16.840.1.101.2.2.5.6");
1488   oid_add_from_string("mmhs-rfc822","2.16.840.1.101.2.2.5.7");
1489   oid_add_from_string("mta-acp127","2.16.840.1.101.2.2.5.8");
1490
1491 }