summaryrefslogtreecommitdiff
path: root/epan
diff options
context:
space:
mode:
authorGraeme Lunt <graeme.lunt@smhs.co.uk>2007-06-24 08:23:26 +0000
committerGraeme Lunt <graeme.lunt@smhs.co.uk>2007-06-24 08:23:26 +0000
commitba986f3f05dffd57dbec71b389ea45d3b358ae58 (patch)
tree22096ff399897caffc4299c1eb5becfbc7b28fa2 /epan
parentc9e31101a10498e755b17cdf451d13bd5be74f8e (diff)
downloadwireshark-ba986f3f05dffd57dbec71b389ea45d3b358ae58.tar.gz
Consolidation of FTBP dissector into the X420 dissector.
svn path=/trunk/; revision=22178
Diffstat (limited to 'epan')
-rw-r--r--epan/dissectors/Makefile.common2
-rw-r--r--epan/dissectors/packet-ftbp.c1345
-rw-r--r--epan/dissectors/packet-ftbp.h39
-rw-r--r--epan/dissectors/packet-x420.c1449
-rw-r--r--epan/dissectors/packet-x420.h4
5 files changed, 1435 insertions, 1404 deletions
diff --git a/epan/dissectors/Makefile.common b/epan/dissectors/Makefile.common
index 966afe35e1..e7e7f7ee91 100644
--- a/epan/dissectors/Makefile.common
+++ b/epan/dissectors/Makefile.common
@@ -94,7 +94,6 @@ ASN_DISSECTOR_SRC = \
packet-dsp.c \
packet-ess.c \
packet-ftam.c \
- packet-ftbp.c \
packet-gnm.c \
packet-gsm_map.c \
packet-h225.c \
@@ -856,7 +855,6 @@ DISSECTOR_INCLUDES = \
packet-fr.h \
packet-frame.h \
packet-ftam.h \
- packet-ftbp.h \
packet-giop.h \
packet-gnm.h \
packet-gnutella.h \
diff --git a/epan/dissectors/packet-ftbp.c b/epan/dissectors/packet-ftbp.c
deleted file mode 100644
index 045c06e57f..0000000000
--- a/epan/dissectors/packet-ftbp.c
+++ /dev/null
@@ -1,1345 +0,0 @@
-/* Do not modify this file. */
-/* It is created automatically by the ASN.1 to Wireshark dissector compiler */
-/* .\packet-ftbp.c */
-/* ../../tools/asn2wrs.py -b -X -T -e -p ftbp -c ftbp.cnf -s packet-ftbp-template ftbp.asn */
-
-/* Input file: packet-ftbp-template.c */
-
-#line 1 "packet-ftbp-template.c"
-/* packet-ftbp.c
- * Routines for File Transfer Body Part (FTBP) dissection (used in X.420 content)
- * Graeme Lunt 2005
- *
- * $Id$
- *
- * Wireshark - Network traffic analyzer
- * By Gerald Combs <gerald@wireshark.org>
- * Copyright 1998 Gerald Combs
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-#ifdef HAVE_CONFIG_H
-# include "config.h"
-#endif
-
-#include <glib.h>
-#include <epan/packet.h>
-#include <epan/conversation.h>
-#include <epan/asn1.h>
-
-#include <stdio.h>
-#include <string.h>
-
-#include "packet-ber.h"
-
-#include "packet-acse.h"
-#include "packet-ftam.h"
-#include "packet-x411.h"
-#include "packet-x420.h"
-
-#include "packet-ftbp.h"
-
-#define PNAME "X.420 File Transfer Body Part"
-#define PSNAME "FTBP"
-#define PFNAME "ftbp"
-
-/* Initialize the protocol and registered fields */
-int proto_ftbp = -1;
-
-
-/*--- Included file: packet-ftbp-hf.c ---*/
-#line 1 "packet-ftbp-hf.c"
-static int hf_ftbp_FileTransferParameters_PDU = -1; /* FileTransferParameters */
-static int hf_ftbp_FileTransferData_PDU = -1; /* FileTransferData */
-static int hf_ftbp_related_stored_file = -1; /* RelatedStoredFile */
-static int hf_ftbp_contents_type = -1; /* ContentsTypeParameter */
-static int hf_ftbp_environment = -1; /* EnvironmentParameter */
-static int hf_ftbp_compression = -1; /* CompressionParameter */
-static int hf_ftbp_file_attributes = -1; /* FileAttributes */
-static int hf_ftbp_extensions = -1; /* ExtensionsField */
-static int hf_ftbp_FileTransferData_item = -1; /* EXTERNALt */
-static int hf_ftbp_RelatedStoredFile_item = -1; /* RelatedStoredFile_item */
-static int hf_ftbp_file_identifier = -1; /* FileIdentifier */
-static int hf_ftbp_relationship = -1; /* Relationship */
-static int hf_ftbp_pathname_and_version = -1; /* PathnameandVersion */
-static int hf_ftbp_cross_reference = -1; /* CrossReference */
-static int hf_ftbp_pathname = -1; /* Pathname_Attribute */
-static int hf_ftbp_file_version = -1; /* GraphicString */
-static int hf_ftbp_application_cross_reference = -1; /* OCTET_STRING */
-static int hf_ftbp_message_reference = -1; /* MessageReference */
-static int hf_ftbp_body_part_reference = -1; /* INTEGER */
-static int hf_ftbp_user = -1; /* ORName */
-static int hf_ftbp_user_relative_identifier = -1; /* PrintableString */
-static int hf_ftbp_explicit_relationship = -1; /* ExplicitRelationship */
-static int hf_ftbp_descriptive_relationship = -1; /* GraphicString */
-static int hf_ftbp_document_type = -1; /* T_document_type */
-static int hf_ftbp_document_type_name = -1; /* Document_Type_Name */
-static int hf_ftbp_parameter = -1; /* T_parameter */
-static int hf_ftbp_constraint_set_and_abstract_syntax = -1; /* T_constraint_set_and_abstract_syntax */
-static int hf_ftbp_constraint_set_name = -1; /* Constraint_Set_Name */
-static int hf_ftbp_abstract_syntax_name = -1; /* Abstract_Syntax_Name */
-static int hf_ftbp_application_reference = -1; /* GeneralIdentifier */
-static int hf_ftbp_machine = -1; /* GeneralIdentifier */
-static int hf_ftbp_operating_system = -1; /* OBJECT_IDENTIFIER */
-static int hf_ftbp_user_visible_string = -1; /* T_user_visible_string */
-static int hf_ftbp_user_visible_string_item = -1; /* GraphicString */
-static int hf_ftbp_registered_identifier = -1; /* OBJECT_IDENTIFIER */
-static int hf_ftbp_descriptive_identifier = -1; /* T_descriptive_identifier */
-static int hf_ftbp_descriptive_identifier_item = -1; /* GraphicString */
-static int hf_ftbp_compression_algorithm_id = -1; /* OBJECT_IDENTIFIER */
-static int hf_ftbp_compression_algorithm_param = -1; /* T_compression_algorithm_param */
-static int hf_ftbp_permitted_actions = -1; /* Permitted_Actions_Attribute */
-static int hf_ftbp_storage_account = -1; /* Account_Attribute */
-static int hf_ftbp_date_and_time_of_creation = -1; /* Date_and_Time_Attribute */
-static int hf_ftbp_date_and_time_of_last_modification = -1; /* Date_and_Time_Attribute */
-static int hf_ftbp_date_and_time_of_last_read_access = -1; /* Date_and_Time_Attribute */
-static int hf_ftbp_date_and_time_of_last_attribute_modification = -1; /* Date_and_Time_Attribute */
-static int hf_ftbp_identity_of_creator = -1; /* User_Identity_Attribute */
-static int hf_ftbp_identity_of_last_modifier = -1; /* User_Identity_Attribute */
-static int hf_ftbp_identity_of_last_reader = -1; /* User_Identity_Attribute */
-static int hf_ftbp_identity_of_last_attribute_modifier = -1; /* User_Identity_Attribute */
-static int hf_ftbp_object_availability = -1; /* Object_Availability_Attribute */
-static int hf_ftbp_object_size = -1; /* Object_Size_Attribute */
-static int hf_ftbp_future_object_size = -1; /* Object_Size_Attribute */
-static int hf_ftbp_access_control = -1; /* Access_Control_Attribute */
-static int hf_ftbp_legal_qualifications = -1; /* Legal_Qualification_Attribute */
-static int hf_ftbp_private_use = -1; /* Private_Use_Attribute */
-static int hf_ftbp_attribute_extensions = -1; /* Attribute_Extensions */
-static int hf_ftbp_incomplete_pathname = -1; /* Pathname */
-static int hf_ftbp_complete_pathname = -1; /* Pathname */
-static int hf_ftbp_no_value_available = -1; /* NULL */
-static int hf_ftbp_account_actual_values = -1; /* Account */
-static int hf_ftbp_identity_actual_values = -1; /* User_Identity */
-static int hf_ftbp_actual_values = -1; /* SET_OF_Access_Control_Element */
-static int hf_ftbp_actual_values_item = -1; /* Access_Control_Element */
-static int hf_ftbp_action_list = -1; /* Access_Request */
-static int hf_ftbp_concurrency_access = -1; /* Concurrency_Access */
-static int hf_ftbp_identity = -1; /* User_Identity */
-static int hf_ftbp_passwords = -1; /* Access_Passwords */
-static int hf_ftbp_location = -1; /* Application_Entity_Title */
-static int hf_ftbp_read_password = -1; /* Password */
-static int hf_ftbp_insert_password = -1; /* Password */
-static int hf_ftbp_replace_password = -1; /* Password */
-static int hf_ftbp_extend_password = -1; /* Password */
-static int hf_ftbp_erase_password = -1; /* Password */
-static int hf_ftbp_read_attribute_password = -1; /* Password */
-static int hf_ftbp_change_attribute_password = -1; /* Password */
-static int hf_ftbp_delete_password = -1; /* Password */
-static int hf_ftbp_pass_passwords = -1; /* Pass_Passwords */
-static int hf_ftbp_link_password = -1; /* Password */
-static int hf_ftbp_graphic_string = -1; /* GraphicString */
-static int hf_ftbp_octet_string = -1; /* OCTET_STRING */
-static int hf_ftbp_Pass_Passwords_item = -1; /* Password */
-static int hf_ftbp_ap_title = -1; /* AP_title */
-static int hf_ftbp_ae_qualifier = -1; /* AE_qualifier */
-/* named bits */
-static int hf_ftbp_Access_Request_read = -1;
-static int hf_ftbp_Access_Request_insert = -1;
-static int hf_ftbp_Access_Request_replace = -1;
-static int hf_ftbp_Access_Request_extend = -1;
-static int hf_ftbp_Access_Request_erase = -1;
-static int hf_ftbp_Access_Request_read_attribute = -1;
-static int hf_ftbp_Access_Request_change_attribute = -1;
-static int hf_ftbp_Access_Request_delete_object = -1;
-
-/*--- End of included file: packet-ftbp-hf.c ---*/
-#line 55 "packet-ftbp-template.c"
-
-/* Initialize the subtree pointers */
-static gint ett_ftbp = -1;
-
-/*--- Included file: packet-ftbp-ett.c ---*/
-#line 1 "packet-ftbp-ett.c"
-static gint ett_ftbp_FileTransferParameters = -1;
-static gint ett_ftbp_FileTransferData = -1;
-static gint ett_ftbp_RelatedStoredFile = -1;
-static gint ett_ftbp_RelatedStoredFile_item = -1;
-static gint ett_ftbp_FileIdentifier = -1;
-static gint ett_ftbp_PathnameandVersion = -1;
-static gint ett_ftbp_CrossReference = -1;
-static gint ett_ftbp_MessageReference = -1;
-static gint ett_ftbp_Relationship = -1;
-static gint ett_ftbp_Contents_Type_Attribute = -1;
-static gint ett_ftbp_T_document_type = -1;
-static gint ett_ftbp_T_constraint_set_and_abstract_syntax = -1;
-static gint ett_ftbp_EnvironmentParameter = -1;
-static gint ett_ftbp_T_user_visible_string = -1;
-static gint ett_ftbp_GeneralIdentifier = -1;
-static gint ett_ftbp_T_descriptive_identifier = -1;
-static gint ett_ftbp_CompressionParameter = -1;
-static gint ett_ftbp_FileAttributes = -1;
-static gint ett_ftbp_Pathname_Attribute = -1;
-static gint ett_ftbp_Account_Attribute = -1;
-static gint ett_ftbp_User_Identity_Attribute = -1;
-static gint ett_ftbp_Access_Control_Attribute = -1;
-static gint ett_ftbp_SET_OF_Access_Control_Element = -1;
-static gint ett_ftbp_Access_Control_Element = -1;
-static gint ett_ftbp_Access_Request = -1;
-static gint ett_ftbp_Access_Passwords = -1;
-static gint ett_ftbp_Password = -1;
-static gint ett_ftbp_Pass_Passwords = -1;
-static gint ett_ftbp_Application_Entity_Title = -1;
-
-/*--- End of included file: packet-ftbp-ett.c ---*/
-#line 59 "packet-ftbp-template.c"
-
-
-/*--- Included file: packet-ftbp-fn.c ---*/
-#line 1 "packet-ftbp-fn.c"
-
-static const value_string ftbp_Pathname_Attribute_vals[] = {
- { 0, "incomplete-pathname" },
- { 23, "complete-pathname" },
- { 0, NULL }
-};
-
-static const ber_choice_t Pathname_Attribute_choice[] = {
- { 0, &hf_ftbp_incomplete_pathname, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ftam_Pathname },
- { 23, &hf_ftbp_complete_pathname, BER_CLASS_CON, 23, BER_FLAGS_IMPLTAG, dissect_ftam_Pathname },
- { 0, NULL, 0, 0, 0, NULL }
-};
-
-static int
-dissect_ftbp_Pathname_Attribute(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_ber_choice(actx, tree, tvb, offset,
- Pathname_Attribute_choice, hf_index, ett_ftbp_Pathname_Attribute,
- NULL);
-
- return offset;
-}
-
-
-
-static int
-dissect_ftbp_GraphicString(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_GraphicString,
- actx, tree, tvb, offset, hf_index,
- NULL);
-
- return offset;
-}
-
-
-static const ber_sequence_t PathnameandVersion_sequence[] = {
- { &hf_ftbp_pathname , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_ftbp_Pathname_Attribute },
- { &hf_ftbp_file_version , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftbp_GraphicString },
- { NULL, 0, 0, 0, NULL }
-};
-
-static int
-dissect_ftbp_PathnameandVersion(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
- PathnameandVersion_sequence, hf_index, ett_ftbp_PathnameandVersion);
-
- return offset;
-}
-
-
-
-static int
-dissect_ftbp_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_) {
- offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
- NULL);
-
- return offset;
-}
-
-
-
-static int
-dissect_ftbp_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_) {
- offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
- actx, tree, tvb, offset, hf_index,
- NULL);
-
- return offset;
-}
-
-
-static const ber_sequence_t MessageReference_set[] = {
- { &hf_ftbp_user , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_ORName },
- { &hf_ftbp_user_relative_identifier, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ftbp_PrintableString },
- { NULL, 0, 0, 0, NULL }
-};
-
-static int
-dissect_ftbp_MessageReference(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- MessageReference_set, hf_index, ett_ftbp_MessageReference);
-
- return offset;
-}
-
-
-
-static int
-dissect_ftbp_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_) {
- offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
- NULL);
-
- return offset;
-}
-
-
-static const ber_sequence_t CrossReference_sequence[] = {
- { &hf_ftbp_application_cross_reference, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ftbp_OCTET_STRING },
- { &hf_ftbp_message_reference, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftbp_MessageReference },
- { &hf_ftbp_body_part_reference, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftbp_INTEGER },
- { NULL, 0, 0, 0, NULL }
-};
-
-static int
-dissect_ftbp_CrossReference(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
- CrossReference_sequence, hf_index, ett_ftbp_CrossReference);
-
- return offset;
-}
-
-
-static const value_string ftbp_FileIdentifier_vals[] = {
- { 0, "pathname-and-version" },
- { 1, "cross-reference" },
- { 0, NULL }
-};
-
-static const ber_choice_t FileIdentifier_choice[] = {
- { 0, &hf_ftbp_pathname_and_version, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ftbp_PathnameandVersion },
- { 1, &hf_ftbp_cross_reference, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ftbp_CrossReference },
- { 0, NULL, 0, 0, 0, NULL }
-};
-
-static int
-dissect_ftbp_FileIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_ber_choice(actx, tree, tvb, offset,
- FileIdentifier_choice, hf_index, ett_ftbp_FileIdentifier,
- NULL);
-
- return offset;
-}
-
-
-static const value_string ftbp_ExplicitRelationship_vals[] = {
- { 0, "unspecified" },
- { 1, "new-file" },
- { 2, "replacement" },
- { 3, "extension" },
- { 0, NULL }
-};
-
-
-static int
-dissect_ftbp_ExplicitRelationship(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
- NULL);
-
- return offset;
-}
-
-
-static const value_string ftbp_Relationship_vals[] = {
- { 0, "explicit-relationship" },
- { 1, "descriptive-relationship" },
- { 0, NULL }
-};
-
-static const ber_choice_t Relationship_choice[] = {
- { 0, &hf_ftbp_explicit_relationship, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ftbp_ExplicitRelationship },
- { 1, &hf_ftbp_descriptive_relationship, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ftbp_GraphicString },
- { 0, NULL, 0, 0, 0, NULL }
-};
-
-static int
-dissect_ftbp_Relationship(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_ber_choice(actx, tree, tvb, offset,
- Relationship_choice, hf_index, ett_ftbp_Relationship,
- NULL);
-
- return offset;
-}
-
-
-static const ber_sequence_t RelatedStoredFile_item_sequence[] = {
- { &hf_ftbp_file_identifier, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ftbp_FileIdentifier },
- { &hf_ftbp_relationship , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ftbp_Relationship },
- { NULL, 0, 0, 0, NULL }
-};
-
-static int
-dissect_ftbp_RelatedStoredFile_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_) {
- offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
- RelatedStoredFile_item_sequence, hf_index, ett_ftbp_RelatedStoredFile_item);
-
- return offset;
-}
-
-
-static const ber_sequence_t RelatedStoredFile_set_of[1] = {
- { &hf_ftbp_RelatedStoredFile_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_ftbp_RelatedStoredFile_item },
-};
-
-static int
-dissect_ftbp_RelatedStoredFile(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
- RelatedStoredFile_set_of, hf_index, ett_ftbp_RelatedStoredFile);
-
- return offset;
-}
-
-
-
-static int
-dissect_ftbp_Document_Type_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_) {
- offset = dissect_ber_object_identifier(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
-
- return offset;
-}
-
-
-
-static int
-dissect_ftbp_T_parameter(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 23 "ftbp.cnf"
-/* XXX: Not implemented yet */
-
-
-
- return offset;
-}
-
-
-static const ber_sequence_t T_document_type_sequence[] = {
- { &hf_ftbp_document_type_name, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_ftbp_Document_Type_Name },
- { &hf_ftbp_parameter , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftbp_T_parameter },
- { NULL, 0, 0, 0, NULL }
-};
-
-static int
-dissect_ftbp_T_document_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_) {
- offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
- T_document_type_sequence, hf_index, ett_ftbp_T_document_type);
-
- return offset;
-}
-
-
-
-static int
-dissect_ftbp_Constraint_Set_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_) {
- offset = dissect_ber_object_identifier(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
-
- return offset;
-}
-
-
-
-static int
-dissect_ftbp_Abstract_Syntax_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_) {
- offset = dissect_ber_object_identifier(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
-
- return offset;
-}
-
-
-static const ber_sequence_t T_constraint_set_and_abstract_syntax_sequence[] = {
- { &hf_ftbp_constraint_set_name, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_ftbp_Constraint_Set_Name },
- { &hf_ftbp_abstract_syntax_name, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_ftbp_Abstract_Syntax_Name },
- { NULL, 0, 0, 0, NULL }
-};
-
-static int
-dissect_ftbp_T_constraint_set_and_abstract_syntax(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
- T_constraint_set_and_abstract_syntax_sequence, hf_index, ett_ftbp_T_constraint_set_and_abstract_syntax);
-
- return offset;
-}
-
-
-static const value_string ftbp_Contents_Type_Attribute_vals[] = {
- { 0, "document-type" },
- { 1, "constraint-set-and-abstract-syntax" },
- { 0, NULL }
-};
-
-static const ber_choice_t Contents_Type_Attribute_choice[] = {
- { 0, &hf_ftbp_document_type , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ftbp_T_document_type },
- { 1, &hf_ftbp_constraint_set_and_abstract_syntax, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ftbp_T_constraint_set_and_abstract_syntax },
- { 0, NULL, 0, 0, 0, NULL }
-};
-
-static int
-dissect_ftbp_Contents_Type_Attribute(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_ber_choice(actx, tree, tvb, offset,
- Contents_Type_Attribute_choice, hf_index, ett_ftbp_Contents_Type_Attribute,
- NULL);
-
- return offset;
-}
-
-
-
-static int
-dissect_ftbp_ContentsTypeParameter(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_ftbp_Contents_Type_Attribute(implicit_tag, tvb, offset, actx, tree, hf_index);
-
- return offset;
-}
-
-
-
-static int
-dissect_ftbp_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_) {
- offset = dissect_ber_object_identifier(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
-
- return offset;
-}
-
-
-static const ber_sequence_t T_descriptive_identifier_sequence_of[1] = {
- { &hf_ftbp_descriptive_identifier_item, BER_CLASS_UNI, BER_UNI_TAG_GraphicString, BER_FLAGS_NOOWNTAG, dissect_ftbp_GraphicString },
-};
-
-static int
-dissect_ftbp_T_descriptive_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_) {
- offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
- T_descriptive_identifier_sequence_of, hf_index, ett_ftbp_T_descriptive_identifier);
-
- return offset;
-}
-
-
-static const value_string ftbp_GeneralIdentifier_vals[] = {
- { 0, "registered-identifier" },
- { 1, "descriptive-identifier" },
- { 0, NULL }
-};
-
-static const ber_choice_t GeneralIdentifier_choice[] = {
- { 0, &hf_ftbp_registered_identifier, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ftbp_OBJECT_IDENTIFIER },
- { 1, &hf_ftbp_descriptive_identifier, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ftbp_T_descriptive_identifier },
- { 0, NULL, 0, 0, 0, NULL }
-};
-
-static int
-dissect_ftbp_GeneralIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_ber_choice(actx, tree, tvb, offset,
- GeneralIdentifier_choice, hf_index, ett_ftbp_GeneralIdentifier,
- NULL);
-
- return offset;
-}
-
-
-static const ber_sequence_t T_user_visible_string_sequence_of[1] = {
- { &hf_ftbp_user_visible_string_item, BER_CLASS_UNI, BER_UNI_TAG_GraphicString, BER_FLAGS_NOOWNTAG, dissect_ftbp_GraphicString },
-};
-
-static int
-dissect_ftbp_T_user_visible_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_) {
- offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
- T_user_visible_string_sequence_of, hf_index, ett_ftbp_T_user_visible_string);
-
- return offset;
-}
-
-
-static const ber_sequence_t EnvironmentParameter_sequence[] = {
- { &hf_ftbp_application_reference, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_ftbp_GeneralIdentifier },
- { &hf_ftbp_machine , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_ftbp_GeneralIdentifier },
- { &hf_ftbp_operating_system, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftbp_OBJECT_IDENTIFIER },
- { &hf_ftbp_user_visible_string, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftbp_T_user_visible_string },
- { NULL, 0, 0, 0, NULL }
-};
-
-static int
-dissect_ftbp_EnvironmentParameter(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
- EnvironmentParameter_sequence, hf_index, ett_ftbp_EnvironmentParameter);
-
- return offset;
-}
-
-
-
-static int
-dissect_ftbp_T_compression_algorithm_param(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 26 "ftbp.cnf"
-/* XXX: Not implemented yet */
-
- return offset;
-}
-
-
-static const ber_sequence_t CompressionParameter_sequence[] = {
- { &hf_ftbp_compression_algorithm_id, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ftbp_OBJECT_IDENTIFIER },
- { &hf_ftbp_compression_algorithm_param, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ftbp_T_compression_algorithm_param },
- { NULL, 0, 0, 0, NULL }
-};
-
-static int
-dissect_ftbp_CompressionParameter(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
- CompressionParameter_sequence, hf_index, ett_ftbp_CompressionParameter);
-
- return offset;
-}
-
-
-
-static int
-dissect_ftbp_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_) {
- offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
-
- return offset;
-}
-
-
-
-static int
-dissect_ftbp_Account(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_GraphicString,
- actx, tree, tvb, offset, hf_index,
- NULL);
-
- return offset;
-}
-
-
-static const value_string ftbp_Account_Attribute_vals[] = {
- { 0, "no-value-available" },
- { 1, "actual-values" },
- { 0, NULL }
-};
-
-static const ber_choice_t Account_Attribute_choice[] = {
- { 0, &hf_ftbp_no_value_available, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ftbp_NULL },
- { 1, &hf_ftbp_account_actual_values, BER_CLASS_UNI, BER_UNI_TAG_GraphicString, BER_FLAGS_NOOWNTAG, dissect_ftbp_Account },
- { 0, NULL, 0, 0, 0, NULL }
-};
-
-static int
-dissect_ftbp_Account_Attribute(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_ber_choice(actx, tree, tvb, offset,
- Account_Attribute_choice, hf_index, ett_ftbp_Account_Attribute,
- NULL);
-
- return offset;
-}
-
-
-
-static int
-dissect_ftbp_User_Identity(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_GraphicString,
- actx, tree, tvb, offset, hf_index,
- NULL);
-
- return offset;
-}
-
-
-static const value_string ftbp_User_Identity_Attribute_vals[] = {
- { 0, "no-value-available" },
- { 1, "actual-values" },
- { 0, NULL }
-};
-
-static const ber_choice_t User_Identity_Attribute_choice[] = {
- { 0, &hf_ftbp_no_value_available, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ftbp_NULL },
- { 1, &hf_ftbp_identity_actual_values, BER_CLASS_UNI, BER_UNI_TAG_GraphicString, BER_FLAGS_NOOWNTAG, dissect_ftbp_User_Identity },
- { 0, NULL, 0, 0, 0, NULL }
-};
-
-static int
-dissect_ftbp_User_Identity_Attribute(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_ber_choice(actx, tree, tvb, offset,
- User_Identity_Attribute_choice, hf_index, ett_ftbp_User_Identity_Attribute,
- NULL);
-
- return offset;
-}
-
-
-static const asn_namedbit Access_Request_bits[] = {
- { 0, &hf_ftbp_Access_Request_read, -1, -1, "read", NULL },
- { 1, &hf_ftbp_Access_Request_insert, -1, -1, "insert", NULL },
- { 2, &hf_ftbp_Access_Request_replace, -1, -1, "replace", NULL },
- { 3, &hf_ftbp_Access_Request_extend, -1, -1, "extend", NULL },
- { 4, &hf_ftbp_Access_Request_erase, -1, -1, "erase", NULL },
- { 5, &hf_ftbp_Access_Request_read_attribute, -1, -1, "read-attribute", NULL },
- { 6, &hf_ftbp_Access_Request_change_attribute, -1, -1, "change-attribute", NULL },
- { 7, &hf_ftbp_Access_Request_delete_object, -1, -1, "delete-object", NULL },
- { 0, NULL, 0, 0, NULL, NULL }
-};
-
-static int
-dissect_ftbp_Access_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
- Access_Request_bits, hf_index, ett_ftbp_Access_Request,
- NULL);
-
- return offset;
-}
-
-
-static const value_string ftbp_Password_vals[] = {
- { 0, "graphic-string" },
- { 1, "octet-string" },
- { 0, NULL }
-};
-
-static const ber_choice_t Password_choice[] = {
- { 0, &hf_ftbp_graphic_string , BER_CLASS_UNI, BER_UNI_TAG_GraphicString, BER_FLAGS_NOOWNTAG, dissect_ftbp_GraphicString },
- { 1, &hf_ftbp_octet_string , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_ftbp_OCTET_STRING },
- { 0, NULL, 0, 0, 0, NULL }
-};
-
-static int
-dissect_ftbp_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_) {
- offset = dissect_ber_choice(actx, tree, tvb, offset,
- Password_choice, hf_index, ett_ftbp_Password,
- NULL);
-
- return offset;
-}
-
-
-static const ber_sequence_t Pass_Passwords_sequence_of[1] = {
- { &hf_ftbp_Pass_Passwords_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ftbp_Password },
-};
-
-static int
-dissect_ftbp_Pass_Passwords(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
- Pass_Passwords_sequence_of, hf_index, ett_ftbp_Pass_Passwords);
-
- return offset;
-}
-
-
-static const ber_sequence_t Access_Passwords_sequence[] = {
- { &hf_ftbp_read_password , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_ftbp_Password },
- { &hf_ftbp_insert_password, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_ftbp_Password },
- { &hf_ftbp_replace_password, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_ftbp_Password },
- { &hf_ftbp_extend_password, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_ftbp_Password },
- { &hf_ftbp_erase_password , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_ftbp_Password },
- { &hf_ftbp_read_attribute_password, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_ftbp_Password },
- { &hf_ftbp_change_attribute_password, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_ftbp_Password },
- { &hf_ftbp_delete_password, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_ftbp_Password },
- { &hf_ftbp_pass_passwords , BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ftbp_Pass_Passwords },
- { &hf_ftbp_link_password , BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_ftbp_Password },
- { NULL, 0, 0, 0, NULL }
-};
-
-static int
-dissect_ftbp_Access_Passwords(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
- Access_Passwords_sequence, hf_index, ett_ftbp_Access_Passwords);
-
- return offset;
-}
-
-
-static const ber_sequence_t Application_Entity_Title_sequence[] = {
- { &hf_ftbp_ap_title , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_acse_AP_title },
- { &hf_ftbp_ae_qualifier , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_acse_AE_qualifier },
- { NULL, 0, 0, 0, NULL }
-};
-
-static int
-dissect_ftbp_Application_Entity_Title(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
- Application_Entity_Title_sequence, hf_index, ett_ftbp_Application_Entity_Title);
-
- return offset;
-}
-
-
-static const ber_sequence_t Access_Control_Element_sequence[] = {
- { &hf_ftbp_action_list , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ftbp_Access_Request },
- { &hf_ftbp_concurrency_access, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Concurrency_Access },
- { &hf_ftbp_identity , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftbp_User_Identity },
- { &hf_ftbp_passwords , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftbp_Access_Passwords },
- { &hf_ftbp_location , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftbp_Application_Entity_Title },
- { NULL, 0, 0, 0, NULL }
-};
-
-static int
-dissect_ftbp_Access_Control_Element(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
- Access_Control_Element_sequence, hf_index, ett_ftbp_Access_Control_Element);
-
- return offset;
-}
-
-
-static const ber_sequence_t SET_OF_Access_Control_Element_set_of[1] = {
- { &hf_ftbp_actual_values_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_ftbp_Access_Control_Element },
-};
-
-static int
-dissect_ftbp_SET_OF_Access_Control_Element(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
- SET_OF_Access_Control_Element_set_of, hf_index, ett_ftbp_SET_OF_Access_Control_Element);
-
- return offset;
-}
-
-
-static const value_string ftbp_Access_Control_Attribute_vals[] = {
- { 0, "no-value-available" },
- { 1, "actual-values" },
- { 0, NULL }
-};
-
-static const ber_choice_t Access_Control_Attribute_choice[] = {
- { 0, &hf_ftbp_no_value_available, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ftbp_NULL },
- { 1, &hf_ftbp_actual_values , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ftbp_SET_OF_Access_Control_Element },
- { 0, NULL, 0, 0, 0, NULL }
-};
-
-static int
-dissect_ftbp_Access_Control_Attribute(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_ber_choice(actx, tree, tvb, offset,
- Access_Control_Attribute_choice, hf_index, ett_ftbp_Access_Control_Attribute,
- NULL);
-
- return offset;
-}
-
-
-static const ber_sequence_t FileAttributes_sequence[] = {
- { &hf_ftbp_pathname , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ftbp_Pathname_Attribute },
- { &hf_ftbp_permitted_actions, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Permitted_Actions_Attribute },
- { &hf_ftbp_storage_account, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_ftbp_Account_Attribute },
- { &hf_ftbp_date_and_time_of_creation, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Date_and_Time_Attribute },
- { &hf_ftbp_date_and_time_of_last_modification, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Date_and_Time_Attribute },
- { &hf_ftbp_date_and_time_of_last_read_access, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Date_and_Time_Attribute },
- { &hf_ftbp_date_and_time_of_last_attribute_modification, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Date_and_Time_Attribute },
- { &hf_ftbp_identity_of_creator, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_ftbp_User_Identity_Attribute },
- { &hf_ftbp_identity_of_last_modifier, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_ftbp_User_Identity_Attribute },
- { &hf_ftbp_identity_of_last_reader, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_ftbp_User_Identity_Attribute },
- { &hf_ftbp_identity_of_last_attribute_modifier, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_ftbp_User_Identity_Attribute },
- { &hf_ftbp_object_availability, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Object_Availability_Attribute },
- { &hf_ftbp_object_size , BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Object_Size_Attribute },
- { &hf_ftbp_future_object_size, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Object_Size_Attribute },
- { &hf_ftbp_access_control , BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_ftbp_Access_Control_Attribute },
- { &hf_ftbp_legal_qualifications, BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Legal_Qualification_Attribute },
- { &hf_ftbp_private_use , BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Private_Use_Attribute },
- { &hf_ftbp_attribute_extensions, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Attribute_Extensions },
- { NULL, 0, 0, 0, NULL }
-};
-
-static int
-dissect_ftbp_FileAttributes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
- FileAttributes_sequence, hf_index, ett_ftbp_FileAttributes);
-
- return offset;
-}
-
-
-static const ber_sequence_t FileTransferParameters_sequence[] = {
- { &hf_ftbp_related_stored_file, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftbp_RelatedStoredFile },
- { &hf_ftbp_contents_type , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_ftbp_ContentsTypeParameter },
- { &hf_ftbp_environment , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftbp_EnvironmentParameter },
- { &hf_ftbp_compression , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftbp_CompressionParameter },
- { &hf_ftbp_file_attributes, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftbp_FileAttributes },
- { &hf_ftbp_extensions , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_ExtensionsField },
- { NULL, 0, 0, 0, NULL }
-};
-
-static int
-dissect_ftbp_FileTransferParameters(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
- FileTransferParameters_sequence, hf_index, ett_ftbp_FileTransferParameters);
-
- return offset;
-}
-
-
-static const ber_sequence_t FileTransferData_sequence_of[1] = {
- { &hf_ftbp_FileTransferData_item, BER_CLASS_UNI, 8, BER_FLAGS_NOOWNTAG, dissect_acse_EXTERNALt },
-};
-
-static int
-dissect_ftbp_FileTransferData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
- FileTransferData_sequence_of, hf_index, ett_ftbp_FileTransferData);
-
- return offset;
-}
-
-/*--- PDUs ---*/
-
-static void dissect_FileTransferParameters_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
- asn1_ctx_t asn1_ctx;
- asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
- dissect_ftbp_FileTransferParameters(FALSE, tvb, 0, &asn1_ctx, tree, hf_ftbp_FileTransferParameters_PDU);
-}
-static void dissect_FileTransferData_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
- asn1_ctx_t asn1_ctx;
- asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
- dissect_ftbp_FileTransferData(FALSE, tvb, 0, &asn1_ctx, tree, hf_ftbp_FileTransferData_PDU);
-}
-
-
-/*--- End of included file: packet-ftbp-fn.c ---*/
-#line 61 "packet-ftbp-template.c"
-
-
-/*--- proto_register_ftbp -------------------------------------------*/
-void proto_register_ftbp(void) {
-
- /* List of fields */
- static hf_register_info hf[] =
- {
-
-/*--- Included file: packet-ftbp-hfarr.c ---*/
-#line 1 "packet-ftbp-hfarr.c"
- { &hf_ftbp_FileTransferParameters_PDU,
- { "FileTransferParameters", "ftbp.FileTransferParameters",
- FT_NONE, BASE_NONE, NULL, 0,
- "ftbp.FileTransferParameters", HFILL }},
- { &hf_ftbp_FileTransferData_PDU,
- { "FileTransferData", "ftbp.FileTransferData",
- FT_UINT32, BASE_DEC, NULL, 0,
- "ftbp.FileTransferData", HFILL }},
- { &hf_ftbp_related_stored_file,
- { "related-stored-file", "ftbp.related_stored_file",
- FT_UINT32, BASE_DEC, NULL, 0,
- "ftbp.RelatedStoredFile", HFILL }},
- { &hf_ftbp_contents_type,
- { "contents-type", "ftbp.contents_type",
- FT_UINT32, BASE_DEC, VALS(ftbp_Contents_Type_Attribute_vals), 0,
- "ftbp.ContentsTypeParameter", HFILL }},
- { &hf_ftbp_environment,
- { "environment", "ftbp.environment",
- FT_NONE, BASE_NONE, NULL, 0,
- "ftbp.EnvironmentParameter", HFILL }},
- { &hf_ftbp_compression,
- { "compression", "ftbp.compression",
- FT_NONE, BASE_NONE, NULL, 0,
- "ftbp.CompressionParameter", HFILL }},
- { &hf_ftbp_file_attributes,
- { "file-attributes", "ftbp.file_attributes",
- FT_NONE, BASE_NONE, NULL, 0,
- "ftbp.FileAttributes", HFILL }},
- { &hf_ftbp_extensions,
- { "extensions", "ftbp.extensions",
- FT_UINT32, BASE_DEC, NULL, 0,
- "x420.ExtensionsField", HFILL }},
- { &hf_ftbp_FileTransferData_item,
- { "Item", "ftbp.FileTransferData_item",
- FT_NONE, BASE_NONE, NULL, 0,
- "acse.EXTERNALt", HFILL }},
- { &hf_ftbp_RelatedStoredFile_item,
- { "Item", "ftbp.RelatedStoredFile_item",
- FT_NONE, BASE_NONE, NULL, 0,
- "ftbp.RelatedStoredFile_item", HFILL }},
- { &hf_ftbp_file_identifier,
- { "file-identifier", "ftbp.file_identifier",
- FT_UINT32, BASE_DEC, VALS(ftbp_FileIdentifier_vals), 0,
- "ftbp.FileIdentifier", HFILL }},
- { &hf_ftbp_relationship,
- { "relationship", "ftbp.relationship",
- FT_UINT32, BASE_DEC, VALS(ftbp_Relationship_vals), 0,
- "ftbp.Relationship", HFILL }},
- { &hf_ftbp_pathname_and_version,
- { "pathname-and-version", "ftbp.pathname_and_version",
- FT_NONE, BASE_NONE, NULL, 0,
- "ftbp.PathnameandVersion", HFILL }},
- { &hf_ftbp_cross_reference,
- { "cross-reference", "ftbp.cross_reference",
- FT_NONE, BASE_NONE, NULL, 0,
- "ftbp.CrossReference", HFILL }},
- { &hf_ftbp_pathname,
- { "pathname", "ftbp.pathname",
- FT_UINT32, BASE_DEC, VALS(ftbp_Pathname_Attribute_vals), 0,
- "ftbp.Pathname_Attribute", HFILL }},
- { &hf_ftbp_file_version,
- { "file-version", "ftbp.file_version",
- FT_STRING, BASE_NONE, NULL, 0,
- "ftbp.GraphicString", HFILL }},
- { &hf_ftbp_application_cross_reference,
- { "application-cross-reference", "ftbp.application_cross_reference",
- FT_BYTES, BASE_HEX, NULL, 0,
- "ftbp.OCTET_STRING", HFILL }},
- { &hf_ftbp_message_reference,
- { "message-reference", "ftbp.message_reference",
- FT_NONE, BASE_NONE, NULL, 0,
- "ftbp.MessageReference", HFILL }},
- { &hf_ftbp_body_part_reference,
- { "body-part-reference", "ftbp.body_part_reference",
- FT_INT32, BASE_DEC, NULL, 0,
- "ftbp.INTEGER", HFILL }},
- { &hf_ftbp_user,
- { "user", "ftbp.user",
- FT_NONE, BASE_NONE, NULL, 0,
- "x411.ORName", HFILL }},
- { &hf_ftbp_user_relative_identifier,
- { "user-relative-identifier", "ftbp.user_relative_identifier",
- FT_STRING, BASE_NONE, NULL, 0,
- "ftbp.PrintableString", HFILL }},
- { &hf_ftbp_explicit_relationship,
- { "explicit-relationship", "ftbp.explicit_relationship",
- FT_INT32, BASE_DEC, VALS(ftbp_ExplicitRelationship_vals), 0,
- "ftbp.ExplicitRelationship", HFILL }},
- { &hf_ftbp_descriptive_relationship,
- { "descriptive-relationship", "ftbp.descriptive_relationship",
- FT_STRING, BASE_NONE, NULL, 0,
- "ftbp.GraphicString", HFILL }},
- { &hf_ftbp_document_type,
- { "document-type", "ftbp.document_type",
- FT_NONE, BASE_NONE, NULL, 0,
- "ftbp.T_document_type", HFILL }},
- { &hf_ftbp_document_type_name,
- { "document-type-name", "ftbp.document_type_name",
- FT_OID, BASE_NONE, NULL, 0,
- "ftbp.Document_Type_Name", HFILL }},
- { &hf_ftbp_parameter,
- { "parameter", "ftbp.parameter",
- FT_NONE, BASE_NONE, NULL, 0,
- "ftbp.T_parameter", HFILL }},
- { &hf_ftbp_constraint_set_and_abstract_syntax,
- { "constraint-set-and-abstract-syntax", "ftbp.constraint_set_and_abstract_syntax",
- FT_NONE, BASE_NONE, NULL, 0,
- "ftbp.T_constraint_set_and_abstract_syntax", HFILL }},
- { &hf_ftbp_constraint_set_name,
- { "constraint-set-name", "ftbp.constraint_set_name",
- FT_OID, BASE_NONE, NULL, 0,
- "ftbp.Constraint_Set_Name", HFILL }},
- { &hf_ftbp_abstract_syntax_name,
- { "abstract-syntax-name", "ftbp.abstract_syntax_name",
- FT_OID, BASE_NONE, NULL, 0,
- "ftbp.Abstract_Syntax_Name", HFILL }},
- { &hf_ftbp_application_reference,
- { "application-reference", "ftbp.application_reference",
- FT_UINT32, BASE_DEC, VALS(ftbp_GeneralIdentifier_vals), 0,
- "ftbp.GeneralIdentifier", HFILL }},
- { &hf_ftbp_machine,
- { "machine", "ftbp.machine",
- FT_UINT32, BASE_DEC, VALS(ftbp_GeneralIdentifier_vals), 0,
- "ftbp.GeneralIdentifier", HFILL }},
- { &hf_ftbp_operating_system,
- { "operating-system", "ftbp.operating_system",
- FT_OID, BASE_NONE, NULL, 0,
- "ftbp.OBJECT_IDENTIFIER", HFILL }},
- { &hf_ftbp_user_visible_string,
- { "user-visible-string", "ftbp.user_visible_string",
- FT_UINT32, BASE_DEC, NULL, 0,
- "ftbp.T_user_visible_string", HFILL }},
- { &hf_ftbp_user_visible_string_item,
- { "Item", "ftbp.user_visible_string_item",
- FT_STRING, BASE_NONE, NULL, 0,
- "ftbp.GraphicString", HFILL }},
- { &hf_ftbp_registered_identifier,
- { "registered-identifier", "ftbp.registered_identifier",
- FT_OID, BASE_NONE, NULL, 0,
- "ftbp.OBJECT_IDENTIFIER", HFILL }},
- { &hf_ftbp_descriptive_identifier,
- { "descriptive-identifier", "ftbp.descriptive_identifier",
- FT_UINT32, BASE_DEC, NULL, 0,
- "ftbp.T_descriptive_identifier", HFILL }},
- { &hf_ftbp_descriptive_identifier_item,
- { "Item", "ftbp.descriptive_identifier_item",
- FT_STRING, BASE_NONE, NULL, 0,
- "ftbp.GraphicString", HFILL }},
- { &hf_ftbp_compression_algorithm_id,
- { "compression-algorithm-id", "ftbp.compression_algorithm_id",
- FT_OID, BASE_NONE, NULL, 0,
- "ftbp.OBJECT_IDENTIFIER", HFILL }},
- { &hf_ftbp_compression_algorithm_param,
- { "compression-algorithm-param", "ftbp.compression_algorithm_param",
- FT_NONE, BASE_NONE, NULL, 0,
- "ftbp.T_compression_algorithm_param", HFILL }},
- { &hf_ftbp_permitted_actions,
- { "permitted-actions", "ftbp.permitted_actions",
- FT_BYTES, BASE_HEX, NULL, 0,
- "ftam.Permitted_Actions_Attribute", HFILL }},
- { &hf_ftbp_storage_account,
- { "storage-account", "ftbp.storage_account",
- FT_UINT32, BASE_DEC, VALS(ftbp_Account_Attribute_vals), 0,
- "ftbp.Account_Attribute", HFILL }},
- { &hf_ftbp_date_and_time_of_creation,
- { "date-and-time-of-creation", "ftbp.date_and_time_of_creation",
- FT_UINT32, BASE_DEC, VALS(ftam_Date_and_Time_Attribute_vals), 0,
- "ftam.Date_and_Time_Attribute", HFILL }},
- { &hf_ftbp_date_and_time_of_last_modification,
- { "date-and-time-of-last-modification", "ftbp.date_and_time_of_last_modification",
- FT_UINT32, BASE_DEC, VALS(ftam_Date_and_Time_Attribute_vals), 0,
- "ftam.Date_and_Time_Attribute", HFILL }},
- { &hf_ftbp_date_and_time_of_last_read_access,
- { "date-and-time-of-last-read-access", "ftbp.date_and_time_of_last_read_access",
- FT_UINT32, BASE_DEC, VALS(ftam_Date_and_Time_Attribute_vals), 0,
- "ftam.Date_and_Time_Attribute", HFILL }},
- { &hf_ftbp_date_and_time_of_last_attribute_modification,
- { "date-and-time-of-last-attribute-modification", "ftbp.date_and_time_of_last_attribute_modification",
- FT_UINT32, BASE_DEC, VALS(ftam_Date_and_Time_Attribute_vals), 0,
- "ftam.Date_and_Time_Attribute", HFILL }},
- { &hf_ftbp_identity_of_creator,
- { "identity-of-creator", "ftbp.identity_of_creator",
- FT_UINT32, BASE_DEC, VALS(ftbp_User_Identity_Attribute_vals), 0,
- "ftbp.User_Identity_Attribute", HFILL }},
- { &hf_ftbp_identity_of_last_modifier,
- { "identity-of-last-modifier", "ftbp.identity_of_last_modifier",
- FT_UINT32, BASE_DEC, VALS(ftbp_User_Identity_Attribute_vals), 0,
- "ftbp.User_Identity_Attribute", HFILL }},
- { &hf_ftbp_identity_of_last_reader,
- { "identity-of-last-reader", "ftbp.identity_of_last_reader",
- FT_UINT32, BASE_DEC, VALS(ftbp_User_Identity_Attribute_vals), 0,
- "ftbp.User_Identity_Attribute", HFILL }},
- { &hf_ftbp_identity_of_last_attribute_modifier,
- { "identity-of-last-attribute-modifier", "ftbp.identity_of_last_attribute_modifier",
- FT_UINT32, BASE_DEC, VALS(ftbp_User_Identity_Attribute_vals), 0,
- "ftbp.User_Identity_Attribute", HFILL }},
- { &hf_ftbp_object_availability,
- { "object-availability", "ftbp.object_availability",
- FT_UINT32, BASE_DEC, VALS(ftam_Object_Availability_Attribute_vals), 0,
- "ftam.Object_Availability_Attribute", HFILL }},
- { &hf_ftbp_object_size,
- { "object-size", "ftbp.object_size",
- FT_UINT32, BASE_DEC, VALS(ftam_Object_Size_Attribute_vals), 0,
- "ftam.Object_Size_Attribute", HFILL }},
- { &hf_ftbp_future_object_size,
- { "future-object-size", "ftbp.future_object_size",
- FT_UINT32, BASE_DEC, VALS(ftam_Object_Size_Attribute_vals), 0,
- "ftam.Object_Size_Attribute", HFILL }},
- { &hf_ftbp_access_control,
- { "access-control", "ftbp.access_control",
- FT_UINT32, BASE_DEC, VALS(ftbp_Access_Control_Attribute_vals), 0,
- "ftbp.Access_Control_Attribute", HFILL }},
- { &hf_ftbp_legal_qualifications,
- { "legal-qualifications", "ftbp.legal_qualifications",
- FT_UINT32, BASE_DEC, VALS(ftam_Legal_Qualification_Attribute_vals), 0,
- "ftam.Legal_Qualification_Attribute", HFILL }},
- { &hf_ftbp_private_use,
- { "private-use", "ftbp.private_use",
- FT_UINT32, BASE_DEC, VALS(ftam_Private_Use_Attribute_vals), 0,
- "ftam.Private_Use_Attribute", HFILL }},
- { &hf_ftbp_attribute_extensions,
- { "attribute-extensions", "ftbp.attribute_extensions",
- FT_UINT32, BASE_DEC, NULL, 0,
- "ftam.Attribute_Extensions", HFILL }},
- { &hf_ftbp_incomplete_pathname,
- { "incomplete-pathname", "ftbp.incomplete_pathname",
- FT_UINT32, BASE_DEC, NULL, 0,
- "ftam.Pathname", HFILL }},
- { &hf_ftbp_complete_pathname,
- { "complete-pathname", "ftbp.complete_pathname",
- FT_UINT32, BASE_DEC, NULL, 0,
- "ftam.Pathname", HFILL }},
- { &hf_ftbp_no_value_available,
- { "no-value-available", "ftbp.no_value_available",
- FT_NONE, BASE_NONE, NULL, 0,
- "ftbp.NULL", HFILL }},
- { &hf_ftbp_account_actual_values,
- { "actual-values", "ftbp.actual_values",
- FT_STRING, BASE_NONE, NULL, 0,
- "ftbp.Account", HFILL }},
- { &hf_ftbp_identity_actual_values,
- { "actual-values", "ftbp.actual_values",
- FT_STRING, BASE_NONE, NULL, 0,
- "ftbp.User_Identity", HFILL }},
- { &hf_ftbp_actual_values,
- { "actual-values", "ftbp.actual_values",
- FT_UINT32, BASE_DEC, NULL, 0,
- "ftbp.SET_OF_Access_Control_Element", HFILL }},
- { &hf_ftbp_actual_values_item,
- { "Item", "ftbp.actual_values_item",
- FT_NONE, BASE_NONE, NULL, 0,
- "ftbp.Access_Control_Element", HFILL }},
- { &hf_ftbp_action_list,
- { "action-list", "ftbp.action_list",
- FT_BYTES, BASE_HEX, NULL, 0,
- "ftbp.Access_Request", HFILL }},
- { &hf_ftbp_concurrency_access,
- { "concurrency-access", "ftbp.concurrency_access",
- FT_NONE, BASE_NONE, NULL, 0,
- "ftam.Concurrency_Access", HFILL }},
- { &hf_ftbp_identity,
- { "identity", "ftbp.identity",
- FT_STRING, BASE_NONE, NULL, 0,
- "ftbp.User_Identity", HFILL }},
- { &hf_ftbp_passwords,
- { "passwords", "ftbp.passwords",
- FT_NONE, BASE_NONE, NULL, 0,
- "ftbp.Access_Passwords", HFILL }},
- { &hf_ftbp_location,
- { "location", "ftbp.location",
- FT_NONE, BASE_NONE, NULL, 0,
- "ftbp.Application_Entity_Title", HFILL }},
- { &hf_ftbp_read_password,
- { "read-password", "ftbp.read_password",
- FT_UINT32, BASE_DEC, VALS(ftbp_Password_vals), 0,
- "ftbp.Password", HFILL }},
- { &hf_ftbp_insert_password,
- { "insert-password", "ftbp.insert_password",
- FT_UINT32, BASE_DEC, VALS(ftbp_Password_vals), 0,
- "ftbp.Password", HFILL }},
- { &hf_ftbp_replace_password,
- { "replace-password", "ftbp.replace_password",
- FT_UINT32, BASE_DEC, VALS(ftbp_Password_vals), 0,
- "ftbp.Password", HFILL }},
- { &hf_ftbp_extend_password,
- { "extend-password", "ftbp.extend_password",
- FT_UINT32, BASE_DEC, VALS(ftbp_Password_vals), 0,
- "ftbp.Password", HFILL }},
- { &hf_ftbp_erase_password,
- { "erase-password", "ftbp.erase_password",
- FT_UINT32, BASE_DEC, VALS(ftbp_Password_vals), 0,
- "ftbp.Password", HFILL }},
- { &hf_ftbp_read_attribute_password,
- { "read-attribute-password", "ftbp.read_attribute_password",
- FT_UINT32, BASE_DEC, VALS(ftbp_Password_vals), 0,
- "ftbp.Password", HFILL }},
- { &hf_ftbp_change_attribute_password,
- { "change-attribute-password", "ftbp.change_attribute_password",
- FT_UINT32, BASE_DEC, VALS(ftbp_Password_vals), 0,
- "ftbp.Password", HFILL }},
- { &hf_ftbp_delete_password,
- { "delete-password", "ftbp.delete_password",
- FT_UINT32, BASE_DEC, VALS(ftbp_Password_vals), 0,
- "ftbp.Password", HFILL }},
- { &hf_ftbp_pass_passwords,
- { "pass-passwords", "ftbp.pass_passwords",
- FT_UINT32, BASE_DEC, NULL, 0,
- "ftbp.Pass_Passwords", HFILL }},
- { &hf_ftbp_link_password,
- { "link-password", "ftbp.link_password",
- FT_UINT32, BASE_DEC, VALS(ftbp_Password_vals), 0,
- "ftbp.Password", HFILL }},
- { &hf_ftbp_graphic_string,
- { "graphic-string", "ftbp.graphic_string",
- FT_STRING, BASE_NONE, NULL, 0,
- "ftbp.GraphicString", HFILL }},
- { &hf_ftbp_octet_string,
- { "octet-string", "ftbp.octet_string",
- FT_BYTES, BASE_HEX, NULL, 0,
- "ftbp.OCTET_STRING", HFILL }},
- { &hf_ftbp_Pass_Passwords_item,
- { "Item", "ftbp.Pass_Passwords_item",
- FT_UINT32, BASE_DEC, VALS(ftbp_Password_vals), 0,
- "ftbp.Password", HFILL }},
- { &hf_ftbp_ap_title,
- { "ap-title", "ftbp.ap_title",
- FT_UINT32, BASE_DEC, VALS(acse_AP_title_vals), 0,
- "acse.AP_title", HFILL }},
- { &hf_ftbp_ae_qualifier,
- { "ae-qualifier", "ftbp.ae_qualifier",
- FT_UINT32, BASE_DEC, VALS(acse_ASO_qualifier_vals), 0,
- "acse.AE_qualifier", HFILL }},
- { &hf_ftbp_Access_Request_read,
- { "read", "ftbp.read",
- FT_BOOLEAN, 8, NULL, 0x80,
- "", HFILL }},
- { &hf_ftbp_Access_Request_insert,
- { "insert", "ftbp.insert",
- FT_BOOLEAN, 8, NULL, 0x40,
- "", HFILL }},
- { &hf_ftbp_Access_Request_replace,
- { "replace", "ftbp.replace",
- FT_BOOLEAN, 8, NULL, 0x20,
- "", HFILL }},
- { &hf_ftbp_Access_Request_extend,
- { "extend", "ftbp.extend",
- FT_BOOLEAN, 8, NULL, 0x10,
- "", HFILL }},
- { &hf_ftbp_Access_Request_erase,
- { "erase", "ftbp.erase",
- FT_BOOLEAN, 8, NULL, 0x08,
- "", HFILL }},
- { &hf_ftbp_Access_Request_read_attribute,
- { "read-attribute", "ftbp.read-attribute",
- FT_BOOLEAN, 8, NULL, 0x04,
- "", HFILL }},
- { &hf_ftbp_Access_Request_change_attribute,
- { "change-attribute", "ftbp.change-attribute",
- FT_BOOLEAN, 8, NULL, 0x02,
- "", HFILL }},
- { &hf_ftbp_Access_Request_delete_object,
- { "delete-object", "ftbp.delete-object",
- FT_BOOLEAN, 8, NULL, 0x01,
- "", HFILL }},
-
-/*--- End of included file: packet-ftbp-hfarr.c ---*/
-#line 70 "packet-ftbp-template.c"
- };
-
- /* List of subtrees */
- static gint *ett[] = {
- &ett_ftbp,
-
-/*--- Included file: packet-ftbp-ettarr.c ---*/
-#line 1 "packet-ftbp-ettarr.c"
- &ett_ftbp_FileTransferParameters,
- &ett_ftbp_FileTransferData,
- &ett_ftbp_RelatedStoredFile,
- &ett_ftbp_RelatedStoredFile_item,
- &ett_ftbp_FileIdentifier,
- &ett_ftbp_PathnameandVersion,
- &ett_ftbp_CrossReference,
- &ett_ftbp_MessageReference,
- &ett_ftbp_Relationship,
- &ett_ftbp_Contents_Type_Attribute,
- &ett_ftbp_T_document_type,
- &ett_ftbp_T_constraint_set_and_abstract_syntax,
- &ett_ftbp_EnvironmentParameter,
- &ett_ftbp_T_user_visible_string,
- &ett_ftbp_GeneralIdentifier,
- &ett_ftbp_T_descriptive_identifier,
- &ett_ftbp_CompressionParameter,
- &ett_ftbp_FileAttributes,
- &ett_ftbp_Pathname_Attribute,
- &ett_ftbp_Account_Attribute,
- &ett_ftbp_User_Identity_Attribute,
- &ett_ftbp_Access_Control_Attribute,
- &ett_ftbp_SET_OF_Access_Control_Element,
- &ett_ftbp_Access_Control_Element,
- &ett_ftbp_Access_Request,
- &ett_ftbp_Access_Passwords,
- &ett_ftbp_Password,
- &ett_ftbp_Pass_Passwords,
- &ett_ftbp_Application_Entity_Title,
-
-/*--- End of included file: packet-ftbp-ettarr.c ---*/
-#line 76 "packet-ftbp-template.c"
- };
-
- /* Register protocol */
- proto_ftbp = proto_register_protocol(PNAME, PSNAME, PFNAME);
-
- /* Register fields and subtrees */
- proto_register_field_array(proto_ftbp, hf, array_length(hf));
- proto_register_subtree_array(ett, array_length(ett));
-
-}
-
-
-/*--- proto_reg_handoff_ftbp --- */
-void proto_reg_handoff_ftbp(void) {
-
-/*--- Included file: packet-ftbp-dis-tab.c ---*/
-#line 1 "packet-ftbp-dis-tab.c"
- register_ber_oid_dissector("2.6.1.11.12", dissect_FileTransferParameters_PDU, proto_ftbp, "id-ep-file-transfer");
- register_ber_oid_dissector("2.6.1.4.12", dissect_FileTransferData_PDU, proto_ftbp, "id-et-file-transfer");
-
-
-/*--- End of included file: packet-ftbp-dis-tab.c ---*/
-#line 91 "packet-ftbp-template.c"
-
-}
diff --git a/epan/dissectors/packet-ftbp.h b/epan/dissectors/packet-ftbp.h
deleted file mode 100644
index 60f549006f..0000000000
--- a/epan/dissectors/packet-ftbp.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/* Do not modify this file. */
-/* It is created automatically by the ASN.1 to Wireshark dissector compiler */
-/* .\packet-ftbp.h */
-/* ../../tools/asn2wrs.py -b -X -T -e -p ftbp -c ftbp.cnf -s packet-ftbp-template ftbp.asn */
-
-/* Input file: packet-ftbp-template.h */
-
-#line 1 "packet-ftbp-template.h"
-/* packet-ftbp.h
- * Routines for File Transfer Body Part (FTBP) dissection (used in X.420 content)
- * Graeme Lunt 2005
- *
- * $Id$
- *
- * Wireshark - Network traffic analyzer
- * By Gerald Combs <gerald@wireshark.org>
- * Copyright 1998 Gerald Combs
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-#ifndef PACKET_FTBP_H
-#define PACKET_FTBP_H
-
-/* #include "packet-ftbp-exp.h" */
-
-#endif /* PACKET_FTBP_H */
diff --git a/epan/dissectors/packet-x420.c b/epan/dissectors/packet-x420.c
index 6097ef2865..f937161781 100644
--- a/epan/dissectors/packet-x420.c
+++ b/epan/dissectors/packet-x420.c
@@ -1,7 +1,7 @@
/* Do not modify this file. */
/* It is created automatically by the ASN.1 to Wireshark dissector compiler */
/* ./packet-x420.c */
-/* ../../tools/asn2wrs.py -b -e -p x420 -c x420.cnf -s packet-x420-template x420.asn */
+/* ../../tools/asn2wrs.py -b -e -p x420 -c x420.cnf -s packet-x420-template x420.asn ftbp.asn */
/* Input file: packet-x420-template.c */
@@ -50,6 +50,7 @@
#include "packet-x509af.h"
#include "packet-x509ce.h"
+#include "packet-ftam.h"
#include "packet-x411.h"
#include "packet-x420.h"
@@ -136,6 +137,8 @@ static int hf_x420_GeneralTextData_PDU = -1; /* GeneralTextData */
static int hf_x420_VoiceParameters_PDU = -1; /* VoiceParameters */
static int hf_x420_VoiceData_PDU = -1; /* VoiceData */
static int hf_x420_ForwardedContentParameters_PDU = -1; /* ForwardedContentParameters */
+static int hf_x420_FileTransferParameters_PDU = -1; /* FileTransferParameters */
+static int hf_x420_FileTransferData_PDU = -1; /* FileTransferData */
static int hf_x420_ipm = -1; /* IPM */
static int hf_x420_ipn = -1; /* IPN */
static int hf_x420_heading = -1; /* Heading */
@@ -289,15 +292,102 @@ static int hf_x420_submission_proof = -1; /* SubmissionProof */
static int hf_x420_proof_of_submission = -1; /* ProofOfSubmission */
static int hf_x420_originating_MTA_certificate = -1; /* OriginatingMTACertificate */
static int hf_x420_message_submission_envelope = -1; /* MessageSubmissionEnvelope */
+static int hf_x420_related_stored_file = -1; /* RelatedStoredFile */
+static int hf_x420_contents_type = -1; /* ContentsTypeParameter */
+static int hf_x420_environment = -1; /* EnvironmentParameter */
+static int hf_x420_compression = -1; /* CompressionParameter */
+static int hf_x420_file_attributes = -1; /* FileAttributes */
+static int hf_x420_FileTransferData_item = -1; /* EXTERNALt */
+static int hf_x420_RelatedStoredFile_item = -1; /* RelatedStoredFile_item */
+static int hf_x420_file_identifier = -1; /* FileIdentifier */
+static int hf_x420_relationship = -1; /* Relationship */
+static int hf_x420_pathname_and_version = -1; /* PathnameandVersion */
+static int hf_x420_cross_reference = -1; /* CrossReference */
+static int hf_x420_pathname = -1; /* Pathname_Attribute */
+static int hf_x420_file_version = -1; /* GraphicString */
+static int hf_x420_application_cross_reference = -1; /* OCTET_STRING */
+static int hf_x420_message_reference = -1; /* MessageReference */
+static int hf_x420_body_part_reference = -1; /* INTEGER */
+static int hf_x420_user_relative_identifier_ref = -1; /* PrintableString */
+static int hf_x420_explicit_relationship = -1; /* ExplicitRelationship */
+static int hf_x420_descriptive_relationship = -1; /* GraphicString */
+static int hf_x420_document_type = -1; /* T_document_type */
+static int hf_x420_document_type_name = -1; /* Document_Type_Name */
+static int hf_x420_parameter = -1; /* T_parameter */
+static int hf_x420_constraint_set_and_abstract_syntax = -1; /* T_constraint_set_and_abstract_syntax */
+static int hf_x420_constraint_set_name = -1; /* Constraint_Set_Name */
+static int hf_x420_abstract_syntax_name = -1; /* Abstract_Syntax_Name */
+static int hf_x420_application_reference = -1; /* GeneralIdentifier */
+static int hf_x420_machine = -1; /* GeneralIdentifier */
+static int hf_x420_operating_system = -1; /* OBJECT_IDENTIFIER */
+static int hf_x420_user_visible_string = -1; /* T_user_visible_string */
+static int hf_x420_user_visible_string_item = -1; /* GraphicString */
+static int hf_x420_registered_identifier = -1; /* OBJECT_IDENTIFIER */
+static int hf_x420_descriptive_identifier = -1; /* T_descriptive_identifier */
+static int hf_x420_descriptive_identifier_item = -1; /* GraphicString */
+static int hf_x420_compression_algorithm_id = -1; /* OBJECT_IDENTIFIER */
+static int hf_x420_compression_algorithm_param = -1; /* T_compression_algorithm_param */
+static int hf_x420_permitted_actions = -1; /* Permitted_Actions_Attribute */
+static int hf_x420_storage_account = -1; /* Account_Attribute */
+static int hf_x420_date_and_time_of_creation = -1; /* Date_and_Time_Attribute */
+static int hf_x420_date_and_time_of_last_modification = -1; /* Date_and_Time_Attribute */
+static int hf_x420_date_and_time_of_last_read_access = -1; /* Date_and_Time_Attribute */
+static int hf_x420_date_and_time_of_last_attribute_modification = -1; /* Date_and_Time_Attribute */
+static int hf_x420_identity_of_creator = -1; /* User_Identity_Attribute */
+static int hf_x420_identity_of_last_modifier = -1; /* User_Identity_Attribute */
+static int hf_x420_identity_of_last_reader = -1; /* User_Identity_Attribute */
+static int hf_x420_identity_of_last_attribute_modifier = -1; /* User_Identity_Attribute */
+static int hf_x420_object_availability = -1; /* Object_Availability_Attribute */
+static int hf_x420_object_size = -1; /* Object_Size_Attribute */
+static int hf_x420_future_object_size = -1; /* Object_Size_Attribute */
+static int hf_x420_access_control = -1; /* Access_Control_Attribute */
+static int hf_x420_legal_qualifications = -1; /* Legal_Qualification_Attribute */
+static int hf_x420_private_use = -1; /* Private_Use_Attribute */
+static int hf_x420_attribute_extensions = -1; /* Attribute_Extensions */
+static int hf_x420_incomplete_pathname = -1; /* Pathname */
+static int hf_x420_complete_pathname = -1; /* Pathname */
+static int hf_x420_no_value_available = -1; /* NULL */
+static int hf_x420_account_actual_values = -1; /* Account */
+static int hf_x420_identity_actual_values = -1; /* User_Identity */
+static int hf_x420_actual_values = -1; /* SET_OF_Access_Control_Element */
+static int hf_x420_actual_values_item = -1; /* Access_Control_Element */
+static int hf_x420_action_list = -1; /* Access_Request */
+static int hf_x420_concurrency_access = -1; /* Concurrency_Access */
+static int hf_x420_identity = -1; /* User_Identity */
+static int hf_x420_passwords = -1; /* Access_Passwords */
+static int hf_x420_location = -1; /* Application_Entity_Title */
+static int hf_x420_read_password = -1; /* Password */
+static int hf_x420_insert_password = -1; /* Password */
+static int hf_x420_replace_password = -1; /* Password */
+static int hf_x420_extend_password = -1; /* Password */
+static int hf_x420_erase_password = -1; /* Password */
+static int hf_x420_read_attribute_password = -1; /* Password */
+static int hf_x420_change_attribute_password = -1; /* Password */
+static int hf_x420_delete_password = -1; /* Password */
+static int hf_x420_pass_passwords = -1; /* Pass_Passwords */
+static int hf_x420_link_password = -1; /* Password */
+static int hf_x420_graphic_string = -1; /* GraphicString */
+static int hf_x420_octet_string = -1; /* OCTET_STRING */
+static int hf_x420_Pass_Passwords_item = -1; /* Password */
+static int hf_x420_ap_title = -1; /* AP_title */
+static int hf_x420_ae_qualifier = -1; /* AE_qualifier */
/* named bits */
static int hf_x420_NotificationRequests_rn = -1;
static int hf_x420_NotificationRequests_nrn = -1;
static int hf_x420_NotificationRequests_ipm_return = -1;
static int hf_x420_NotificationRequests_an_supported = -1;
static int hf_x420_NotificationRequests_suppress_an = -1;
+static int hf_x420_Access_Request_read = -1;
+static int hf_x420_Access_Request_insert = -1;
+static int hf_x420_Access_Request_replace = -1;
+static int hf_x420_Access_Request_extend = -1;
+static int hf_x420_Access_Request_erase = -1;
+static int hf_x420_Access_Request_read_attribute = -1;
+static int hf_x420_Access_Request_change_attribute = -1;
+static int hf_x420_Access_Request_delete_object = -1;
/*--- End of included file: packet-x420-hf.c ---*/
-#line 88 "packet-x420-template.c"
+#line 89 "packet-x420-template.c"
/* Initialize the subtree pointers */
static gint ett_x420 = -1;
@@ -375,9 +465,38 @@ static gint ett_x420_GeneralTextParameters = -1;
static gint ett_x420_VoiceParameters = -1;
static gint ett_x420_ForwardedContentParameters = -1;
static gint ett_x420_SubmissionProof = -1;
+static gint ett_x420_FileTransferParameters = -1;
+static gint ett_x420_FileTransferData = -1;
+static gint ett_x420_RelatedStoredFile = -1;
+static gint ett_x420_RelatedStoredFile_item = -1;
+static gint ett_x420_FileIdentifier = -1;
+static gint ett_x420_PathnameandVersion = -1;
+static gint ett_x420_CrossReference = -1;
+static gint ett_x420_MessageReference = -1;
+static gint ett_x420_Relationship = -1;
+static gint ett_x420_Contents_Type_Attribute = -1;
+static gint ett_x420_T_document_type = -1;
+static gint ett_x420_T_constraint_set_and_abstract_syntax = -1;
+static gint ett_x420_EnvironmentParameter = -1;
+static gint ett_x420_T_user_visible_string = -1;
+static gint ett_x420_GeneralIdentifier = -1;
+static gint ett_x420_T_descriptive_identifier = -1;
+static gint ett_x420_CompressionParameter = -1;
+static gint ett_x420_FileAttributes = -1;
+static gint ett_x420_Pathname_Attribute = -1;
+static gint ett_x420_Account_Attribute = -1;
+static gint ett_x420_User_Identity_Attribute = -1;
+static gint ett_x420_Access_Control_Attribute = -1;
+static gint ett_x420_SET_OF_Access_Control_Element = -1;
+static gint ett_x420_Access_Control_Element = -1;
+static gint ett_x420_Access_Request = -1;
+static gint ett_x420_Access_Passwords = -1;
+static gint ett_x420_Password = -1;
+static gint ett_x420_Pass_Passwords = -1;
+static gint ett_x420_Application_Entity_Title = -1;
/*--- End of included file: packet-x420-ett.c ---*/
-#line 92 "packet-x420-template.c"
+#line 93 "packet-x420-template.c"
/*--- Included file: packet-x420-fn.c ---*/
@@ -397,6 +516,9 @@ static int dissect_ipm_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset
static int dissect_user(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
return dissect_x411_ORName(FALSE, tvb, offset, actx, tree, hf_x420_user);
}
+static int dissect_user_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+ return dissect_x411_ORName(TRUE, tvb, offset, actx, tree, hf_x420_user);
+}
static int dissect_formal_name(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
return dissect_x411_ORName(FALSE, tvb, offset, actx, tree, hf_x420_formal_name);
}
@@ -454,6 +576,57 @@ static int dissect_originating_MTA_certificate_impl(proto_tree *tree _U_, tvbuff
static int dissect_message_submission_envelope(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
return dissect_x411_MessageSubmissionEnvelope(FALSE, tvb, offset, actx, tree, hf_x420_message_submission_envelope);
}
+static int dissect_FileTransferData_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+ return dissect_acse_EXTERNALt(FALSE, tvb, offset, actx, tree, hf_x420_FileTransferData_item);
+}
+static int dissect_permitted_actions_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+ return dissect_ftam_Permitted_Actions_Attribute(TRUE, tvb, offset, actx, tree, hf_x420_permitted_actions);
+}
+static int dissect_date_and_time_of_creation_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+ return dissect_ftam_Date_and_Time_Attribute(TRUE, tvb, offset, actx, tree, hf_x420_date_and_time_of_creation);
+}
+static int dissect_date_and_time_of_last_modification_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+ return dissect_ftam_Date_and_Time_Attribute(TRUE, tvb, offset, actx, tree, hf_x420_date_and_time_of_last_modification);
+}
+static int dissect_date_and_time_of_last_read_access_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+ return dissect_ftam_Date_and_Time_Attribute(TRUE, tvb, offset, actx, tree, hf_x420_date_and_time_of_last_read_access);
+}
+static int dissect_date_and_time_of_last_attribute_modification_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+ return dissect_ftam_Date_and_Time_Attribute(TRUE, tvb, offset, actx, tree, hf_x420_date_and_time_of_last_attribute_modification);
+}
+static int dissect_object_availability_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+ return dissect_ftam_Object_Availability_Attribute(TRUE, tvb, offset, actx, tree, hf_x420_object_availability);
+}
+static int dissect_object_size_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+ return dissect_ftam_Object_Size_Attribute(TRUE, tvb, offset, actx, tree, hf_x420_object_size);
+}
+static int dissect_future_object_size_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+ return dissect_ftam_Object_Size_Attribute(TRUE, tvb, offset, actx, tree, hf_x420_future_object_size);
+}
+static int dissect_legal_qualifications_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+ return dissect_ftam_Legal_Qualification_Attribute(TRUE, tvb, offset, actx, tree, hf_x420_legal_qualifications);
+}
+static int dissect_private_use_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+ return dissect_ftam_Private_Use_Attribute(TRUE, tvb, offset, actx, tree, hf_x420_private_use);
+}
+static int dissect_attribute_extensions_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+ return dissect_ftam_Attribute_Extensions(TRUE, tvb, offset, actx, tree, hf_x420_attribute_extensions);
+}
+static int dissect_incomplete_pathname_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+ return dissect_ftam_Pathname(TRUE, tvb, offset, actx, tree, hf_x420_incomplete_pathname);
+}
+static int dissect_complete_pathname_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+ return dissect_ftam_Pathname(TRUE, tvb, offset, actx, tree, hf_x420_complete_pathname);
+}
+static int dissect_concurrency_access_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+ return dissect_ftam_Concurrency_Access(TRUE, tvb, offset, actx, tree, hf_x420_concurrency_access);
+}
+static int dissect_ap_title(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+ return dissect_acse_AP_title(FALSE, tvb, offset, actx, tree, hf_x420_ap_title);
+}
+static int dissect_ae_qualifier(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+ return dissect_acse_AE_qualifier(FALSE, tvb, offset, actx, tree, hf_x420_ae_qualifier);
+}
@@ -647,7 +820,7 @@ static int dissect_telex_compatible_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_
static int
dissect_x420_T_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_) {
-#line 115 "x420.cnf"
+#line 129 "x420.cnf"
const char *name = NULL;
offset = dissect_ber_object_identifier_str(implicit_tag, actx, tree, tvb, offset, hf_index, &object_identifier_id);
@@ -668,7 +841,7 @@ static int dissect_type(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_,
static int
dissect_x420_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_) {
-#line 123 "x420.cnf"
+#line 137 "x420.cnf"
offset=call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree);
@@ -905,7 +1078,7 @@ static int dissect_related_IPMs_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, in
static int
dissect_x420_SubjectField(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 145 "x420.cnf"
+#line 159 "x420.cnf"
tvbuff_t *subject=NULL;
offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString,
@@ -1163,6 +1336,9 @@ static int dissect_submitted_body_part_impl(proto_tree *tree _U_, tvbuff_t *tvb
static int dissect_voice_message_duration_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
return dissect_x420_INTEGER(TRUE, tvb, offset, actx, tree, hf_x420_voice_message_duration);
}
+static int dissect_body_part_reference_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+ return dissect_x420_INTEGER(TRUE, tvb, offset, actx, tree, hf_x420_body_part_reference);
+}
static const ber_old_sequence_t G3FacsimileParameters_set[] = {
@@ -1237,7 +1413,7 @@ static int dissect_g3_facsimile_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, in
static int
dissect_x420_Interchange_Data_Element(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 164 "x420.cnf"
+#line 178 "x420.cnf"
/* XXX Not implemented yet */
@@ -1553,12 +1729,11 @@ static int dissect_bilaterally_defined_impl(proto_tree *tree _U_, tvbuff_t *tvb
static int
dissect_x420_NationallyDefinedBodyPart(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 167 "x420.cnf"
+#line 181 "x420.cnf"
/* XXX Not implemented yet */
-
return offset;
}
static int dissect_nationally_defined_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
@@ -1654,7 +1829,7 @@ static const ber_old_sequence_t IPM_sequence[] = {
int
dissect_x420_IPM(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 127 "x420.cnf"
+#line 141 "x420.cnf"
if(check_col(actx->pinfo->cinfo, COL_INFO))
col_append_fstr(actx->pinfo->cinfo, COL_INFO, " Message");
@@ -1980,7 +2155,7 @@ static const ber_old_sequence_t IPN_set[] = {
int
dissect_x420_IPN(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 135 "x420.cnf"
+#line 149 "x420.cnf"
if(check_col(actx->pinfo->cinfo, COL_INFO))
col_append_fstr(actx->pinfo->cinfo, COL_INFO, " Notification");
@@ -2296,6 +2471,9 @@ static int dissect_body_part_unlabelled_impl(proto_tree *tree _U_, tvbuff_t *tvb
static int dissect_simple(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
return dissect_x420_NULL(FALSE, tvb, offset, actx, tree, hf_x420_simple);
}
+static int dissect_no_value_available_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+ return dissect_x420_NULL(TRUE, tvb, offset, actx, tree, hf_x420_no_value_available);
+}
static const value_string x420_BodyPartSecurityLabel_vals[] = {
@@ -2512,6 +2690,15 @@ static int dissect_reference_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int o
static int dissect_voice_encoding_type_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
return dissect_x420_OBJECT_IDENTIFIER(TRUE, tvb, offset, actx, tree, hf_x420_voice_encoding_type);
}
+static int dissect_operating_system_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+ return dissect_x420_OBJECT_IDENTIFIER(TRUE, tvb, offset, actx, tree, hf_x420_operating_system);
+}
+static int dissect_registered_identifier_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+ return dissect_x420_OBJECT_IDENTIFIER(TRUE, tvb, offset, actx, tree, hf_x420_registered_identifier);
+}
+static int dissect_compression_algorithm_id_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+ return dissect_x420_OBJECT_IDENTIFIER(TRUE, tvb, offset, actx, tree, hf_x420_compression_algorithm_id);
+}
@@ -2666,7 +2853,7 @@ dissect_x420_Precedence(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset
static int
dissect_x420_CharacterSetRegistration(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 156 "x420.cnf"
+#line 170 "x420.cnf"
guint32 crs;
proto_item *pi;
offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
@@ -2784,6 +2971,839 @@ dissect_x420_ForwardedContentParameters(gboolean implicit_tag _U_, tvbuff_t *tvb
return offset;
}
+
+static const value_string x420_Pathname_Attribute_vals[] = {
+ { 0, "incomplete-pathname" },
+ { 23, "complete-pathname" },
+ { 0, NULL }
+};
+
+static const ber_old_choice_t Pathname_Attribute_choice[] = {
+ { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_incomplete_pathname_impl },
+ { 23, BER_CLASS_CON, 23, BER_FLAGS_IMPLTAG, dissect_complete_pathname_impl },
+ { 0, 0, 0, 0, NULL }
+};
+
+static int
+dissect_x420_Pathname_Attribute(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_old_choice(actx, tree, tvb, offset,
+ Pathname_Attribute_choice, hf_index, ett_x420_Pathname_Attribute,
+ NULL);
+
+ return offset;
+}
+static int dissect_pathname(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+ return dissect_x420_Pathname_Attribute(FALSE, tvb, offset, actx, tree, hf_x420_pathname);
+}
+static int dissect_pathname_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+ return dissect_x420_Pathname_Attribute(TRUE, tvb, offset, actx, tree, hf_x420_pathname);
+}
+
+
+
+static int
+dissect_x420_GraphicString(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_GraphicString,
+ actx, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+static int dissect_file_version_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+ return dissect_x420_GraphicString(TRUE, tvb, offset, actx, tree, hf_x420_file_version);
+}
+static int dissect_descriptive_relationship_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+ return dissect_x420_GraphicString(TRUE, tvb, offset, actx, tree, hf_x420_descriptive_relationship);
+}
+static int dissect_user_visible_string_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+ return dissect_x420_GraphicString(FALSE, tvb, offset, actx, tree, hf_x420_user_visible_string_item);
+}
+static int dissect_descriptive_identifier_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+ return dissect_x420_GraphicString(FALSE, tvb, offset, actx, tree, hf_x420_descriptive_identifier_item);
+}
+static int dissect_graphic_string(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+ return dissect_x420_GraphicString(FALSE, tvb, offset, actx, tree, hf_x420_graphic_string);
+}
+
+
+static const ber_old_sequence_t PathnameandVersion_sequence[] = {
+ { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_pathname_impl },
+ { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_file_version_impl },
+ { 0, 0, 0, NULL }
+};
+
+static int
+dissect_x420_PathnameandVersion(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_old_sequence(implicit_tag, actx, tree, tvb, offset,
+ PathnameandVersion_sequence, hf_index, ett_x420_PathnameandVersion);
+
+ return offset;
+}
+static int dissect_pathname_and_version_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+ return dissect_x420_PathnameandVersion(TRUE, tvb, offset, actx, tree, hf_x420_pathname_and_version);
+}
+
+
+
+static int
+dissect_x420_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_) {
+ offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+static int dissect_application_cross_reference_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+ return dissect_x420_OCTET_STRING(TRUE, tvb, offset, actx, tree, hf_x420_application_cross_reference);
+}
+static int dissect_octet_string(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+ return dissect_x420_OCTET_STRING(FALSE, tvb, offset, actx, tree, hf_x420_octet_string);
+}
+
+
+
+static int
+dissect_x420_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_) {
+ offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
+ actx, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+static int dissect_user_relative_identifier_ref_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+ return dissect_x420_PrintableString(TRUE, tvb, offset, actx, tree, hf_x420_user_relative_identifier_ref);
+}
+
+
+static const ber_old_sequence_t MessageReference_set[] = {
+ { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_user_impl },
+ { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_user_relative_identifier_ref_impl },
+ { 0, 0, 0, NULL }
+};
+
+static int
+dissect_x420_MessageReference(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_old_set(implicit_tag, actx, tree, tvb, offset,
+ MessageReference_set, hf_index, ett_x420_MessageReference);
+
+ return offset;
+}
+static int dissect_message_reference_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+ return dissect_x420_MessageReference(TRUE, tvb, offset, actx, tree, hf_x420_message_reference);
+}
+
+
+static const ber_old_sequence_t CrossReference_sequence[] = {
+ { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_application_cross_reference_impl },
+ { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_message_reference_impl },
+ { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_body_part_reference_impl },
+ { 0, 0, 0, NULL }
+};
+
+static int
+dissect_x420_CrossReference(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_old_sequence(implicit_tag, actx, tree, tvb, offset,
+ CrossReference_sequence, hf_index, ett_x420_CrossReference);
+
+ return offset;
+}
+static int dissect_cross_reference_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+ return dissect_x420_CrossReference(TRUE, tvb, offset, actx, tree, hf_x420_cross_reference);
+}
+
+
+static const value_string x420_FileIdentifier_vals[] = {
+ { 0, "pathname-and-version" },
+ { 1, "cross-reference" },
+ { 0, NULL }
+};
+
+static const ber_old_choice_t FileIdentifier_choice[] = {
+ { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_pathname_and_version_impl },
+ { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_cross_reference_impl },
+ { 0, 0, 0, 0, NULL }
+};
+
+static int
+dissect_x420_FileIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_old_choice(actx, tree, tvb, offset,
+ FileIdentifier_choice, hf_index, ett_x420_FileIdentifier,
+ NULL);
+
+ return offset;
+}
+static int dissect_file_identifier(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+ return dissect_x420_FileIdentifier(FALSE, tvb, offset, actx, tree, hf_x420_file_identifier);
+}
+
+
+static const value_string x420_ExplicitRelationship_vals[] = {
+ { 0, "unspecified" },
+ { 1, "new-file" },
+ { 2, "replacement" },
+ { 3, "extension" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_x420_ExplicitRelationship(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+static int dissect_explicit_relationship_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+ return dissect_x420_ExplicitRelationship(TRUE, tvb, offset, actx, tree, hf_x420_explicit_relationship);
+}
+
+
+static const value_string x420_Relationship_vals[] = {
+ { 0, "explicit-relationship" },
+ { 1, "descriptive-relationship" },
+ { 0, NULL }
+};
+
+static const ber_old_choice_t Relationship_choice[] = {
+ { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_explicit_relationship_impl },
+ { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_descriptive_relationship_impl },
+ { 0, 0, 0, 0, NULL }
+};
+
+static int
+dissect_x420_Relationship(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_old_choice(actx, tree, tvb, offset,
+ Relationship_choice, hf_index, ett_x420_Relationship,
+ NULL);
+
+ return offset;
+}
+static int dissect_relationship(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+ return dissect_x420_Relationship(FALSE, tvb, offset, actx, tree, hf_x420_relationship);
+}
+
+
+static const ber_old_sequence_t RelatedStoredFile_item_sequence[] = {
+ { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_file_identifier },
+ { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_relationship },
+ { 0, 0, 0, NULL }
+};
+
+static int
+dissect_x420_RelatedStoredFile_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_) {
+ offset = dissect_ber_old_sequence(implicit_tag, actx, tree, tvb, offset,
+ RelatedStoredFile_item_sequence, hf_index, ett_x420_RelatedStoredFile_item);
+
+ return offset;
+}
+static int dissect_RelatedStoredFile_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+ return dissect_x420_RelatedStoredFile_item(FALSE, tvb, offset, actx, tree, hf_x420_RelatedStoredFile_item);
+}
+
+
+static const ber_old_sequence_t RelatedStoredFile_set_of[1] = {
+ { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_RelatedStoredFile_item },
+};
+
+static int
+dissect_x420_RelatedStoredFile(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_old_set_of(implicit_tag, actx, tree, tvb, offset,
+ RelatedStoredFile_set_of, hf_index, ett_x420_RelatedStoredFile);
+
+ return offset;
+}
+static int dissect_related_stored_file_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+ return dissect_x420_RelatedStoredFile(TRUE, tvb, offset, actx, tree, hf_x420_related_stored_file);
+}
+
+
+
+static int
+dissect_x420_Document_Type_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_) {
+ offset = dissect_ber_object_identifier(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
+
+ return offset;
+}
+static int dissect_document_type_name(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+ return dissect_x420_Document_Type_Name(FALSE, tvb, offset, actx, tree, hf_x420_document_type_name);
+}
+
+
+
+static int
+dissect_x420_T_parameter(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 184 "x420.cnf"
+/* XXX: Not implemented yet */
+
+
+
+ return offset;
+}
+static int dissect_parameter_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+ return dissect_x420_T_parameter(TRUE, tvb, offset, actx, tree, hf_x420_parameter);
+}
+
+
+static const ber_old_sequence_t T_document_type_sequence[] = {
+ { BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_document_type_name },
+ { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_parameter_impl },
+ { 0, 0, 0, NULL }
+};
+
+static int
+dissect_x420_T_document_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_) {
+ offset = dissect_ber_old_sequence(implicit_tag, actx, tree, tvb, offset,
+ T_document_type_sequence, hf_index, ett_x420_T_document_type);
+
+ return offset;
+}
+static int dissect_document_type_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+ return dissect_x420_T_document_type(TRUE, tvb, offset, actx, tree, hf_x420_document_type);
+}
+
+
+
+static int
+dissect_x420_Constraint_Set_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_) {
+ offset = dissect_ber_object_identifier(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
+
+ return offset;
+}
+static int dissect_constraint_set_name(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+ return dissect_x420_Constraint_Set_Name(FALSE, tvb, offset, actx, tree, hf_x420_constraint_set_name);
+}
+
+
+
+static int
+dissect_x420_Abstract_Syntax_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_) {
+ offset = dissect_ber_object_identifier(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
+
+ return offset;
+}
+static int dissect_abstract_syntax_name(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+ return dissect_x420_Abstract_Syntax_Name(FALSE, tvb, offset, actx, tree, hf_x420_abstract_syntax_name);
+}
+
+
+static const ber_old_sequence_t T_constraint_set_and_abstract_syntax_sequence[] = {
+ { BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_constraint_set_name },
+ { BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_abstract_syntax_name },
+ { 0, 0, 0, NULL }
+};
+
+static int
+dissect_x420_T_constraint_set_and_abstract_syntax(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_old_sequence(implicit_tag, actx, tree, tvb, offset,
+ T_constraint_set_and_abstract_syntax_sequence, hf_index, ett_x420_T_constraint_set_and_abstract_syntax);
+
+ return offset;
+}
+static int dissect_constraint_set_and_abstract_syntax_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+ return dissect_x420_T_constraint_set_and_abstract_syntax(TRUE, tvb, offset, actx, tree, hf_x420_constraint_set_and_abstract_syntax);
+}
+
+
+static const value_string x420_Contents_Type_Attribute_vals[] = {
+ { 0, "document-type" },
+ { 1, "constraint-set-and-abstract-syntax" },
+ { 0, NULL }
+};
+
+static const ber_old_choice_t Contents_Type_Attribute_choice[] = {
+ { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_document_type_impl },
+ { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_constraint_set_and_abstract_syntax_impl },
+ { 0, 0, 0, 0, NULL }
+};
+
+static int
+dissect_x420_Contents_Type_Attribute(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_old_choice(actx, tree, tvb, offset,
+ Contents_Type_Attribute_choice, hf_index, ett_x420_Contents_Type_Attribute,
+ NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_x420_ContentsTypeParameter(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_x420_Contents_Type_Attribute(implicit_tag, tvb, offset, actx, tree, hf_index);
+
+ return offset;
+}
+static int dissect_contents_type_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+ return dissect_x420_ContentsTypeParameter(TRUE, tvb, offset, actx, tree, hf_x420_contents_type);
+}
+
+
+static const ber_old_sequence_t T_descriptive_identifier_sequence_of[1] = {
+ { BER_CLASS_UNI, BER_UNI_TAG_GraphicString, BER_FLAGS_NOOWNTAG, dissect_descriptive_identifier_item },
+};
+
+static int
+dissect_x420_T_descriptive_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_) {
+ offset = dissect_ber_old_sequence_of(implicit_tag, actx, tree, tvb, offset,
+ T_descriptive_identifier_sequence_of, hf_index, ett_x420_T_descriptive_identifier);
+
+ return offset;
+}
+static int dissect_descriptive_identifier_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+ return dissect_x420_T_descriptive_identifier(TRUE, tvb, offset, actx, tree, hf_x420_descriptive_identifier);
+}
+
+
+static const value_string x420_GeneralIdentifier_vals[] = {
+ { 0, "registered-identifier" },
+ { 1, "descriptive-identifier" },
+ { 0, NULL }
+};
+
+static const ber_old_choice_t GeneralIdentifier_choice[] = {
+ { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_registered_identifier_impl },
+ { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_descriptive_identifier_impl },
+ { 0, 0, 0, 0, NULL }
+};
+
+static int
+dissect_x420_GeneralIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_old_choice(actx, tree, tvb, offset,
+ GeneralIdentifier_choice, hf_index, ett_x420_GeneralIdentifier,
+ NULL);
+
+ return offset;
+}
+static int dissect_application_reference_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+ return dissect_x420_GeneralIdentifier(TRUE, tvb, offset, actx, tree, hf_x420_application_reference);
+}
+static int dissect_machine_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+ return dissect_x420_GeneralIdentifier(TRUE, tvb, offset, actx, tree, hf_x420_machine);
+}
+
+
+static const ber_old_sequence_t T_user_visible_string_sequence_of[1] = {
+ { BER_CLASS_UNI, BER_UNI_TAG_GraphicString, BER_FLAGS_NOOWNTAG, dissect_user_visible_string_item },
+};
+
+static int
+dissect_x420_T_user_visible_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_) {
+ offset = dissect_ber_old_sequence_of(implicit_tag, actx, tree, tvb, offset,
+ T_user_visible_string_sequence_of, hf_index, ett_x420_T_user_visible_string);
+
+ return offset;
+}
+static int dissect_user_visible_string_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+ return dissect_x420_T_user_visible_string(TRUE, tvb, offset, actx, tree, hf_x420_user_visible_string);
+}
+
+
+static const ber_old_sequence_t EnvironmentParameter_sequence[] = {
+ { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_application_reference_impl },
+ { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_machine_impl },
+ { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_operating_system_impl },
+ { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_user_visible_string_impl },
+ { 0, 0, 0, NULL }
+};
+
+static int
+dissect_x420_EnvironmentParameter(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_old_sequence(implicit_tag, actx, tree, tvb, offset,
+ EnvironmentParameter_sequence, hf_index, ett_x420_EnvironmentParameter);
+
+ return offset;
+}
+static int dissect_environment_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+ return dissect_x420_EnvironmentParameter(TRUE, tvb, offset, actx, tree, hf_x420_environment);
+}
+
+
+
+static int
+dissect_x420_T_compression_algorithm_param(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 187 "x420.cnf"
+/* XXX: Not implemented yet */
+
+
+
+ return offset;
+}
+static int dissect_compression_algorithm_param_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+ return dissect_x420_T_compression_algorithm_param(TRUE, tvb, offset, actx, tree, hf_x420_compression_algorithm_param);
+}
+
+
+static const ber_old_sequence_t CompressionParameter_sequence[] = {
+ { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_compression_algorithm_id_impl },
+ { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_compression_algorithm_param_impl },
+ { 0, 0, 0, NULL }
+};
+
+static int
+dissect_x420_CompressionParameter(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_old_sequence(implicit_tag, actx, tree, tvb, offset,
+ CompressionParameter_sequence, hf_index, ett_x420_CompressionParameter);
+
+ return offset;
+}
+static int dissect_compression_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+ return dissect_x420_CompressionParameter(TRUE, tvb, offset, actx, tree, hf_x420_compression);
+}
+
+
+
+static int
+dissect_x420_Account(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_GraphicString,
+ actx, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+static int dissect_account_actual_values(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+ return dissect_x420_Account(FALSE, tvb, offset, actx, tree, hf_x420_account_actual_values);
+}
+
+
+static const value_string x420_Account_Attribute_vals[] = {
+ { 0, "no-value-available" },
+ { 1, "actual-values" },
+ { 0, NULL }
+};
+
+static const ber_old_choice_t Account_Attribute_choice[] = {
+ { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_no_value_available_impl },
+ { 1, BER_CLASS_UNI, BER_UNI_TAG_GraphicString, BER_FLAGS_NOOWNTAG, dissect_account_actual_values },
+ { 0, 0, 0, 0, NULL }
+};
+
+static int
+dissect_x420_Account_Attribute(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_old_choice(actx, tree, tvb, offset,
+ Account_Attribute_choice, hf_index, ett_x420_Account_Attribute,
+ NULL);
+
+ return offset;
+}
+static int dissect_storage_account_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+ return dissect_x420_Account_Attribute(TRUE, tvb, offset, actx, tree, hf_x420_storage_account);
+}
+
+
+
+static int
+dissect_x420_User_Identity(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_GraphicString,
+ actx, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+static int dissect_identity_actual_values(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+ return dissect_x420_User_Identity(FALSE, tvb, offset, actx, tree, hf_x420_identity_actual_values);
+}
+static int dissect_identity_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+ return dissect_x420_User_Identity(TRUE, tvb, offset, actx, tree, hf_x420_identity);
+}
+
+
+static const value_string x420_User_Identity_Attribute_vals[] = {
+ { 0, "no-value-available" },
+ { 1, "actual-values" },
+ { 0, NULL }
+};
+
+static const ber_old_choice_t User_Identity_Attribute_choice[] = {
+ { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_no_value_available_impl },
+ { 1, BER_CLASS_UNI, BER_UNI_TAG_GraphicString, BER_FLAGS_NOOWNTAG, dissect_identity_actual_values },
+ { 0, 0, 0, 0, NULL }
+};
+
+static int
+dissect_x420_User_Identity_Attribute(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_old_choice(actx, tree, tvb, offset,
+ User_Identity_Attribute_choice, hf_index, ett_x420_User_Identity_Attribute,
+ NULL);
+
+ return offset;
+}
+static int dissect_identity_of_creator_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+ return dissect_x420_User_Identity_Attribute(TRUE, tvb, offset, actx, tree, hf_x420_identity_of_creator);
+}
+static int dissect_identity_of_last_modifier_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+ return dissect_x420_User_Identity_Attribute(TRUE, tvb, offset, actx, tree, hf_x420_identity_of_last_modifier);
+}
+static int dissect_identity_of_last_reader_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+ return dissect_x420_User_Identity_Attribute(TRUE, tvb, offset, actx, tree, hf_x420_identity_of_last_reader);
+}
+static int dissect_identity_of_last_attribute_modifier_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+ return dissect_x420_User_Identity_Attribute(TRUE, tvb, offset, actx, tree, hf_x420_identity_of_last_attribute_modifier);
+}
+
+
+static const asn_namedbit Access_Request_bits[] = {
+ { 0, &hf_x420_Access_Request_read, -1, -1, "read", NULL },
+ { 1, &hf_x420_Access_Request_insert, -1, -1, "insert", NULL },
+ { 2, &hf_x420_Access_Request_replace, -1, -1, "replace", NULL },
+ { 3, &hf_x420_Access_Request_extend, -1, -1, "extend", NULL },
+ { 4, &hf_x420_Access_Request_erase, -1, -1, "erase", NULL },
+ { 5, &hf_x420_Access_Request_read_attribute, -1, -1, "read-attribute", NULL },
+ { 6, &hf_x420_Access_Request_change_attribute, -1, -1, "change-attribute", NULL },
+ { 7, &hf_x420_Access_Request_delete_object, -1, -1, "delete-object", NULL },
+ { 0, NULL, 0, 0, NULL, NULL }
+};
+
+static int
+dissect_x420_Access_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
+ Access_Request_bits, hf_index, ett_x420_Access_Request,
+ NULL);
+
+ return offset;
+}
+static int dissect_action_list_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+ return dissect_x420_Access_Request(TRUE, tvb, offset, actx, tree, hf_x420_action_list);
+}
+
+
+static const value_string x420_Password_vals[] = {
+ { 0, "graphic-string" },
+ { 1, "octet-string" },
+ { 0, NULL }
+};
+
+static const ber_old_choice_t Password_choice[] = {
+ { 0, BER_CLASS_UNI, BER_UNI_TAG_GraphicString, BER_FLAGS_NOOWNTAG, dissect_graphic_string },
+ { 1, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_octet_string },
+ { 0, 0, 0, 0, NULL }
+};
+
+static int
+dissect_x420_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_) {
+ offset = dissect_ber_old_choice(actx, tree, tvb, offset,
+ Password_choice, hf_index, ett_x420_Password,
+ NULL);
+
+ return offset;
+}
+static int dissect_read_password_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+ return dissect_x420_Password(TRUE, tvb, offset, actx, tree, hf_x420_read_password);
+}
+static int dissect_insert_password_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+ return dissect_x420_Password(TRUE, tvb, offset, actx, tree, hf_x420_insert_password);
+}
+static int dissect_replace_password_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+ return dissect_x420_Password(TRUE, tvb, offset, actx, tree, hf_x420_replace_password);
+}
+static int dissect_extend_password_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+ return dissect_x420_Password(TRUE, tvb, offset, actx, tree, hf_x420_extend_password);
+}
+static int dissect_erase_password_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+ return dissect_x420_Password(TRUE, tvb, offset, actx, tree, hf_x420_erase_password);
+}
+static int dissect_read_attribute_password_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+ return dissect_x420_Password(TRUE, tvb, offset, actx, tree, hf_x420_read_attribute_password);
+}
+static int dissect_change_attribute_password_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+ return dissect_x420_Password(TRUE, tvb, offset, actx, tree, hf_x420_change_attribute_password);
+}
+static int dissect_delete_password_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+ return dissect_x420_Password(TRUE, tvb, offset, actx, tree, hf_x420_delete_password);
+}
+static int dissect_link_password_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+ return dissect_x420_Password(TRUE, tvb, offset, actx, tree, hf_x420_link_password);
+}
+static int dissect_Pass_Passwords_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+ return dissect_x420_Password(FALSE, tvb, offset, actx, tree, hf_x420_Pass_Passwords_item);
+}
+
+
+static const ber_old_sequence_t Pass_Passwords_sequence_of[1] = {
+ { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_Pass_Passwords_item },
+};
+
+static int
+dissect_x420_Pass_Passwords(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_old_sequence_of(implicit_tag, actx, tree, tvb, offset,
+ Pass_Passwords_sequence_of, hf_index, ett_x420_Pass_Passwords);
+
+ return offset;
+}
+static int dissect_pass_passwords_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+ return dissect_x420_Pass_Passwords(TRUE, tvb, offset, actx, tree, hf_x420_pass_passwords);
+}
+
+
+static const ber_old_sequence_t Access_Passwords_sequence[] = {
+ { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_read_password_impl },
+ { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_insert_password_impl },
+ { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_replace_password_impl },
+ { BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_extend_password_impl },
+ { BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_erase_password_impl },
+ { BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_read_attribute_password_impl },
+ { BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_change_attribute_password_impl },
+ { BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_delete_password_impl },
+ { BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_pass_passwords_impl },
+ { BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_link_password_impl },
+ { 0, 0, 0, NULL }
+};
+
+static int
+dissect_x420_Access_Passwords(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_old_sequence(implicit_tag, actx, tree, tvb, offset,
+ Access_Passwords_sequence, hf_index, ett_x420_Access_Passwords);
+
+ return offset;
+}
+static int dissect_passwords_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+ return dissect_x420_Access_Passwords(TRUE, tvb, offset, actx, tree, hf_x420_passwords);
+}
+
+
+static const ber_old_sequence_t Application_Entity_Title_sequence[] = {
+ { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_ap_title },
+ { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_ae_qualifier },
+ { 0, 0, 0, NULL }
+};
+
+static int
+dissect_x420_Application_Entity_Title(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_old_sequence(implicit_tag, actx, tree, tvb, offset,
+ Application_Entity_Title_sequence, hf_index, ett_x420_Application_Entity_Title);
+
+ return offset;
+}
+static int dissect_location_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+ return dissect_x420_Application_Entity_Title(TRUE, tvb, offset, actx, tree, hf_x420_location);
+}
+
+
+static const ber_old_sequence_t Access_Control_Element_sequence[] = {
+ { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_action_list_impl },
+ { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_concurrency_access_impl },
+ { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_identity_impl },
+ { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_passwords_impl },
+ { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_location_impl },
+ { 0, 0, 0, NULL }
+};
+
+static int
+dissect_x420_Access_Control_Element(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_old_sequence(implicit_tag, actx, tree, tvb, offset,
+ Access_Control_Element_sequence, hf_index, ett_x420_Access_Control_Element);
+
+ return offset;
+}
+static int dissect_actual_values_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+ return dissect_x420_Access_Control_Element(FALSE, tvb, offset, actx, tree, hf_x420_actual_values_item);
+}
+
+
+static const ber_old_sequence_t SET_OF_Access_Control_Element_set_of[1] = {
+ { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_actual_values_item },
+};
+
+static int
+dissect_x420_SET_OF_Access_Control_Element(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_old_set_of(implicit_tag, actx, tree, tvb, offset,
+ SET_OF_Access_Control_Element_set_of, hf_index, ett_x420_SET_OF_Access_Control_Element);
+
+ return offset;
+}
+static int dissect_actual_values_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+ return dissect_x420_SET_OF_Access_Control_Element(TRUE, tvb, offset, actx, tree, hf_x420_actual_values);
+}
+
+
+static const value_string x420_Access_Control_Attribute_vals[] = {
+ { 0, "no-value-available" },
+ { 1, "actual-values" },
+ { 0, NULL }
+};
+
+static const ber_old_choice_t Access_Control_Attribute_choice[] = {
+ { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_no_value_available_impl },
+ { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_actual_values_impl },
+ { 0, 0, 0, 0, NULL }
+};
+
+static int
+dissect_x420_Access_Control_Attribute(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_old_choice(actx, tree, tvb, offset,
+ Access_Control_Attribute_choice, hf_index, ett_x420_Access_Control_Attribute,
+ NULL);
+
+ return offset;
+}
+static int dissect_access_control_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+ return dissect_x420_Access_Control_Attribute(TRUE, tvb, offset, actx, tree, hf_x420_access_control);
+}
+
+
+static const ber_old_sequence_t FileAttributes_sequence[] = {
+ { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_pathname },
+ { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_permitted_actions_impl },
+ { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_storage_account_impl },
+ { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_date_and_time_of_creation_impl },
+ { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_date_and_time_of_last_modification_impl },
+ { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_date_and_time_of_last_read_access_impl },
+ { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_date_and_time_of_last_attribute_modification_impl },
+ { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_identity_of_creator_impl },
+ { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_identity_of_last_modifier_impl },
+ { BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_identity_of_last_reader_impl },
+ { BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_identity_of_last_attribute_modifier_impl },
+ { BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_object_availability_impl },
+ { BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_object_size_impl },
+ { BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_future_object_size_impl },
+ { BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_access_control_impl },
+ { BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_legal_qualifications_impl },
+ { BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_private_use_impl },
+ { BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_attribute_extensions_impl },
+ { 0, 0, 0, NULL }
+};
+
+static int
+dissect_x420_FileAttributes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_old_sequence(implicit_tag, actx, tree, tvb, offset,
+ FileAttributes_sequence, hf_index, ett_x420_FileAttributes);
+
+ return offset;
+}
+static int dissect_file_attributes_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+ return dissect_x420_FileAttributes(TRUE, tvb, offset, actx, tree, hf_x420_file_attributes);
+}
+
+
+static const ber_old_sequence_t FileTransferParameters_sequence[] = {
+ { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_related_stored_file_impl },
+ { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_contents_type_impl },
+ { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_environment_impl },
+ { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_compression_impl },
+ { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_file_attributes_impl },
+ { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
+ { 0, 0, 0, NULL }
+};
+
+static int
+dissect_x420_FileTransferParameters(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_old_sequence(implicit_tag, actx, tree, tvb, offset,
+ FileTransferParameters_sequence, hf_index, ett_x420_FileTransferParameters);
+
+ return offset;
+}
+
+
+static const ber_old_sequence_t FileTransferData_sequence_of[1] = {
+ { BER_CLASS_UNI, 8, BER_FLAGS_NOOWNTAG, dissect_FileTransferData_item },
+};
+
+static int
+dissect_x420_FileTransferData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_old_sequence_of(implicit_tag, actx, tree, tvb, offset,
+ FileTransferData_sequence_of, hf_index, ett_x420_FileTransferData);
+
+ return offset;
+}
+
/*--- PDUs ---*/
static void dissect_InformationObject_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
@@ -2991,10 +4011,20 @@ static void dissect_ForwardedContentParameters_PDU(tvbuff_t *tvb _U_, packet_inf
asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
dissect_x420_ForwardedContentParameters(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_ForwardedContentParameters_PDU);
}
+static void dissect_FileTransferParameters_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ dissect_x420_FileTransferParameters(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_FileTransferParameters_PDU);
+}
+static void dissect_FileTransferData_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ dissect_x420_FileTransferData(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_FileTransferData_PDU);
+}
/*--- End of included file: packet-x420-fn.c ---*/
-#line 94 "packet-x420-template.c"
+#line 95 "packet-x420-template.c"
/*
* Dissect X420 PDUs inside a PPDU.
@@ -3195,6 +4225,14 @@ void proto_register_x420(void) {
{ "ForwardedContentParameters", "x420.ForwardedContentParameters",
FT_NONE, BASE_NONE, NULL, 0,
"x420.ForwardedContentParameters", HFILL }},
+ { &hf_x420_FileTransferParameters_PDU,
+ { "FileTransferParameters", "x420.FileTransferParameters",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "x420.FileTransferParameters", HFILL }},
+ { &hf_x420_FileTransferData_PDU,
+ { "FileTransferData", "x420.FileTransferData",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "x420.FileTransferData", HFILL }},
{ &hf_x420_ipm,
{ "ipm", "x420.ipm",
FT_NONE, BASE_NONE, NULL, 0,
@@ -3807,6 +4845,322 @@ void proto_register_x420(void) {
{ "message-submission-envelope", "x420.message_submission_envelope",
FT_NONE, BASE_NONE, NULL, 0,
"x411.MessageSubmissionEnvelope", HFILL }},
+ { &hf_x420_related_stored_file,
+ { "related-stored-file", "x420.related_stored_file",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "x420.RelatedStoredFile", HFILL }},
+ { &hf_x420_contents_type,
+ { "contents-type", "x420.contents_type",
+ FT_UINT32, BASE_DEC, VALS(x420_Contents_Type_Attribute_vals), 0,
+ "x420.ContentsTypeParameter", HFILL }},
+ { &hf_x420_environment,
+ { "environment", "x420.environment",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "x420.EnvironmentParameter", HFILL }},
+ { &hf_x420_compression,
+ { "compression", "x420.compression",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "x420.CompressionParameter", HFILL }},
+ { &hf_x420_file_attributes,
+ { "file-attributes", "x420.file_attributes",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "x420.FileAttributes", HFILL }},
+ { &hf_x420_FileTransferData_item,
+ { "Item", "x420.FileTransferData_item",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "acse.EXTERNALt", HFILL }},
+ { &hf_x420_RelatedStoredFile_item,
+ { "Item", "x420.RelatedStoredFile_item",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "x420.RelatedStoredFile_item", HFILL }},
+ { &hf_x420_file_identifier,
+ { "file-identifier", "x420.file_identifier",
+ FT_UINT32, BASE_DEC, VALS(x420_FileIdentifier_vals), 0,
+ "x420.FileIdentifier", HFILL }},
+ { &hf_x420_relationship,
+ { "relationship", "x420.relationship",
+ FT_UINT32, BASE_DEC, VALS(x420_Relationship_vals), 0,
+ "x420.Relationship", HFILL }},
+ { &hf_x420_pathname_and_version,
+ { "pathname-and-version", "x420.pathname_and_version",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "x420.PathnameandVersion", HFILL }},
+ { &hf_x420_cross_reference,
+ { "cross-reference", "x420.cross_reference",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "x420.CrossReference", HFILL }},
+ { &hf_x420_pathname,
+ { "pathname", "x420.pathname",
+ FT_UINT32, BASE_DEC, VALS(x420_Pathname_Attribute_vals), 0,
+ "x420.Pathname_Attribute", HFILL }},
+ { &hf_x420_file_version,
+ { "file-version", "x420.file_version",
+ FT_STRING, BASE_NONE, NULL, 0,
+ "x420.GraphicString", HFILL }},
+ { &hf_x420_application_cross_reference,
+ { "application-cross-reference", "x420.application_cross_reference",
+ FT_BYTES, BASE_HEX, NULL, 0,
+ "x420.OCTET_STRING", HFILL }},
+ { &hf_x420_message_reference,
+ { "message-reference", "x420.message_reference",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "x420.MessageReference", HFILL }},
+ { &hf_x420_body_part_reference,
+ { "body-part-reference", "x420.body_part_reference",
+ FT_INT32, BASE_DEC, NULL, 0,
+ "x420.INTEGER", HFILL }},
+ { &hf_x420_user_relative_identifier_ref,
+ { "user-relative-identifier", "x420.user_relative_identifier",
+ FT_STRING, BASE_NONE, NULL, 0,
+ "x420.PrintableString", HFILL }},
+ { &hf_x420_explicit_relationship,
+ { "explicit-relationship", "x420.explicit_relationship",
+ FT_INT32, BASE_DEC, VALS(x420_ExplicitRelationship_vals), 0,
+ "x420.ExplicitRelationship", HFILL }},
+ { &hf_x420_descriptive_relationship,
+ { "descriptive-relationship", "x420.descriptive_relationship",
+ FT_STRING, BASE_NONE, NULL, 0,
+ "x420.GraphicString", HFILL }},
+ { &hf_x420_document_type,
+ { "document-type", "x420.document_type",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "x420.T_document_type", HFILL }},
+ { &hf_x420_document_type_name,
+ { "document-type-name", "x420.document_type_name",
+ FT_OID, BASE_NONE, NULL, 0,
+ "x420.Document_Type_Name", HFILL }},
+ { &hf_x420_parameter,
+ { "parameter", "x420.parameter",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "x420.T_parameter", HFILL }},
+ { &hf_x420_constraint_set_and_abstract_syntax,
+ { "constraint-set-and-abstract-syntax", "x420.constraint_set_and_abstract_syntax",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "x420.T_constraint_set_and_abstract_syntax", HFILL }},
+ { &hf_x420_constraint_set_name,
+ { "constraint-set-name", "x420.constraint_set_name",
+ FT_OID, BASE_NONE, NULL, 0,
+ "x420.Constraint_Set_Name", HFILL }},
+ { &hf_x420_abstract_syntax_name,
+ { "abstract-syntax-name", "x420.abstract_syntax_name",
+ FT_OID, BASE_NONE, NULL, 0,
+ "x420.Abstract_Syntax_Name", HFILL }},
+ { &hf_x420_application_reference,
+ { "application-reference", "x420.application_reference",
+ FT_UINT32, BASE_DEC, VALS(x420_GeneralIdentifier_vals), 0,
+ "x420.GeneralIdentifier", HFILL }},
+ { &hf_x420_machine,
+ { "machine", "x420.machine",
+ FT_UINT32, BASE_DEC, VALS(x420_GeneralIdentifier_vals), 0,
+ "x420.GeneralIdentifier", HFILL }},
+ { &hf_x420_operating_system,
+ { "operating-system", "x420.operating_system",
+ FT_OID, BASE_NONE, NULL, 0,
+ "x420.OBJECT_IDENTIFIER", HFILL }},
+ { &hf_x420_user_visible_string,
+ { "user-visible-string", "x420.user_visible_string",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "x420.T_user_visible_string", HFILL }},
+ { &hf_x420_user_visible_string_item,
+ { "Item", "x420.user_visible_string_item",
+ FT_STRING, BASE_NONE, NULL, 0,
+ "x420.GraphicString", HFILL }},
+ { &hf_x420_registered_identifier,
+ { "registered-identifier", "x420.registered_identifier",
+ FT_OID, BASE_NONE, NULL, 0,
+ "x420.OBJECT_IDENTIFIER", HFILL }},
+ { &hf_x420_descriptive_identifier,
+ { "descriptive-identifier", "x420.descriptive_identifier",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "x420.T_descriptive_identifier", HFILL }},
+ { &hf_x420_descriptive_identifier_item,
+ { "Item", "x420.descriptive_identifier_item",
+ FT_STRING, BASE_NONE, NULL, 0,
+ "x420.GraphicString", HFILL }},
+ { &hf_x420_compression_algorithm_id,
+ { "compression-algorithm-id", "x420.compression_algorithm_id",
+ FT_OID, BASE_NONE, NULL, 0,
+ "x420.OBJECT_IDENTIFIER", HFILL }},
+ { &hf_x420_compression_algorithm_param,
+ { "compression-algorithm-param", "x420.compression_algorithm_param",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "x420.T_compression_algorithm_param", HFILL }},
+ { &hf_x420_permitted_actions,
+ { "permitted-actions", "x420.permitted_actions",
+ FT_BYTES, BASE_HEX, NULL, 0,
+ "ftam.Permitted_Actions_Attribute", HFILL }},
+ { &hf_x420_storage_account,
+ { "storage-account", "x420.storage_account",
+ FT_UINT32, BASE_DEC, VALS(x420_Account_Attribute_vals), 0,
+ "x420.Account_Attribute", HFILL }},
+ { &hf_x420_date_and_time_of_creation,
+ { "date-and-time-of-creation", "x420.date_and_time_of_creation",
+ FT_UINT32, BASE_DEC, VALS(ftam_Date_and_Time_Attribute_vals), 0,
+ "ftam.Date_and_Time_Attribute", HFILL }},
+ { &hf_x420_date_and_time_of_last_modification,
+ { "date-and-time-of-last-modification", "x420.date_and_time_of_last_modification",
+ FT_UINT32, BASE_DEC, VALS(ftam_Date_and_Time_Attribute_vals), 0,
+ "ftam.Date_and_Time_Attribute", HFILL }},
+ { &hf_x420_date_and_time_of_last_read_access,
+ { "date-and-time-of-last-read-access", "x420.date_and_time_of_last_read_access",
+ FT_UINT32, BASE_DEC, VALS(ftam_Date_and_Time_Attribute_vals), 0,
+ "ftam.Date_and_Time_Attribute", HFILL }},
+ { &hf_x420_date_and_time_of_last_attribute_modification,
+ { "date-and-time-of-last-attribute-modification", "x420.date_and_time_of_last_attribute_modification",
+ FT_UINT32, BASE_DEC, VALS(ftam_Date_and_Time_Attribute_vals), 0,
+ "ftam.Date_and_Time_Attribute", HFILL }},
+ { &hf_x420_identity_of_creator,
+ { "identity-of-creator", "x420.identity_of_creator",
+ FT_UINT32, BASE_DEC, VALS(x420_User_Identity_Attribute_vals), 0,
+ "x420.User_Identity_Attribute", HFILL }},
+ { &hf_x420_identity_of_last_modifier,
+ { "identity-of-last-modifier", "x420.identity_of_last_modifier",
+ FT_UINT32, BASE_DEC, VALS(x420_User_Identity_Attribute_vals), 0,
+ "x420.User_Identity_Attribute", HFILL }},
+ { &hf_x420_identity_of_last_reader,
+ { "identity-of-last-reader", "x420.identity_of_last_reader",
+ FT_UINT32, BASE_DEC, VALS(x420_User_Identity_Attribute_vals), 0,
+ "x420.User_Identity_Attribute", HFILL }},
+ { &hf_x420_identity_of_last_attribute_modifier,
+ { "identity-of-last-attribute-modifier", "x420.identity_of_last_attribute_modifier",
+ FT_UINT32, BASE_DEC, VALS(x420_User_Identity_Attribute_vals), 0,
+ "x420.User_Identity_Attribute", HFILL }},
+ { &hf_x420_object_availability,
+ { "object-availability", "x420.object_availability",
+ FT_UINT32, BASE_DEC, VALS(ftam_Object_Availability_Attribute_vals), 0,
+ "ftam.Object_Availability_Attribute", HFILL }},
+ { &hf_x420_object_size,
+ { "object-size", "x420.object_size",
+ FT_UINT32, BASE_DEC, VALS(ftam_Object_Size_Attribute_vals), 0,
+ "ftam.Object_Size_Attribute", HFILL }},
+ { &hf_x420_future_object_size,
+ { "future-object-size", "x420.future_object_size",
+ FT_UINT32, BASE_DEC, VALS(ftam_Object_Size_Attribute_vals), 0,
+ "ftam.Object_Size_Attribute", HFILL }},
+ { &hf_x420_access_control,
+ { "access-control", "x420.access_control",
+ FT_UINT32, BASE_DEC, VALS(x420_Access_Control_Attribute_vals), 0,
+ "x420.Access_Control_Attribute", HFILL }},
+ { &hf_x420_legal_qualifications,
+ { "legal-qualifications", "x420.legal_qualifications",
+ FT_UINT32, BASE_DEC, VALS(ftam_Legal_Qualification_Attribute_vals), 0,
+ "ftam.Legal_Qualification_Attribute", HFILL }},
+ { &hf_x420_private_use,
+ { "private-use", "x420.private_use",
+ FT_UINT32, BASE_DEC, VALS(ftam_Private_Use_Attribute_vals), 0,
+ "ftam.Private_Use_Attribute", HFILL }},
+ { &hf_x420_attribute_extensions,
+ { "attribute-extensions", "x420.attribute_extensions",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "ftam.Attribute_Extensions", HFILL }},
+ { &hf_x420_incomplete_pathname,
+ { "incomplete-pathname", "x420.incomplete_pathname",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "ftam.Pathname", HFILL }},
+ { &hf_x420_complete_pathname,
+ { "complete-pathname", "x420.complete_pathname",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "ftam.Pathname", HFILL }},
+ { &hf_x420_no_value_available,
+ { "no-value-available", "x420.no_value_available",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "x420.NULL", HFILL }},
+ { &hf_x420_account_actual_values,
+ { "actual-values", "x420.actual_values",
+ FT_STRING, BASE_NONE, NULL, 0,
+ "x420.Account", HFILL }},
+ { &hf_x420_identity_actual_values,
+ { "actual-values", "x420.actual_values",
+ FT_STRING, BASE_NONE, NULL, 0,
+ "x420.User_Identity", HFILL }},
+ { &hf_x420_actual_values,
+ { "actual-values", "x420.actual_values",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "x420.SET_OF_Access_Control_Element", HFILL }},
+ { &hf_x420_actual_values_item,
+ { "Item", "x420.actual_values_item",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "x420.Access_Control_Element", HFILL }},
+ { &hf_x420_action_list,
+ { "action-list", "x420.action_list",
+ FT_BYTES, BASE_HEX, NULL, 0,
+ "x420.Access_Request", HFILL }},
+ { &hf_x420_concurrency_access,
+ { "concurrency-access", "x420.concurrency_access",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "ftam.Concurrency_Access", HFILL }},
+ { &hf_x420_identity,
+ { "identity", "x420.identity",
+ FT_STRING, BASE_NONE, NULL, 0,
+ "x420.User_Identity", HFILL }},
+ { &hf_x420_passwords,
+ { "passwords", "x420.passwords",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "x420.Access_Passwords", HFILL }},
+ { &hf_x420_location,
+ { "location", "x420.location",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "x420.Application_Entity_Title", HFILL }},
+ { &hf_x420_read_password,
+ { "read-password", "x420.read_password",
+ FT_UINT32, BASE_DEC, VALS(x420_Password_vals), 0,
+ "x420.Password", HFILL }},
+ { &hf_x420_insert_password,
+ { "insert-password", "x420.insert_password",
+ FT_UINT32, BASE_DEC, VALS(x420_Password_vals), 0,
+ "x420.Password", HFILL }},
+ { &hf_x420_replace_password,
+ { "replace-password", "x420.replace_password",
+ FT_UINT32, BASE_DEC, VALS(x420_Password_vals), 0,
+ "x420.Password", HFILL }},
+ { &hf_x420_extend_password,
+ { "extend-password", "x420.extend_password",
+ FT_UINT32, BASE_DEC, VALS(x420_Password_vals), 0,
+ "x420.Password", HFILL }},
+ { &hf_x420_erase_password,
+ { "erase-password", "x420.erase_password",
+ FT_UINT32, BASE_DEC, VALS(x420_Password_vals), 0,
+ "x420.Password", HFILL }},
+ { &hf_x420_read_attribute_password,
+ { "read-attribute-password", "x420.read_attribute_password",
+ FT_UINT32, BASE_DEC, VALS(x420_Password_vals), 0,
+ "x420.Password", HFILL }},
+ { &hf_x420_change_attribute_password,
+ { "change-attribute-password", "x420.change_attribute_password",
+ FT_UINT32, BASE_DEC, VALS(x420_Password_vals), 0,
+ "x420.Password", HFILL }},
+ { &hf_x420_delete_password,
+ { "delete-password", "x420.delete_password",
+ FT_UINT32, BASE_DEC, VALS(x420_Password_vals), 0,
+ "x420.Password", HFILL }},
+ { &hf_x420_pass_passwords,
+ { "pass-passwords", "x420.pass_passwords",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "x420.Pass_Passwords", HFILL }},
+ { &hf_x420_link_password,
+ { "link-password", "x420.link_password",
+ FT_UINT32, BASE_DEC, VALS(x420_Password_vals), 0,
+ "x420.Password", HFILL }},
+ { &hf_x420_graphic_string,
+ { "graphic-string", "x420.graphic_string",
+ FT_STRING, BASE_NONE, NULL, 0,
+ "x420.GraphicString", HFILL }},
+ { &hf_x420_octet_string,
+ { "octet-string", "x420.octet_string",
+ FT_BYTES, BASE_HEX, NULL, 0,
+ "x420.OCTET_STRING", HFILL }},
+ { &hf_x420_Pass_Passwords_item,
+ { "Item", "x420.Pass_Passwords_item",
+ FT_UINT32, BASE_DEC, VALS(x420_Password_vals), 0,
+ "x420.Password", HFILL }},
+ { &hf_x420_ap_title,
+ { "ap-title", "x420.ap_title",
+ FT_UINT32, BASE_DEC, VALS(acse_AP_title_vals), 0,
+ "acse.AP_title", HFILL }},
+ { &hf_x420_ae_qualifier,
+ { "ae-qualifier", "x420.ae_qualifier",
+ FT_UINT32, BASE_DEC, VALS(acse_ASO_qualifier_vals), 0,
+ "acse.AE_qualifier", HFILL }},
{ &hf_x420_NotificationRequests_rn,
{ "rn", "x420.rn",
FT_BOOLEAN, 8, NULL, 0x80,
@@ -3827,9 +5181,41 @@ void proto_register_x420(void) {
{ "suppress-an", "x420.suppress-an",
FT_BOOLEAN, 8, NULL, 0x08,
"", HFILL }},
+ { &hf_x420_Access_Request_read,
+ { "read", "x420.read",
+ FT_BOOLEAN, 8, NULL, 0x80,
+ "", HFILL }},
+ { &hf_x420_Access_Request_insert,
+ { "insert", "x420.insert",
+ FT_BOOLEAN, 8, NULL, 0x40,
+ "", HFILL }},
+ { &hf_x420_Access_Request_replace,
+ { "replace", "x420.replace",
+ FT_BOOLEAN, 8, NULL, 0x20,
+ "", HFILL }},
+ { &hf_x420_Access_Request_extend,
+ { "extend", "x420.extend",
+ FT_BOOLEAN, 8, NULL, 0x10,
+ "", HFILL }},
+ { &hf_x420_Access_Request_erase,
+ { "erase", "x420.erase",
+ FT_BOOLEAN, 8, NULL, 0x08,
+ "", HFILL }},
+ { &hf_x420_Access_Request_read_attribute,
+ { "read-attribute", "x420.read-attribute",
+ FT_BOOLEAN, 8, NULL, 0x04,
+ "", HFILL }},
+ { &hf_x420_Access_Request_change_attribute,
+ { "change-attribute", "x420.change-attribute",
+ FT_BOOLEAN, 8, NULL, 0x02,
+ "", HFILL }},
+ { &hf_x420_Access_Request_delete_object,
+ { "delete-object", "x420.delete-object",
+ FT_BOOLEAN, 8, NULL, 0x01,
+ "", HFILL }},
/*--- End of included file: packet-x420-hfarr.c ---*/
-#line 128 "packet-x420-template.c"
+#line 129 "packet-x420-template.c"
};
/* List of subtrees */
@@ -3909,9 +5295,38 @@ void proto_register_x420(void) {
&ett_x420_VoiceParameters,
&ett_x420_ForwardedContentParameters,
&ett_x420_SubmissionProof,
+ &ett_x420_FileTransferParameters,
+ &ett_x420_FileTransferData,
+ &ett_x420_RelatedStoredFile,
+ &ett_x420_RelatedStoredFile_item,
+ &ett_x420_FileIdentifier,
+ &ett_x420_PathnameandVersion,
+ &ett_x420_CrossReference,
+ &ett_x420_MessageReference,
+ &ett_x420_Relationship,
+ &ett_x420_Contents_Type_Attribute,
+ &ett_x420_T_document_type,
+ &ett_x420_T_constraint_set_and_abstract_syntax,
+ &ett_x420_EnvironmentParameter,
+ &ett_x420_T_user_visible_string,
+ &ett_x420_GeneralIdentifier,
+ &ett_x420_T_descriptive_identifier,
+ &ett_x420_CompressionParameter,
+ &ett_x420_FileAttributes,
+ &ett_x420_Pathname_Attribute,
+ &ett_x420_Account_Attribute,
+ &ett_x420_User_Identity_Attribute,
+ &ett_x420_Access_Control_Attribute,
+ &ett_x420_SET_OF_Access_Control_Element,
+ &ett_x420_Access_Control_Element,
+ &ett_x420_Access_Request,
+ &ett_x420_Access_Passwords,
+ &ett_x420_Password,
+ &ett_x420_Pass_Passwords,
+ &ett_x420_Application_Entity_Title,
/*--- End of included file: packet-x420-ettarr.c ---*/
-#line 134 "packet-x420-template.c"
+#line 135 "packet-x420-template.c"
};
/* Register protocol */
@@ -3966,6 +5381,8 @@ void proto_reg_handoff_x420(void) {
register_ber_oid_dissector("2.6.1.4.9", dissect_BilaterallyDefinedBodyPart_PDU, proto_x420, "id-et-bilaterally-defined");
register_ber_oid_dissector("2.6.1.11.11", dissect_GeneralTextParameters_PDU, proto_x420, "id-ep-general-text");
register_ber_oid_dissector("2.6.1.4.11", dissect_GeneralTextData_PDU, proto_x420, "id-et-general-text");
+ register_ber_oid_dissector("2.6.1.11.12", dissect_FileTransferParameters_PDU, proto_x420, "id-ep-file-transfer");
+ register_ber_oid_dissector("2.6.1.4.12", dissect_FileTransferData_PDU, proto_x420, "id-et-file-transfer");
register_ber_oid_dissector("2.6.1.11.15", dissect_MessageParameters_PDU, proto_x420, "id-ep-notification");
register_ber_oid_dissector("2.6.1.4.15", dissect_IPN_PDU, proto_x420, "id-et-notification");
register_ber_oid_dissector("2.6.1.11.16", dissect_VoiceParameters_PDU, proto_x420, "id-ep-voice");
@@ -3978,7 +5395,7 @@ void proto_reg_handoff_x420(void) {
/*--- End of included file: packet-x420-dis-tab.c ---*/
-#line 150 "packet-x420-template.c"
+#line 151 "packet-x420-template.c"
register_ber_oid_dissector("2.6.1.10.0", dissect_x420, proto_x420, "InterPersonal Message (1984)");
register_ber_oid_dissector("2.6.1.10.1", dissect_x420, proto_x420, "InterPersonal Message (1988)");
diff --git a/epan/dissectors/packet-x420.h b/epan/dissectors/packet-x420.h
index d6608c7a9f..ab853f341d 100644
--- a/epan/dissectors/packet-x420.h
+++ b/epan/dissectors/packet-x420.h
@@ -1,7 +1,7 @@
/* Do not modify this file. */
/* It is created automatically by the ASN.1 to Wireshark dissector compiler */
-/* .\packet-x420.h */
-/* ../../tools/asn2wrs.py -b -e -p x420 -c x420.cnf -s packet-x420-template x420.asn */
+/* ./packet-x420.h */
+/* ../../tools/asn2wrs.py -b -e -p x420 -c x420.cnf -s packet-x420-template x420.asn ftbp.asn */
/* Input file: packet-x420-template.h */