2004-07-20 09:11:40 +00:00
|
|
|
/* Do not modify this file. */
|
|
|
|
/* It is created automatically by the ASN.1 to Ethereal dissector compiler */
|
2004-10-11 18:36:51 +00:00
|
|
|
/* ./packet-x509if.c */
|
2004-12-12 01:29:21 +00:00
|
|
|
/* ../../tools/asn2eth.py -X -b -e -p x509if -c x509if.cnf -s packet-x509if-template InformationFramework.asn */
|
2004-07-20 09:11:40 +00:00
|
|
|
|
|
|
|
/* Input file: packet-x509if-template.c */
|
|
|
|
|
|
|
|
/* packet-x509if.c
|
|
|
|
* Routines for X.509 Information Framework packet dissection
|
2004-11-29 08:43:19 +00:00
|
|
|
* Ronnie Sahlberg 2004
|
2004-07-20 09:11:40 +00:00
|
|
|
*
|
2005-08-02 05:39:45 +00:00
|
|
|
* $Id$
|
2004-07-20 09:11:40 +00:00
|
|
|
*
|
|
|
|
* Ethereal - Network traffic analyzer
|
|
|
|
* By Gerald Combs <gerald@ethereal.com>
|
|
|
|
* 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 <stdio.h>
|
|
|
|
#include <string.h>
|
|
|
|
|
|
|
|
#include "packet-ber.h"
|
2004-12-13 12:43:48 +00:00
|
|
|
#include "packet-x509sat.h"
|
2005-08-02 04:31:42 +00:00
|
|
|
#include "packet-x509if.h"
|
2004-07-20 09:11:40 +00:00
|
|
|
|
|
|
|
#define PNAME "X.509 Information Framework"
|
|
|
|
#define PSNAME "X509IF"
|
|
|
|
#define PFNAME "x509if"
|
|
|
|
|
|
|
|
/* Initialize the protocol and registered fields */
|
|
|
|
int proto_x509if = -1;
|
2004-11-29 08:43:19 +00:00
|
|
|
static int hf_x509if_object_identifier_id = -1;
|
2004-07-20 09:11:40 +00:00
|
|
|
|
|
|
|
/*--- Included file: packet-x509if-hf.c ---*/
|
|
|
|
|
2004-10-29 11:39:58 +00:00
|
|
|
static int hf_x509if_type = -1; /* AttributeId */
|
2004-11-14 09:48:11 +00:00
|
|
|
static int hf_x509if_values = -1; /* SET_OF_AttributeValue */
|
|
|
|
static int hf_x509if_values_item = -1; /* AttributeValue */
|
2004-11-21 06:40:02 +00:00
|
|
|
static int hf_x509if_valuesWithContext = -1; /* T_valuesWithContext */
|
|
|
|
static int hf_x509if_valuesWithContext_item = -1; /* T_valuesWithContext_item */
|
|
|
|
static int hf_x509if_value = -1; /* ValuesWithContextValue */
|
|
|
|
static int hf_x509if_contextList = -1; /* SET_OF_Context */
|
|
|
|
static int hf_x509if_contextList_item = -1; /* Context */
|
|
|
|
static int hf_x509if_contextType = -1; /* AttributeId */
|
|
|
|
static int hf_x509if_contextValues = -1; /* SET_OF_AttributeValue */
|
|
|
|
static int hf_x509if_contextValues_item = -1; /* AttributeValue */
|
|
|
|
static int hf_x509if_fallback = -1; /* BOOLEAN */
|
|
|
|
static int hf_x509if_assertion = -1; /* AttributeValue */
|
|
|
|
static int hf_x509if_assertedContexts = -1; /* T_assertedContexts */
|
|
|
|
static int hf_x509if_allContexts = -1; /* NULL */
|
|
|
|
static int hf_x509if_selectedContexts = -1; /* SET_OF_ContextAssertion */
|
|
|
|
static int hf_x509if_selectedContexts_item = -1; /* ContextAssertion */
|
2004-12-13 12:43:48 +00:00
|
|
|
static int hf_x509if_ca_contextType = -1; /* ContextId */
|
|
|
|
static int hf_x509if_ca_contextValues = -1; /* SET_OF_ContextValue */
|
|
|
|
static int hf_x509if_ca_contextValues_item = -1; /* ContextValue */
|
2005-02-23 08:57:47 +00:00
|
|
|
static int hf_x509if_ata_assertedContexts = -1; /* SEQUENCE_OF_ContextAssertion */
|
2004-11-21 06:40:02 +00:00
|
|
|
static int hf_x509if_assertedContexts_item = -1; /* ContextAssertion */
|
2004-07-20 09:11:40 +00:00
|
|
|
static int hf_x509if_rdnSequence = -1; /* RDNSequence */
|
|
|
|
static int hf_x509if_RDNSequence_item = -1; /* RelativeDistinguishedName */
|
|
|
|
static int hf_x509if_RelativeDistinguishedName_item = -1; /* AttributeTypeAndDistinguishedValue */
|
2004-12-13 12:43:48 +00:00
|
|
|
static int hf_x509if_atadv_value = -1; /* AttributeValue */
|
2004-10-29 11:11:11 +00:00
|
|
|
static int hf_x509if_primaryDistinguished = -1; /* BOOLEAN */
|
2004-12-13 12:43:48 +00:00
|
|
|
static int hf_x509if_valueswithContext = -1; /* T_valWithContext */
|
|
|
|
static int hf_x509if_valueswithContext_item = -1; /* T_valWithContext_item */
|
2004-11-21 06:40:02 +00:00
|
|
|
static int hf_x509if_distingAttrValue = -1; /* ValuesWithContextValue */
|
|
|
|
static int hf_x509if_base = -1; /* LocalName */
|
|
|
|
static int hf_x509if_specificExclusions = -1; /* T_specificExclusions */
|
|
|
|
static int hf_x509if_specificExclusions_item = -1; /* T_specificExclusions_item */
|
|
|
|
static int hf_x509if_chopBefore = -1; /* LocalName */
|
|
|
|
static int hf_x509if_chopAfter = -1; /* LocalName */
|
|
|
|
static int hf_x509if_minimum = -1; /* BaseDistance */
|
|
|
|
static int hf_x509if_maximum = -1; /* BaseDistance */
|
|
|
|
static int hf_x509if_specificationFilter = -1; /* Refinement */
|
2004-12-13 12:43:48 +00:00
|
|
|
static int hf_x509if_chopSpecificExclusions = -1; /* T_chopSpecificExclusions */
|
|
|
|
static int hf_x509if_chopSpecificExclusions_item = -1; /* T_chopSpecificExclusions_item */
|
2004-11-21 06:40:02 +00:00
|
|
|
static int hf_x509if_item = -1; /* OBJECT_IDENTIFIER */
|
2004-12-13 12:43:48 +00:00
|
|
|
static int hf_x509if_refinement_and = -1; /* SET_OF_Refinement */
|
|
|
|
static int hf_x509if_refinement_and_item = -1; /* Refinement */
|
|
|
|
static int hf_x509if_refinement_or = -1; /* SET_OF_Refinement */
|
|
|
|
static int hf_x509if_refinement_or_item = -1; /* Refinement */
|
|
|
|
static int hf_x509if_refinement_not = -1; /* Refinement */
|
2004-11-21 06:40:02 +00:00
|
|
|
static int hf_x509if_ruleIdentifier = -1; /* RuleIdentifier */
|
|
|
|
static int hf_x509if_nameForm = -1; /* OBJECT_IDENTIFIER */
|
|
|
|
static int hf_x509if_superiorStructureRules = -1; /* SET_OF_RuleIdentifier */
|
|
|
|
static int hf_x509if_superiorStructureRules_item = -1; /* RuleIdentifier */
|
|
|
|
static int hf_x509if_structuralObjectClass = -1; /* OBJECT_IDENTIFIER */
|
2005-02-23 08:57:47 +00:00
|
|
|
static int hf_x509if_auxiliaries = -1; /* T_auxiliaries */
|
2004-11-21 06:40:02 +00:00
|
|
|
static int hf_x509if_auxiliaries_item = -1; /* OBJECT_IDENTIFIER */
|
2004-12-12 01:14:03 +00:00
|
|
|
static int hf_x509if_mandatory = -1; /* SET_SIZE_1_MAX_OF_AttributeId */
|
2004-11-21 06:40:02 +00:00
|
|
|
static int hf_x509if_mandatory_item = -1; /* AttributeId */
|
2004-12-12 01:14:03 +00:00
|
|
|
static int hf_x509if_optional = -1; /* SET_SIZE_1_MAX_OF_AttributeId */
|
2004-11-21 06:40:02 +00:00
|
|
|
static int hf_x509if_optional_item = -1; /* AttributeId */
|
2004-12-12 01:14:03 +00:00
|
|
|
static int hf_x509if_precluded = -1; /* SET_SIZE_1_MAX_OF_AttributeId */
|
2004-11-21 06:40:02 +00:00
|
|
|
static int hf_x509if_precluded_item = -1; /* AttributeId */
|
|
|
|
static int hf_x509if_attributeType = -1; /* AttributeId */
|
2005-02-23 08:57:47 +00:00
|
|
|
static int hf_x509if_mandatoryContexts = -1; /* T_mandatoryContexts */
|
2004-11-21 06:40:02 +00:00
|
|
|
static int hf_x509if_mandatoryContexts_item = -1; /* OBJECT_IDENTIFIER */
|
2005-02-23 08:57:47 +00:00
|
|
|
static int hf_x509if_optionalContexts = -1; /* T_optionalContexts */
|
2004-11-21 06:40:02 +00:00
|
|
|
static int hf_x509if_optionalContexts_item = -1; /* OBJECT_IDENTIFIER */
|
|
|
|
static int hf_x509if_id = -1; /* INTEGER */
|
|
|
|
static int hf_x509if_dmdId = -1; /* OBJECT_IDENTIFIER */
|
|
|
|
static int hf_x509if_serviceType = -1; /* OBJECT_IDENTIFIER */
|
|
|
|
static int hf_x509if_userClass = -1; /* INTEGER */
|
2005-02-23 08:57:47 +00:00
|
|
|
static int hf_x509if_inputAttributeTypes = -1; /* SEQUENCE_OF_RequestAttribute */
|
2004-11-21 06:40:02 +00:00
|
|
|
static int hf_x509if_inputAttributeTypes_item = -1; /* RequestAttribute */
|
|
|
|
static int hf_x509if_attributeCombination = -1; /* AttributeCombination */
|
2005-02-23 08:57:47 +00:00
|
|
|
static int hf_x509if_outputAttributeTypes = -1; /* SEQUENCE_OF_ResultAttribute */
|
2004-11-21 06:40:02 +00:00
|
|
|
static int hf_x509if_outputAttributeTypes_item = -1; /* ResultAttribute */
|
|
|
|
static int hf_x509if_defaultControls = -1; /* ControlOptions */
|
|
|
|
static int hf_x509if_mandatoryControls = -1; /* ControlOptions */
|
|
|
|
static int hf_x509if_searchRuleControls = -1; /* ControlOptions */
|
|
|
|
static int hf_x509if_relaxation = -1; /* RelaxationPolicy */
|
2005-02-23 08:57:47 +00:00
|
|
|
static int hf_x509if_additionalControl = -1; /* SEQUENCE_OF_AttributeType */
|
2004-11-21 06:40:02 +00:00
|
|
|
static int hf_x509if_additionalControl_item = -1; /* AttributeType */
|
|
|
|
static int hf_x509if_allowedSubset = -1; /* AllowedSubset */
|
|
|
|
static int hf_x509if_imposedSubset = -1; /* ImposedSubset */
|
|
|
|
static int hf_x509if_entryLimit = -1; /* EntryLimit */
|
|
|
|
static int hf_x509if_name = -1; /* SET_OF_DirectoryString */
|
|
|
|
static int hf_x509if_name_item = -1; /* DirectoryString */
|
|
|
|
static int hf_x509if_description = -1; /* DirectoryString */
|
|
|
|
static int hf_x509if_obsolete = -1; /* BOOLEAN */
|
|
|
|
static int hf_x509if_includeSubtypes = -1; /* BOOLEAN */
|
2005-02-23 08:57:47 +00:00
|
|
|
static int hf_x509if_ra_selectedValues = -1; /* SEQUENCE_OF_SelectedValues */
|
2004-12-13 12:43:48 +00:00
|
|
|
static int hf_x509if_ra_selectedValues_item = -1; /* SelectedValues */
|
2004-11-21 06:40:02 +00:00
|
|
|
static int hf_x509if_defaultValues = -1; /* T_defaultValues */
|
|
|
|
static int hf_x509if_defaultValues_item = -1; /* T_defaultValues_item */
|
|
|
|
static int hf_x509if_entryType = -1; /* DefaultValueType */
|
2005-02-23 08:57:47 +00:00
|
|
|
static int hf_x509if_ra_values = -1; /* SEQUENCE_OF_DefaultValueValues */
|
2004-12-13 12:43:48 +00:00
|
|
|
static int hf_x509if_ra_values_item = -1; /* DefaultValueValues */
|
2005-02-23 08:57:47 +00:00
|
|
|
static int hf_x509if_contexts = -1; /* SEQUENCE_OF_ContextProfile */
|
2004-11-21 06:40:02 +00:00
|
|
|
static int hf_x509if_contexts_item = -1; /* ContextProfile */
|
|
|
|
static int hf_x509if_contextCombination = -1; /* ContextCombination */
|
2005-02-23 08:57:47 +00:00
|
|
|
static int hf_x509if_matchingUse = -1; /* SEQUENCE_OF_MatchingUse */
|
2004-11-21 06:40:02 +00:00
|
|
|
static int hf_x509if_matchingUse_item = -1; /* MatchingUse */
|
2005-02-23 08:57:47 +00:00
|
|
|
static int hf_x509if_contextValue = -1; /* SEQUENCE_OF_AttributeValue */
|
2004-11-21 06:40:02 +00:00
|
|
|
static int hf_x509if_contextValue_item = -1; /* AttributeValue */
|
|
|
|
static int hf_x509if_context = -1; /* OBJECT_IDENTIFIER */
|
2005-02-23 08:57:47 +00:00
|
|
|
static int hf_x509if_contextcombination_and = -1; /* SEQUENCE_OF_ContextCombination */
|
2004-12-13 12:43:48 +00:00
|
|
|
static int hf_x509if_contextcombination_and_item = -1; /* ContextCombination */
|
2005-02-23 08:57:47 +00:00
|
|
|
static int hf_x509if_contextcombination_or = -1; /* SEQUENCE_OF_ContextCombination */
|
2004-12-13 12:43:48 +00:00
|
|
|
static int hf_x509if_contextcombination_or_item = -1; /* ContextCombination */
|
|
|
|
static int hf_x509if_contextcombination_not = -1; /* ContextCombination */
|
2004-11-21 06:40:02 +00:00
|
|
|
static int hf_x509if_restrictionType = -1; /* AttributeId */
|
|
|
|
static int hf_x509if_restrictionValue = -1; /* AttributeValue */
|
|
|
|
static int hf_x509if_attribute = -1; /* AttributeType */
|
2005-02-23 08:57:47 +00:00
|
|
|
static int hf_x509if_and = -1; /* SEQUENCE_OF_AttributeCombination */
|
2004-12-13 12:43:48 +00:00
|
|
|
static int hf_x509if_and_item = -1; /* AttributeCombination */
|
2005-02-23 08:57:47 +00:00
|
|
|
static int hf_x509if_or = -1; /* SEQUENCE_OF_AttributeCombination */
|
2004-12-13 12:43:48 +00:00
|
|
|
static int hf_x509if_or_item = -1; /* AttributeCombination */
|
|
|
|
static int hf_x509if_not = -1; /* AttributeCombination */
|
2004-11-21 06:40:02 +00:00
|
|
|
static int hf_x509if_outputValues = -1; /* T_outputValues */
|
2005-02-23 08:57:47 +00:00
|
|
|
static int hf_x509if_selectedValues = -1; /* SEQUENCE_OF_AttributeValue */
|
2004-12-13 12:43:48 +00:00
|
|
|
static int hf_x509if_selectedValues_item = -1; /* AttributeValue */
|
2004-11-21 06:40:02 +00:00
|
|
|
static int hf_x509if_matchedValuesOnly = -1; /* NULL */
|
|
|
|
static int hf_x509if_default = -1; /* INTEGER */
|
|
|
|
static int hf_x509if_max = -1; /* INTEGER */
|
|
|
|
static int hf_x509if_basic = -1; /* MRMapping */
|
2005-02-23 08:57:47 +00:00
|
|
|
static int hf_x509if_tightenings = -1; /* SEQUENCE_OF_MRMapping */
|
2004-11-21 06:40:02 +00:00
|
|
|
static int hf_x509if_tightenings_item = -1; /* MRMapping */
|
2005-02-23 08:57:47 +00:00
|
|
|
static int hf_x509if_relaxations = -1; /* SEQUENCE_OF_MRMapping */
|
2004-11-21 06:40:02 +00:00
|
|
|
static int hf_x509if_relaxations_item = -1; /* MRMapping */
|
2004-12-13 12:43:48 +00:00
|
|
|
static int hf_x509if_maximum_relaxation = -1; /* INTEGER */
|
|
|
|
static int hf_x509if_minimum_relaxation = -1; /* INTEGER */
|
2005-02-23 08:57:47 +00:00
|
|
|
static int hf_x509if_mapping = -1; /* SEQUENCE_OF_Mapping */
|
2004-11-21 06:40:02 +00:00
|
|
|
static int hf_x509if_mapping_item = -1; /* Mapping */
|
2005-02-23 08:57:47 +00:00
|
|
|
static int hf_x509if_substitution = -1; /* SEQUENCE_OF_MRSubstitution */
|
2004-11-21 06:40:02 +00:00
|
|
|
static int hf_x509if_substitution_item = -1; /* MRSubstitution */
|
|
|
|
static int hf_x509if_mappingFunction = -1; /* OBJECT_IDENTIFIER */
|
|
|
|
static int hf_x509if_level = -1; /* INTEGER */
|
|
|
|
static int hf_x509if_oldMatchingRule = -1; /* OBJECT_IDENTIFIER */
|
|
|
|
static int hf_x509if_newMatchingRule = -1; /* OBJECT_IDENTIFIER */
|
2004-07-20 09:11:40 +00:00
|
|
|
/* named bits */
|
|
|
|
static int hf_x509if_AllowedSubset_baseObject = -1;
|
|
|
|
static int hf_x509if_AllowedSubset_oneLevel = -1;
|
|
|
|
static int hf_x509if_AllowedSubset_wholeSubtree = -1;
|
|
|
|
|
|
|
|
/*--- End of included file: packet-x509if-hf.c ---*/
|
|
|
|
|
|
|
|
|
|
|
|
/* Initialize the subtree pointers */
|
|
|
|
|
|
|
|
/*--- Included file: packet-x509if-ett.c ---*/
|
|
|
|
|
2004-10-29 11:39:58 +00:00
|
|
|
static gint ett_x509if_Attribute = -1;
|
2004-11-14 09:48:11 +00:00
|
|
|
static gint ett_x509if_SET_OF_AttributeValue = -1;
|
2004-11-21 06:40:02 +00:00
|
|
|
static gint ett_x509if_T_valuesWithContext = -1;
|
|
|
|
static gint ett_x509if_T_valuesWithContext_item = -1;
|
|
|
|
static gint ett_x509if_SET_OF_Context = -1;
|
|
|
|
static gint ett_x509if_Context = -1;
|
|
|
|
static gint ett_x509if_AttributeValueAssertion = -1;
|
|
|
|
static gint ett_x509if_T_assertedContexts = -1;
|
|
|
|
static gint ett_x509if_SET_OF_ContextAssertion = -1;
|
|
|
|
static gint ett_x509if_ContextAssertion = -1;
|
|
|
|
static gint ett_x509if_SET_OF_ContextValue = -1;
|
|
|
|
static gint ett_x509if_AttributeTypeAssertion = -1;
|
2005-02-23 08:57:47 +00:00
|
|
|
static gint ett_x509if_SEQUENCE_OF_ContextAssertion = -1;
|
2004-07-20 09:11:40 +00:00
|
|
|
static gint ett_x509if_Name = -1;
|
|
|
|
static gint ett_x509if_RDNSequence = -1;
|
|
|
|
static gint ett_x509if_RelativeDistinguishedName = -1;
|
|
|
|
static gint ett_x509if_AttributeTypeAndDistinguishedValue = -1;
|
2004-12-13 12:43:48 +00:00
|
|
|
static gint ett_x509if_T_valWithContext = -1;
|
|
|
|
static gint ett_x509if_T_valWithContext_item = -1;
|
2004-11-21 06:40:02 +00:00
|
|
|
static gint ett_x509if_SubtreeSpecification = -1;
|
|
|
|
static gint ett_x509if_T_specificExclusions = -1;
|
|
|
|
static gint ett_x509if_T_specificExclusions_item = -1;
|
|
|
|
static gint ett_x509if_ChopSpecification = -1;
|
2004-12-13 12:43:48 +00:00
|
|
|
static gint ett_x509if_T_chopSpecificExclusions = -1;
|
|
|
|
static gint ett_x509if_T_chopSpecificExclusions_item = -1;
|
2004-11-21 06:40:02 +00:00
|
|
|
static gint ett_x509if_Refinement = -1;
|
|
|
|
static gint ett_x509if_SET_OF_Refinement = -1;
|
|
|
|
static gint ett_x509if_DITStructureRule = -1;
|
|
|
|
static gint ett_x509if_SET_OF_RuleIdentifier = -1;
|
|
|
|
static gint ett_x509if_DITContentRule = -1;
|
2005-02-23 08:57:47 +00:00
|
|
|
static gint ett_x509if_T_auxiliaries = -1;
|
2004-12-12 01:14:03 +00:00
|
|
|
static gint ett_x509if_SET_SIZE_1_MAX_OF_AttributeId = -1;
|
2004-11-21 06:40:02 +00:00
|
|
|
static gint ett_x509if_DITContextUse = -1;
|
2005-02-23 08:57:47 +00:00
|
|
|
static gint ett_x509if_T_mandatoryContexts = -1;
|
|
|
|
static gint ett_x509if_T_optionalContexts = -1;
|
2004-11-21 06:40:02 +00:00
|
|
|
static gint ett_x509if_SearchRuleDescription = -1;
|
2005-02-23 08:57:47 +00:00
|
|
|
static gint ett_x509if_SEQUENCE_OF_RequestAttribute = -1;
|
|
|
|
static gint ett_x509if_SEQUENCE_OF_ResultAttribute = -1;
|
|
|
|
static gint ett_x509if_SEQUENCE_OF_AttributeType = -1;
|
2004-11-21 06:40:02 +00:00
|
|
|
static gint ett_x509if_SET_OF_DirectoryString = -1;
|
|
|
|
static gint ett_x509if_SearchRule = -1;
|
|
|
|
static gint ett_x509if_SearchRuleId = -1;
|
2004-07-20 09:11:40 +00:00
|
|
|
static gint ett_x509if_AllowedSubset = -1;
|
2004-11-21 06:40:02 +00:00
|
|
|
static gint ett_x509if_RequestAttribute = -1;
|
2005-02-23 08:57:47 +00:00
|
|
|
static gint ett_x509if_SEQUENCE_OF_SelectedValues = -1;
|
2004-11-21 06:40:02 +00:00
|
|
|
static gint ett_x509if_T_defaultValues = -1;
|
|
|
|
static gint ett_x509if_T_defaultValues_item = -1;
|
2005-02-23 08:57:47 +00:00
|
|
|
static gint ett_x509if_SEQUENCE_OF_DefaultValueValues = -1;
|
|
|
|
static gint ett_x509if_SEQUENCE_OF_ContextProfile = -1;
|
|
|
|
static gint ett_x509if_SEQUENCE_OF_MatchingUse = -1;
|
2004-11-21 06:40:02 +00:00
|
|
|
static gint ett_x509if_ContextProfile = -1;
|
2005-02-23 08:57:47 +00:00
|
|
|
static gint ett_x509if_SEQUENCE_OF_AttributeValue = -1;
|
2004-11-21 06:40:02 +00:00
|
|
|
static gint ett_x509if_ContextCombination = -1;
|
2005-02-23 08:57:47 +00:00
|
|
|
static gint ett_x509if_SEQUENCE_OF_ContextCombination = -1;
|
2004-11-21 06:40:02 +00:00
|
|
|
static gint ett_x509if_MatchingUse = -1;
|
|
|
|
static gint ett_x509if_AttributeCombination = -1;
|
2005-02-23 08:57:47 +00:00
|
|
|
static gint ett_x509if_SEQUENCE_OF_AttributeCombination = -1;
|
2004-11-21 06:40:02 +00:00
|
|
|
static gint ett_x509if_ResultAttribute = -1;
|
|
|
|
static gint ett_x509if_T_outputValues = -1;
|
|
|
|
static gint ett_x509if_OutputValues = -1;
|
|
|
|
static gint ett_x509if_ControlOptions = -1;
|
|
|
|
static gint ett_x509if_EntryLimit = -1;
|
|
|
|
static gint ett_x509if_RelaxationPolicy = -1;
|
2005-02-23 08:57:47 +00:00
|
|
|
static gint ett_x509if_SEQUENCE_OF_MRMapping = -1;
|
2004-11-21 06:40:02 +00:00
|
|
|
static gint ett_x509if_MRMapping = -1;
|
2005-02-23 08:57:47 +00:00
|
|
|
static gint ett_x509if_SEQUENCE_OF_Mapping = -1;
|
|
|
|
static gint ett_x509if_SEQUENCE_OF_MRSubstitution = -1;
|
2004-11-21 06:40:02 +00:00
|
|
|
static gint ett_x509if_Mapping = -1;
|
|
|
|
static gint ett_x509if_MRSubstitution = -1;
|
2004-07-20 09:11:40 +00:00
|
|
|
|
|
|
|
/*--- End of included file: packet-x509if-ett.c ---*/
|
|
|
|
|
|
|
|
|
2005-04-22 21:17:13 +00:00
|
|
|
static char object_identifier_id[BER_MAX_OID_STR_LEN];
|
2004-10-29 11:11:11 +00:00
|
|
|
|
2004-07-22 10:29:17 +00:00
|
|
|
|
2004-10-29 11:11:11 +00:00
|
|
|
/*--- Included file: packet-x509if-fn.c ---*/
|
|
|
|
|
2004-11-21 06:40:02 +00:00
|
|
|
/*--- Cyclic dependencies ---*/
|
|
|
|
|
|
|
|
/* Refinement -> Refinement/and -> Refinement */
|
|
|
|
/* Refinement -> Refinement */
|
|
|
|
int dissect_x509if_Refinement(gboolean implicit_tag, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_index);
|
|
|
|
|
|
|
|
static int dissect_specificationFilter(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_Refinement(FALSE, tvb, offset, pinfo, tree, hf_x509if_specificationFilter);
|
|
|
|
}
|
2004-12-13 12:43:48 +00:00
|
|
|
static int dissect_refinement_and_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_Refinement(FALSE, tvb, offset, pinfo, tree, hf_x509if_refinement_and_item);
|
2004-11-21 06:40:02 +00:00
|
|
|
}
|
2004-12-13 12:43:48 +00:00
|
|
|
static int dissect_refinement_or_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_Refinement(FALSE, tvb, offset, pinfo, tree, hf_x509if_refinement_or_item);
|
2004-11-21 06:40:02 +00:00
|
|
|
}
|
2004-12-13 12:43:48 +00:00
|
|
|
static int dissect_refinement_not(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_Refinement(FALSE, tvb, offset, pinfo, tree, hf_x509if_refinement_not);
|
2004-11-21 06:40:02 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
/* ContextCombination -> ContextCombination/and -> ContextCombination */
|
|
|
|
/* ContextCombination -> ContextCombination */
|
|
|
|
int dissect_x509if_ContextCombination(gboolean implicit_tag, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_index);
|
|
|
|
|
|
|
|
static int dissect_contextCombination(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_ContextCombination(FALSE, tvb, offset, pinfo, tree, hf_x509if_contextCombination);
|
|
|
|
}
|
2004-12-13 12:43:48 +00:00
|
|
|
static int dissect_contextcombination_and_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_ContextCombination(FALSE, tvb, offset, pinfo, tree, hf_x509if_contextcombination_and_item);
|
2004-11-21 06:40:02 +00:00
|
|
|
}
|
2004-12-13 12:43:48 +00:00
|
|
|
static int dissect_contextcombination_or_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_ContextCombination(FALSE, tvb, offset, pinfo, tree, hf_x509if_contextcombination_or_item);
|
2004-11-21 06:40:02 +00:00
|
|
|
}
|
2004-12-13 12:43:48 +00:00
|
|
|
static int dissect_contextcombination_not(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_ContextCombination(FALSE, tvb, offset, pinfo, tree, hf_x509if_contextcombination_not);
|
2004-11-21 06:40:02 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
/* AttributeCombination -> AttributeCombination/and -> AttributeCombination */
|
|
|
|
/* AttributeCombination -> AttributeCombination */
|
|
|
|
int dissect_x509if_AttributeCombination(gboolean implicit_tag, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_index);
|
|
|
|
|
|
|
|
static int dissect_attributeCombination(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_AttributeCombination(FALSE, tvb, offset, pinfo, tree, hf_x509if_attributeCombination);
|
|
|
|
}
|
2004-12-13 12:43:48 +00:00
|
|
|
static int dissect_and_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_AttributeCombination(FALSE, tvb, offset, pinfo, tree, hf_x509if_and_item);
|
2004-11-21 06:40:02 +00:00
|
|
|
}
|
2004-12-13 12:43:48 +00:00
|
|
|
static int dissect_or_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_AttributeCombination(FALSE, tvb, offset, pinfo, tree, hf_x509if_or_item);
|
2004-11-21 06:40:02 +00:00
|
|
|
}
|
2004-12-13 12:43:48 +00:00
|
|
|
static int dissect_not(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_AttributeCombination(FALSE, tvb, offset, pinfo, tree, hf_x509if_not);
|
2004-11-21 06:40:02 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
2004-10-29 11:11:11 +00:00
|
|
|
/*--- Fields for imported types ---*/
|
|
|
|
|
2004-11-21 06:40:02 +00:00
|
|
|
static int dissect_name_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509sat_DirectoryString(FALSE, tvb, offset, pinfo, tree, hf_x509if_name_item);
|
|
|
|
}
|
|
|
|
static int dissect_description(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509sat_DirectoryString(FALSE, tvb, offset, pinfo, tree, hf_x509if_description);
|
|
|
|
}
|
2004-10-29 11:11:11 +00:00
|
|
|
|
|
|
|
|
2005-06-26 05:48:50 +00:00
|
|
|
|
2004-10-29 11:11:11 +00:00
|
|
|
static int
|
2004-11-20 07:11:08 +00:00
|
|
|
dissect_x509if_AttributeId(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
2004-10-29 11:39:58 +00:00
|
|
|
offset = dissect_ber_object_identifier(FALSE, pinfo, tree, tvb, offset,
|
|
|
|
hf_x509if_object_identifier_id, object_identifier_id);
|
|
|
|
|
2004-10-29 11:11:11 +00:00
|
|
|
|
2004-07-22 10:29:17 +00:00
|
|
|
return offset;
|
|
|
|
}
|
2004-10-29 11:39:58 +00:00
|
|
|
static int dissect_type(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_AttributeId(FALSE, tvb, offset, pinfo, tree, hf_x509if_type);
|
|
|
|
}
|
2004-11-21 06:40:02 +00:00
|
|
|
static int dissect_contextType(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_AttributeId(FALSE, tvb, offset, pinfo, tree, hf_x509if_contextType);
|
|
|
|
}
|
|
|
|
static int dissect_mandatory_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_AttributeId(FALSE, tvb, offset, pinfo, tree, hf_x509if_mandatory_item);
|
|
|
|
}
|
|
|
|
static int dissect_optional_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_AttributeId(FALSE, tvb, offset, pinfo, tree, hf_x509if_optional_item);
|
|
|
|
}
|
|
|
|
static int dissect_precluded_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_AttributeId(FALSE, tvb, offset, pinfo, tree, hf_x509if_precluded_item);
|
|
|
|
}
|
|
|
|
static int dissect_attributeType(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_AttributeId(FALSE, tvb, offset, pinfo, tree, hf_x509if_attributeType);
|
|
|
|
}
|
|
|
|
static int dissect_restrictionType(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_AttributeId(FALSE, tvb, offset, pinfo, tree, hf_x509if_restrictionType);
|
|
|
|
}
|
2004-10-29 11:11:11 +00:00
|
|
|
|
2004-11-14 09:48:11 +00:00
|
|
|
|
|
|
|
|
|
|
|
static int
|
2004-11-20 07:11:08 +00:00
|
|
|
dissect_x509if_AttributeValue(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
2004-11-14 09:48:11 +00:00
|
|
|
offset=call_ber_oid_callback(object_identifier_id, tvb, offset, pinfo, tree);
|
|
|
|
|
|
|
|
|
|
|
|
return offset;
|
|
|
|
}
|
|
|
|
static int dissect_values_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_AttributeValue(FALSE, tvb, offset, pinfo, tree, hf_x509if_values_item);
|
|
|
|
}
|
2004-11-21 06:40:02 +00:00
|
|
|
static int dissect_contextValues_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_AttributeValue(FALSE, tvb, offset, pinfo, tree, hf_x509if_contextValues_item);
|
|
|
|
}
|
|
|
|
static int dissect_assertion(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_AttributeValue(FALSE, tvb, offset, pinfo, tree, hf_x509if_assertion);
|
|
|
|
}
|
2004-12-13 12:43:48 +00:00
|
|
|
static int dissect_atadv_value(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_AttributeValue(FALSE, tvb, offset, pinfo, tree, hf_x509if_atadv_value);
|
2004-11-21 06:40:02 +00:00
|
|
|
}
|
|
|
|
static int dissect_contextValue_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_AttributeValue(FALSE, tvb, offset, pinfo, tree, hf_x509if_contextValue_item);
|
|
|
|
}
|
|
|
|
static int dissect_restrictionValue(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_AttributeValue(FALSE, tvb, offset, pinfo, tree, hf_x509if_restrictionValue);
|
|
|
|
}
|
2004-12-13 12:43:48 +00:00
|
|
|
static int dissect_selectedValues_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_AttributeValue(FALSE, tvb, offset, pinfo, tree, hf_x509if_selectedValues_item);
|
2004-11-21 06:40:02 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
static int
|
|
|
|
dissect_x509if_ValuesWithContextValue(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
|
|
|
offset=call_ber_oid_callback("unknown", tvb, offset, pinfo, tree);
|
|
|
|
|
|
|
|
|
|
|
|
return offset;
|
|
|
|
}
|
2004-11-14 09:48:11 +00:00
|
|
|
static int dissect_value(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
2004-11-21 06:40:02 +00:00
|
|
|
return dissect_x509if_ValuesWithContextValue(FALSE, tvb, offset, pinfo, tree, hf_x509if_value);
|
|
|
|
}
|
|
|
|
static int dissect_distingAttrValue(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_ValuesWithContextValue(FALSE, tvb, offset, pinfo, tree, hf_x509if_distingAttrValue);
|
2004-11-14 09:48:11 +00:00
|
|
|
}
|
|
|
|
|
2005-07-21 21:12:09 +00:00
|
|
|
|
2004-12-13 08:15:34 +00:00
|
|
|
static const ber_sequence_t SET_OF_AttributeValue_set_of[1] = {
|
2004-11-14 09:48:11 +00:00
|
|
|
{ BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_values_item },
|
|
|
|
};
|
|
|
|
|
|
|
|
static int
|
2004-11-20 07:11:08 +00:00
|
|
|
dissect_x509if_SET_OF_AttributeValue(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
2004-11-14 09:48:11 +00:00
|
|
|
offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
|
2005-07-21 21:12:09 +00:00
|
|
|
SET_OF_AttributeValue_set_of, hf_index, ett_x509if_SET_OF_AttributeValue);
|
2004-11-14 09:48:11 +00:00
|
|
|
|
|
|
|
return offset;
|
|
|
|
}
|
|
|
|
static int dissect_values(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_SET_OF_AttributeValue(FALSE, tvb, offset, pinfo, tree, hf_x509if_values);
|
|
|
|
}
|
2004-11-21 06:40:02 +00:00
|
|
|
static int dissect_contextValues(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_SET_OF_AttributeValue(FALSE, tvb, offset, pinfo, tree, hf_x509if_contextValues);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2005-07-21 21:12:09 +00:00
|
|
|
|
2004-11-21 06:40:02 +00:00
|
|
|
static int
|
|
|
|
dissect_x509if_BOOLEAN(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
2005-02-23 08:57:47 +00:00
|
|
|
offset = dissect_ber_boolean(implicit_tag, pinfo, tree, tvb, offset, hf_index);
|
2004-11-21 06:40:02 +00:00
|
|
|
|
|
|
|
return offset;
|
|
|
|
}
|
|
|
|
static int dissect_fallback(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_BOOLEAN(FALSE, tvb, offset, pinfo, tree, hf_x509if_fallback);
|
|
|
|
}
|
|
|
|
static int dissect_primaryDistinguished(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_BOOLEAN(FALSE, tvb, offset, pinfo, tree, hf_x509if_primaryDistinguished);
|
|
|
|
}
|
|
|
|
static int dissect_obsolete(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_BOOLEAN(FALSE, tvb, offset, pinfo, tree, hf_x509if_obsolete);
|
|
|
|
}
|
|
|
|
static int dissect_includeSubtypes(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_BOOLEAN(FALSE, tvb, offset, pinfo, tree, hf_x509if_includeSubtypes);
|
|
|
|
}
|
|
|
|
|
2004-12-13 08:15:34 +00:00
|
|
|
static const ber_sequence_t Context_sequence[] = {
|
2004-11-21 06:40:02 +00:00
|
|
|
{ BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_contextType },
|
|
|
|
{ BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_contextValues },
|
|
|
|
{ BER_CLASS_UNI, BER_UNI_TAG_BOOLEAN, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_fallback },
|
|
|
|
{ 0, 0, 0, NULL }
|
|
|
|
};
|
|
|
|
|
|
|
|
int
|
|
|
|
dissect_x509if_Context(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
|
|
|
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
|
|
|
|
Context_sequence, hf_index, ett_x509if_Context);
|
|
|
|
|
|
|
|
return offset;
|
|
|
|
}
|
|
|
|
static int dissect_contextList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_Context(FALSE, tvb, offset, pinfo, tree, hf_x509if_contextList_item);
|
|
|
|
}
|
|
|
|
|
2005-07-21 21:12:09 +00:00
|
|
|
|
2004-12-13 08:15:34 +00:00
|
|
|
static const ber_sequence_t SET_OF_Context_set_of[1] = {
|
2004-11-21 06:40:02 +00:00
|
|
|
{ BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_contextList_item },
|
|
|
|
};
|
|
|
|
|
|
|
|
static int
|
|
|
|
dissect_x509if_SET_OF_Context(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
|
|
|
offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
|
2005-07-21 21:12:09 +00:00
|
|
|
SET_OF_Context_set_of, hf_index, ett_x509if_SET_OF_Context);
|
2004-11-21 06:40:02 +00:00
|
|
|
|
|
|
|
return offset;
|
|
|
|
}
|
|
|
|
static int dissect_contextList(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_SET_OF_Context(FALSE, tvb, offset, pinfo, tree, hf_x509if_contextList);
|
|
|
|
}
|
|
|
|
|
2004-12-13 08:15:34 +00:00
|
|
|
static const ber_sequence_t T_valuesWithContext_item_sequence[] = {
|
2004-11-21 06:40:02 +00:00
|
|
|
{ BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_value },
|
|
|
|
{ BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_contextList },
|
|
|
|
{ 0, 0, 0, NULL }
|
|
|
|
};
|
|
|
|
|
|
|
|
static int
|
|
|
|
dissect_x509if_T_valuesWithContext_item(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
|
|
|
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
|
|
|
|
T_valuesWithContext_item_sequence, hf_index, ett_x509if_T_valuesWithContext_item);
|
|
|
|
|
|
|
|
return offset;
|
|
|
|
}
|
|
|
|
static int dissect_valuesWithContext_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_T_valuesWithContext_item(FALSE, tvb, offset, pinfo, tree, hf_x509if_valuesWithContext_item);
|
|
|
|
}
|
|
|
|
|
2005-07-21 21:12:09 +00:00
|
|
|
|
2004-12-13 08:15:34 +00:00
|
|
|
static const ber_sequence_t T_valuesWithContext_set_of[1] = {
|
2004-11-21 06:40:02 +00:00
|
|
|
{ BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_valuesWithContext_item },
|
|
|
|
};
|
|
|
|
|
|
|
|
static int
|
|
|
|
dissect_x509if_T_valuesWithContext(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
|
|
|
offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
|
2005-07-21 21:12:09 +00:00
|
|
|
T_valuesWithContext_set_of, hf_index, ett_x509if_T_valuesWithContext);
|
2004-11-21 06:40:02 +00:00
|
|
|
|
|
|
|
return offset;
|
|
|
|
}
|
|
|
|
static int dissect_valuesWithContext(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_T_valuesWithContext(FALSE, tvb, offset, pinfo, tree, hf_x509if_valuesWithContext);
|
|
|
|
}
|
2004-11-14 09:48:11 +00:00
|
|
|
|
2004-12-13 08:15:34 +00:00
|
|
|
static const ber_sequence_t Attribute_sequence[] = {
|
2004-10-29 11:39:58 +00:00
|
|
|
{ BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_type },
|
2004-11-14 09:48:11 +00:00
|
|
|
{ BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_values },
|
2004-11-21 06:40:02 +00:00
|
|
|
{ BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_valuesWithContext },
|
2004-10-29 11:39:58 +00:00
|
|
|
{ 0, 0, 0, NULL }
|
|
|
|
};
|
2004-10-29 11:11:11 +00:00
|
|
|
|
|
|
|
int
|
2004-11-20 07:11:08 +00:00
|
|
|
dissect_x509if_Attribute(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
2004-10-29 11:39:58 +00:00
|
|
|
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
|
|
|
|
Attribute_sequence, hf_index, ett_x509if_Attribute);
|
2004-10-29 11:11:11 +00:00
|
|
|
|
2004-07-22 13:11:13 +00:00
|
|
|
return offset;
|
|
|
|
}
|
2004-07-22 10:29:17 +00:00
|
|
|
|
|
|
|
|
2004-10-29 11:39:58 +00:00
|
|
|
int
|
2004-11-20 07:11:08 +00:00
|
|
|
dissect_x509if_AttributeType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
2004-10-29 11:39:58 +00:00
|
|
|
offset = dissect_x509if_AttributeId(implicit_tag, tvb, offset, pinfo, tree, hf_index);
|
2004-07-22 10:29:17 +00:00
|
|
|
|
|
|
|
return offset;
|
|
|
|
}
|
2004-11-21 06:40:02 +00:00
|
|
|
static int dissect_additionalControl_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_AttributeType(FALSE, tvb, offset, pinfo, tree, hf_x509if_additionalControl_item);
|
|
|
|
}
|
|
|
|
static int dissect_attribute(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_AttributeType(FALSE, tvb, offset, pinfo, tree, hf_x509if_attribute);
|
|
|
|
}
|
2004-07-22 10:29:17 +00:00
|
|
|
|
|
|
|
|
2005-06-26 05:48:50 +00:00
|
|
|
|
2004-07-20 09:11:40 +00:00
|
|
|
static int
|
2004-11-21 06:40:02 +00:00
|
|
|
dissect_x509if_NULL(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
2005-06-26 05:48:50 +00:00
|
|
|
offset = dissect_ber_null(implicit_tag, pinfo, tree, tvb, offset, hf_index);
|
2004-07-20 09:11:40 +00:00
|
|
|
|
|
|
|
return offset;
|
|
|
|
}
|
2004-11-21 06:40:02 +00:00
|
|
|
static int dissect_allContexts(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_NULL(FALSE, tvb, offset, pinfo, tree, hf_x509if_allContexts);
|
|
|
|
}
|
|
|
|
static int dissect_matchedValuesOnly(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_NULL(FALSE, tvb, offset, pinfo, tree, hf_x509if_matchedValuesOnly);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2005-06-26 05:48:50 +00:00
|
|
|
|
2004-11-21 06:40:02 +00:00
|
|
|
static int
|
|
|
|
dissect_x509if_ContextId(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
|
|
|
offset = dissect_ber_object_identifier(FALSE, pinfo, tree, tvb, offset,
|
|
|
|
hf_x509if_object_identifier_id, object_identifier_id);
|
|
|
|
|
|
|
|
|
|
|
|
return offset;
|
|
|
|
}
|
2004-12-13 12:43:48 +00:00
|
|
|
static int dissect_ca_contextType(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_ContextId(FALSE, tvb, offset, pinfo, tree, hf_x509if_ca_contextType);
|
2004-11-21 06:40:02 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
static int
|
|
|
|
dissect_x509if_ContextValue(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
|
|
|
offset=call_ber_oid_callback(object_identifier_id, tvb, offset, pinfo, tree);
|
|
|
|
|
|
|
|
|
|
|
|
return offset;
|
|
|
|
}
|
2004-12-13 12:43:48 +00:00
|
|
|
static int dissect_ca_contextValues_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_ContextValue(FALSE, tvb, offset, pinfo, tree, hf_x509if_ca_contextValues_item);
|
2004-11-21 06:40:02 +00:00
|
|
|
}
|
|
|
|
|
2005-07-21 21:12:09 +00:00
|
|
|
|
2004-12-13 08:15:34 +00:00
|
|
|
static const ber_sequence_t SET_OF_ContextValue_set_of[1] = {
|
2004-12-13 12:43:48 +00:00
|
|
|
{ BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_ca_contextValues_item },
|
2004-11-21 06:40:02 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
static int
|
|
|
|
dissect_x509if_SET_OF_ContextValue(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
|
|
|
offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
|
2005-07-21 21:12:09 +00:00
|
|
|
SET_OF_ContextValue_set_of, hf_index, ett_x509if_SET_OF_ContextValue);
|
2004-11-21 06:40:02 +00:00
|
|
|
|
|
|
|
return offset;
|
|
|
|
}
|
2004-12-13 12:43:48 +00:00
|
|
|
static int dissect_ca_contextValues(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_SET_OF_ContextValue(FALSE, tvb, offset, pinfo, tree, hf_x509if_ca_contextValues);
|
2004-11-21 06:40:02 +00:00
|
|
|
}
|
|
|
|
|
2004-12-13 08:15:34 +00:00
|
|
|
static const ber_sequence_t ContextAssertion_sequence[] = {
|
2004-12-13 12:43:48 +00:00
|
|
|
{ BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_ca_contextType },
|
|
|
|
{ BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_ca_contextValues },
|
2004-11-21 06:40:02 +00:00
|
|
|
{ 0, 0, 0, NULL }
|
|
|
|
};
|
|
|
|
|
|
|
|
int
|
|
|
|
dissect_x509if_ContextAssertion(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
|
|
|
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
|
|
|
|
ContextAssertion_sequence, hf_index, ett_x509if_ContextAssertion);
|
|
|
|
|
|
|
|
return offset;
|
|
|
|
}
|
|
|
|
static int dissect_selectedContexts_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_ContextAssertion(FALSE, tvb, offset, pinfo, tree, hf_x509if_selectedContexts_item);
|
|
|
|
}
|
|
|
|
static int dissect_assertedContexts_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_ContextAssertion(FALSE, tvb, offset, pinfo, tree, hf_x509if_assertedContexts_item);
|
|
|
|
}
|
|
|
|
|
2005-07-21 21:12:09 +00:00
|
|
|
|
2004-12-13 08:15:34 +00:00
|
|
|
static const ber_sequence_t SET_OF_ContextAssertion_set_of[1] = {
|
2004-11-21 06:40:02 +00:00
|
|
|
{ BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_selectedContexts_item },
|
|
|
|
};
|
|
|
|
|
|
|
|
static int
|
|
|
|
dissect_x509if_SET_OF_ContextAssertion(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
|
|
|
offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
|
2005-07-21 21:12:09 +00:00
|
|
|
SET_OF_ContextAssertion_set_of, hf_index, ett_x509if_SET_OF_ContextAssertion);
|
2004-11-21 06:40:02 +00:00
|
|
|
|
|
|
|
return offset;
|
|
|
|
}
|
|
|
|
static int dissect_selectedContexts(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_SET_OF_ContextAssertion(FALSE, tvb, offset, pinfo, tree, hf_x509if_selectedContexts);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2005-02-23 08:57:47 +00:00
|
|
|
static const value_string x509if_T_assertedContexts_vals[] = {
|
2004-11-21 06:40:02 +00:00
|
|
|
{ 0, "allContexts" },
|
|
|
|
{ 1, "selectedContexts" },
|
|
|
|
{ 0, NULL }
|
|
|
|
};
|
|
|
|
|
2004-12-13 08:15:34 +00:00
|
|
|
static const ber_choice_t T_assertedContexts_choice[] = {
|
2004-11-21 06:40:02 +00:00
|
|
|
{ 0, BER_CLASS_CON, 0, 0, dissect_allContexts },
|
|
|
|
{ 1, BER_CLASS_CON, 1, 0, dissect_selectedContexts },
|
|
|
|
{ 0, 0, 0, 0, NULL }
|
|
|
|
};
|
|
|
|
|
|
|
|
static int
|
|
|
|
dissect_x509if_T_assertedContexts(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
2005-07-21 21:12:09 +00:00
|
|
|
offset = dissect_ber_choice(pinfo, tree, tvb, offset,
|
2005-06-26 05:48:50 +00:00
|
|
|
T_assertedContexts_choice, hf_index, ett_x509if_T_assertedContexts, NULL);
|
2004-11-21 06:40:02 +00:00
|
|
|
|
|
|
|
return offset;
|
|
|
|
}
|
|
|
|
static int dissect_assertedContexts(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_T_assertedContexts(FALSE, tvb, offset, pinfo, tree, hf_x509if_assertedContexts);
|
|
|
|
}
|
|
|
|
|
2004-12-13 08:15:34 +00:00
|
|
|
static const ber_sequence_t AttributeValueAssertion_sequence[] = {
|
2004-11-21 06:40:02 +00:00
|
|
|
{ BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_type },
|
|
|
|
{ BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_assertion },
|
|
|
|
{ BER_CLASS_CON, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_assertedContexts },
|
|
|
|
{ 0, 0, 0, NULL }
|
|
|
|
};
|
|
|
|
|
|
|
|
int
|
|
|
|
dissect_x509if_AttributeValueAssertion(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
|
|
|
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
|
|
|
|
AttributeValueAssertion_sequence, hf_index, ett_x509if_AttributeValueAssertion);
|
|
|
|
|
|
|
|
return offset;
|
|
|
|
}
|
|
|
|
|
2005-07-21 21:12:09 +00:00
|
|
|
|
2005-02-23 08:57:47 +00:00
|
|
|
static const ber_sequence_t SEQUENCE_OF_ContextAssertion_sequence_of[1] = {
|
2004-11-21 06:40:02 +00:00
|
|
|
{ BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_assertedContexts_item },
|
|
|
|
};
|
|
|
|
|
|
|
|
static int
|
2005-02-23 08:57:47 +00:00
|
|
|
dissect_x509if_SEQUENCE_OF_ContextAssertion(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
2004-11-21 06:40:02 +00:00
|
|
|
offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
|
2005-07-21 21:12:09 +00:00
|
|
|
SEQUENCE_OF_ContextAssertion_sequence_of, hf_index, ett_x509if_SEQUENCE_OF_ContextAssertion);
|
2004-11-21 06:40:02 +00:00
|
|
|
|
|
|
|
return offset;
|
|
|
|
}
|
2004-12-13 12:43:48 +00:00
|
|
|
static int dissect_ata_assertedContexts(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
2005-02-23 08:57:47 +00:00
|
|
|
return dissect_x509if_SEQUENCE_OF_ContextAssertion(FALSE, tvb, offset, pinfo, tree, hf_x509if_ata_assertedContexts);
|
2004-11-21 06:40:02 +00:00
|
|
|
}
|
|
|
|
|
2004-12-13 08:15:34 +00:00
|
|
|
static const ber_sequence_t AttributeTypeAssertion_sequence[] = {
|
2004-11-21 06:40:02 +00:00
|
|
|
{ BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_type },
|
2004-12-13 12:43:48 +00:00
|
|
|
{ BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ata_assertedContexts },
|
2004-11-21 06:40:02 +00:00
|
|
|
{ 0, 0, 0, NULL }
|
|
|
|
};
|
|
|
|
|
|
|
|
int
|
|
|
|
dissect_x509if_AttributeTypeAssertion(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
|
|
|
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
|
|
|
|
AttributeTypeAssertion_sequence, hf_index, ett_x509if_AttributeTypeAssertion);
|
|
|
|
|
|
|
|
return offset;
|
|
|
|
}
|
|
|
|
|
2004-12-13 12:43:48 +00:00
|
|
|
static const ber_sequence_t T_valWithContext_item_sequence[] = {
|
2004-11-21 06:40:02 +00:00
|
|
|
{ BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_distingAttrValue },
|
|
|
|
{ BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_contextList },
|
|
|
|
{ 0, 0, 0, NULL }
|
|
|
|
};
|
|
|
|
|
|
|
|
static int
|
2004-12-13 12:43:48 +00:00
|
|
|
dissect_x509if_T_valWithContext_item(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
2004-11-21 06:40:02 +00:00
|
|
|
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
|
2004-12-13 12:43:48 +00:00
|
|
|
T_valWithContext_item_sequence, hf_index, ett_x509if_T_valWithContext_item);
|
2004-11-21 06:40:02 +00:00
|
|
|
|
|
|
|
return offset;
|
|
|
|
}
|
2004-12-13 12:43:48 +00:00
|
|
|
static int dissect_valueswithContext_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_T_valWithContext_item(FALSE, tvb, offset, pinfo, tree, hf_x509if_valueswithContext_item);
|
2004-11-21 06:40:02 +00:00
|
|
|
}
|
|
|
|
|
2005-07-21 21:12:09 +00:00
|
|
|
|
2004-12-13 12:43:48 +00:00
|
|
|
static const ber_sequence_t T_valWithContext_set_of[1] = {
|
|
|
|
{ BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_valueswithContext_item },
|
2004-11-21 06:40:02 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
static int
|
2004-12-13 12:43:48 +00:00
|
|
|
dissect_x509if_T_valWithContext(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
2004-11-21 06:40:02 +00:00
|
|
|
offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
|
2005-07-21 21:12:09 +00:00
|
|
|
T_valWithContext_set_of, hf_index, ett_x509if_T_valWithContext);
|
2004-11-21 06:40:02 +00:00
|
|
|
|
|
|
|
return offset;
|
|
|
|
}
|
2004-12-13 12:43:48 +00:00
|
|
|
static int dissect_valueswithContext(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_T_valWithContext(FALSE, tvb, offset, pinfo, tree, hf_x509if_valueswithContext);
|
2004-10-29 11:11:11 +00:00
|
|
|
}
|
2004-07-20 09:11:40 +00:00
|
|
|
|
2004-12-13 08:15:34 +00:00
|
|
|
static const ber_sequence_t AttributeTypeAndDistinguishedValue_sequence[] = {
|
2004-10-29 11:11:11 +00:00
|
|
|
{ BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_type },
|
2004-12-13 12:43:48 +00:00
|
|
|
{ BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_atadv_value },
|
2004-10-29 11:11:11 +00:00
|
|
|
{ BER_CLASS_UNI, BER_UNI_TAG_BOOLEAN, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_primaryDistinguished },
|
2004-12-13 12:43:48 +00:00
|
|
|
{ BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_valueswithContext },
|
2004-10-29 11:11:11 +00:00
|
|
|
{ 0, 0, 0, NULL }
|
|
|
|
};
|
2004-07-20 09:11:40 +00:00
|
|
|
|
2004-11-21 06:40:02 +00:00
|
|
|
int
|
2004-11-20 07:11:08 +00:00
|
|
|
dissect_x509if_AttributeTypeAndDistinguishedValue(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
2004-10-29 11:11:11 +00:00
|
|
|
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
|
|
|
|
AttributeTypeAndDistinguishedValue_sequence, hf_index, ett_x509if_AttributeTypeAndDistinguishedValue);
|
2004-07-20 09:11:40 +00:00
|
|
|
|
|
|
|
return offset;
|
|
|
|
}
|
|
|
|
static int dissect_RelativeDistinguishedName_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_AttributeTypeAndDistinguishedValue(FALSE, tvb, offset, pinfo, tree, hf_x509if_RelativeDistinguishedName_item);
|
|
|
|
}
|
|
|
|
|
2005-07-21 21:12:09 +00:00
|
|
|
|
2004-12-13 08:15:34 +00:00
|
|
|
static const ber_sequence_t RelativeDistinguishedName_set_of[1] = {
|
2004-07-20 09:11:40 +00:00
|
|
|
{ BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_RelativeDistinguishedName_item },
|
|
|
|
};
|
|
|
|
|
2004-07-26 09:21:36 +00:00
|
|
|
int
|
2004-11-20 07:11:08 +00:00
|
|
|
dissect_x509if_RelativeDistinguishedName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
2004-07-20 09:11:40 +00:00
|
|
|
offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
|
2005-07-21 21:12:09 +00:00
|
|
|
RelativeDistinguishedName_set_of, hf_index, ett_x509if_RelativeDistinguishedName);
|
2004-07-20 09:11:40 +00:00
|
|
|
|
|
|
|
return offset;
|
|
|
|
}
|
|
|
|
static int dissect_RDNSequence_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_RelativeDistinguishedName(FALSE, tvb, offset, pinfo, tree, hf_x509if_RDNSequence_item);
|
|
|
|
}
|
|
|
|
|
2005-07-21 21:12:09 +00:00
|
|
|
|
2004-12-13 08:15:34 +00:00
|
|
|
static const ber_sequence_t RDNSequence_sequence_of[1] = {
|
2004-07-20 09:11:40 +00:00
|
|
|
{ BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_RDNSequence_item },
|
|
|
|
};
|
|
|
|
|
2004-11-06 05:31:03 +00:00
|
|
|
int
|
2004-11-20 07:11:08 +00:00
|
|
|
dissect_x509if_RDNSequence(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
2004-07-20 09:11:40 +00:00
|
|
|
offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
|
2005-07-21 21:12:09 +00:00
|
|
|
RDNSequence_sequence_of, hf_index, ett_x509if_RDNSequence);
|
2004-07-20 09:11:40 +00:00
|
|
|
|
|
|
|
return offset;
|
|
|
|
}
|
|
|
|
static int dissect_rdnSequence(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_RDNSequence(FALSE, tvb, offset, pinfo, tree, hf_x509if_rdnSequence);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2005-02-23 08:57:47 +00:00
|
|
|
const value_string x509if_Name_vals[] = {
|
2004-07-20 09:11:40 +00:00
|
|
|
{ 0, "rdnSequence" },
|
|
|
|
{ 0, NULL }
|
|
|
|
};
|
|
|
|
|
2004-12-13 08:15:34 +00:00
|
|
|
static const ber_choice_t Name_choice[] = {
|
2004-07-20 09:11:40 +00:00
|
|
|
{ 0, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_rdnSequence },
|
|
|
|
{ 0, 0, 0, 0, NULL }
|
|
|
|
};
|
|
|
|
|
|
|
|
int
|
2004-11-20 07:11:08 +00:00
|
|
|
dissect_x509if_Name(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
2005-07-21 21:12:09 +00:00
|
|
|
offset = dissect_ber_choice(pinfo, tree, tvb, offset,
|
2005-06-26 05:48:50 +00:00
|
|
|
Name_choice, hf_index, ett_x509if_Name, NULL);
|
2004-07-20 09:11:40 +00:00
|
|
|
|
|
|
|
return offset;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2004-11-06 05:26:31 +00:00
|
|
|
int
|
2004-11-20 07:11:08 +00:00
|
|
|
dissect_x509if_DistinguishedName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
2004-07-20 09:11:40 +00:00
|
|
|
offset = dissect_x509if_RDNSequence(implicit_tag, tvb, offset, pinfo, tree, hf_index);
|
|
|
|
|
|
|
|
return offset;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2004-11-21 06:40:02 +00:00
|
|
|
int
|
|
|
|
dissect_x509if_LocalName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
|
|
|
offset = dissect_x509if_RDNSequence(implicit_tag, tvb, offset, pinfo, tree, hf_index);
|
|
|
|
|
|
|
|
return offset;
|
|
|
|
}
|
|
|
|
static int dissect_base(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_LocalName(FALSE, tvb, offset, pinfo, tree, hf_x509if_base);
|
|
|
|
}
|
|
|
|
static int dissect_chopBefore(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_LocalName(FALSE, tvb, offset, pinfo, tree, hf_x509if_chopBefore);
|
|
|
|
}
|
|
|
|
static int dissect_chopAfter(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_LocalName(FALSE, tvb, offset, pinfo, tree, hf_x509if_chopAfter);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2005-02-23 08:57:47 +00:00
|
|
|
static const value_string x509if_T_specificExclusions_item_vals[] = {
|
2004-11-21 06:40:02 +00:00
|
|
|
{ 0, "chopBefore" },
|
|
|
|
{ 1, "chopAfter" },
|
2004-07-20 09:11:40 +00:00
|
|
|
{ 0, NULL }
|
|
|
|
};
|
|
|
|
|
2004-12-13 08:15:34 +00:00
|
|
|
static const ber_choice_t T_specificExclusions_item_choice[] = {
|
2004-11-21 06:40:02 +00:00
|
|
|
{ 0, BER_CLASS_CON, 0, 0, dissect_chopBefore },
|
|
|
|
{ 1, BER_CLASS_CON, 1, 0, dissect_chopAfter },
|
|
|
|
{ 0, 0, 0, 0, NULL }
|
|
|
|
};
|
2004-07-20 09:11:40 +00:00
|
|
|
|
|
|
|
static int
|
2004-11-21 06:40:02 +00:00
|
|
|
dissect_x509if_T_specificExclusions_item(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
2005-07-21 21:12:09 +00:00
|
|
|
offset = dissect_ber_choice(pinfo, tree, tvb, offset,
|
2005-06-26 05:48:50 +00:00
|
|
|
T_specificExclusions_item_choice, hf_index, ett_x509if_T_specificExclusions_item, NULL);
|
2004-07-20 09:11:40 +00:00
|
|
|
|
|
|
|
return offset;
|
|
|
|
}
|
2004-11-21 06:40:02 +00:00
|
|
|
static int dissect_specificExclusions_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_T_specificExclusions_item(FALSE, tvb, offset, pinfo, tree, hf_x509if_specificExclusions_item);
|
|
|
|
}
|
2004-07-20 09:11:40 +00:00
|
|
|
|
2005-07-21 21:12:09 +00:00
|
|
|
|
2004-12-13 08:15:34 +00:00
|
|
|
static const ber_sequence_t T_specificExclusions_set_of[1] = {
|
2004-11-21 06:40:02 +00:00
|
|
|
{ BER_CLASS_CON, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_specificExclusions_item },
|
2004-07-20 09:11:40 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
static int
|
2004-11-21 06:40:02 +00:00
|
|
|
dissect_x509if_T_specificExclusions(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
|
|
|
offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
|
2005-07-21 21:12:09 +00:00
|
|
|
T_specificExclusions_set_of, hf_index, ett_x509if_T_specificExclusions);
|
2004-07-20 09:11:40 +00:00
|
|
|
|
|
|
|
return offset;
|
|
|
|
}
|
2004-11-21 06:40:02 +00:00
|
|
|
static int dissect_specificExclusions(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_T_specificExclusions(FALSE, tvb, offset, pinfo, tree, hf_x509if_specificExclusions);
|
|
|
|
}
|
2004-07-20 09:11:40 +00:00
|
|
|
|
|
|
|
|
2004-11-21 06:40:02 +00:00
|
|
|
|
|
|
|
int
|
|
|
|
dissect_x509if_BaseDistance(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
2005-06-26 05:48:50 +00:00
|
|
|
offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
|
|
|
|
NULL);
|
2004-11-21 06:40:02 +00:00
|
|
|
|
|
|
|
return offset;
|
|
|
|
}
|
|
|
|
static int dissect_minimum(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_BaseDistance(FALSE, tvb, offset, pinfo, tree, hf_x509if_minimum);
|
|
|
|
}
|
|
|
|
static int dissect_maximum(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_BaseDistance(FALSE, tvb, offset, pinfo, tree, hf_x509if_maximum);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2005-06-26 05:48:50 +00:00
|
|
|
|
2004-11-21 06:40:02 +00:00
|
|
|
static int
|
|
|
|
dissect_x509if_OBJECT_IDENTIFIER(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
2005-06-26 05:48:50 +00:00
|
|
|
offset = dissect_ber_object_identifier(implicit_tag, pinfo, tree, tvb, offset, hf_index,
|
|
|
|
NULL);
|
2004-11-21 06:40:02 +00:00
|
|
|
|
|
|
|
return offset;
|
|
|
|
}
|
|
|
|
static int dissect_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_OBJECT_IDENTIFIER(FALSE, tvb, offset, pinfo, tree, hf_x509if_item);
|
|
|
|
}
|
|
|
|
static int dissect_nameForm(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_OBJECT_IDENTIFIER(FALSE, tvb, offset, pinfo, tree, hf_x509if_nameForm);
|
|
|
|
}
|
|
|
|
static int dissect_structuralObjectClass(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_OBJECT_IDENTIFIER(FALSE, tvb, offset, pinfo, tree, hf_x509if_structuralObjectClass);
|
|
|
|
}
|
|
|
|
static int dissect_auxiliaries_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_OBJECT_IDENTIFIER(FALSE, tvb, offset, pinfo, tree, hf_x509if_auxiliaries_item);
|
|
|
|
}
|
|
|
|
static int dissect_mandatoryContexts_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_OBJECT_IDENTIFIER(FALSE, tvb, offset, pinfo, tree, hf_x509if_mandatoryContexts_item);
|
|
|
|
}
|
|
|
|
static int dissect_optionalContexts_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_OBJECT_IDENTIFIER(FALSE, tvb, offset, pinfo, tree, hf_x509if_optionalContexts_item);
|
|
|
|
}
|
|
|
|
static int dissect_dmdId(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_OBJECT_IDENTIFIER(FALSE, tvb, offset, pinfo, tree, hf_x509if_dmdId);
|
|
|
|
}
|
|
|
|
static int dissect_serviceType(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_OBJECT_IDENTIFIER(FALSE, tvb, offset, pinfo, tree, hf_x509if_serviceType);
|
|
|
|
}
|
|
|
|
static int dissect_context(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_OBJECT_IDENTIFIER(FALSE, tvb, offset, pinfo, tree, hf_x509if_context);
|
|
|
|
}
|
|
|
|
static int dissect_mappingFunction(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_OBJECT_IDENTIFIER(FALSE, tvb, offset, pinfo, tree, hf_x509if_mappingFunction);
|
|
|
|
}
|
|
|
|
static int dissect_oldMatchingRule(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_OBJECT_IDENTIFIER(FALSE, tvb, offset, pinfo, tree, hf_x509if_oldMatchingRule);
|
|
|
|
}
|
|
|
|
static int dissect_newMatchingRule(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_OBJECT_IDENTIFIER(FALSE, tvb, offset, pinfo, tree, hf_x509if_newMatchingRule);
|
|
|
|
}
|
|
|
|
|
2005-07-21 21:12:09 +00:00
|
|
|
|
2004-12-13 08:15:34 +00:00
|
|
|
static const ber_sequence_t SET_OF_Refinement_set_of[1] = {
|
2004-12-13 12:43:48 +00:00
|
|
|
{ BER_CLASS_CON, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_refinement_and_item },
|
2004-11-21 06:40:02 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
static int
|
|
|
|
dissect_x509if_SET_OF_Refinement(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
|
|
|
offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
|
2005-07-21 21:12:09 +00:00
|
|
|
SET_OF_Refinement_set_of, hf_index, ett_x509if_SET_OF_Refinement);
|
2004-11-21 06:40:02 +00:00
|
|
|
|
|
|
|
return offset;
|
|
|
|
}
|
2004-12-13 12:43:48 +00:00
|
|
|
static int dissect_refinement_and(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_SET_OF_Refinement(FALSE, tvb, offset, pinfo, tree, hf_x509if_refinement_and);
|
2004-11-21 06:40:02 +00:00
|
|
|
}
|
2004-12-13 12:43:48 +00:00
|
|
|
static int dissect_refinement_or(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_SET_OF_Refinement(FALSE, tvb, offset, pinfo, tree, hf_x509if_refinement_or);
|
2004-11-21 06:40:02 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
2005-02-23 08:57:47 +00:00
|
|
|
const value_string x509if_Refinement_vals[] = {
|
2004-11-21 06:40:02 +00:00
|
|
|
{ 0, "item" },
|
|
|
|
{ 1, "and" },
|
|
|
|
{ 2, "or" },
|
|
|
|
{ 3, "not" },
|
|
|
|
{ 0, NULL }
|
|
|
|
};
|
|
|
|
|
2004-12-13 08:15:34 +00:00
|
|
|
static const ber_choice_t Refinement_choice[] = {
|
2004-11-21 06:40:02 +00:00
|
|
|
{ 0, BER_CLASS_CON, 0, 0, dissect_item },
|
2004-12-13 12:43:48 +00:00
|
|
|
{ 1, BER_CLASS_CON, 1, 0, dissect_refinement_and },
|
|
|
|
{ 2, BER_CLASS_CON, 2, 0, dissect_refinement_or },
|
|
|
|
{ 3, BER_CLASS_CON, 3, 0, dissect_refinement_not },
|
2004-11-21 06:40:02 +00:00
|
|
|
{ 0, 0, 0, 0, NULL }
|
|
|
|
};
|
|
|
|
|
|
|
|
int
|
|
|
|
dissect_x509if_Refinement(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
2005-07-21 21:12:09 +00:00
|
|
|
offset = dissect_ber_choice(pinfo, tree, tvb, offset,
|
2005-06-26 05:48:50 +00:00
|
|
|
Refinement_choice, hf_index, ett_x509if_Refinement, NULL);
|
2004-11-21 06:40:02 +00:00
|
|
|
|
|
|
|
return offset;
|
|
|
|
}
|
|
|
|
|
2004-12-13 08:15:34 +00:00
|
|
|
static const ber_sequence_t SubtreeSpecification_sequence[] = {
|
2004-11-21 06:40:02 +00:00
|
|
|
{ BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_base },
|
|
|
|
{ BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_specificExclusions },
|
|
|
|
{ BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_minimum },
|
|
|
|
{ BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_maximum },
|
|
|
|
{ BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_specificationFilter },
|
|
|
|
{ 0, 0, 0, NULL }
|
|
|
|
};
|
|
|
|
|
|
|
|
int
|
|
|
|
dissect_x509if_SubtreeSpecification(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
|
|
|
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
|
|
|
|
SubtreeSpecification_sequence, hf_index, ett_x509if_SubtreeSpecification);
|
|
|
|
|
|
|
|
return offset;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2005-02-23 08:57:47 +00:00
|
|
|
static const value_string x509if_T_chopSpecificExclusions_item_vals[] = {
|
2004-11-21 06:40:02 +00:00
|
|
|
{ 0, "chopBefore" },
|
|
|
|
{ 1, "chopAfter" },
|
|
|
|
{ 0, NULL }
|
|
|
|
};
|
|
|
|
|
2004-12-13 12:43:48 +00:00
|
|
|
static const ber_choice_t T_chopSpecificExclusions_item_choice[] = {
|
2004-11-21 06:40:02 +00:00
|
|
|
{ 0, BER_CLASS_CON, 0, 0, dissect_chopBefore },
|
|
|
|
{ 1, BER_CLASS_CON, 1, 0, dissect_chopAfter },
|
|
|
|
{ 0, 0, 0, 0, NULL }
|
|
|
|
};
|
|
|
|
|
|
|
|
static int
|
2004-12-13 12:43:48 +00:00
|
|
|
dissect_x509if_T_chopSpecificExclusions_item(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
2005-07-21 21:12:09 +00:00
|
|
|
offset = dissect_ber_choice(pinfo, tree, tvb, offset,
|
2005-06-26 05:48:50 +00:00
|
|
|
T_chopSpecificExclusions_item_choice, hf_index, ett_x509if_T_chopSpecificExclusions_item, NULL);
|
2004-11-21 06:40:02 +00:00
|
|
|
|
|
|
|
return offset;
|
|
|
|
}
|
2004-12-13 12:43:48 +00:00
|
|
|
static int dissect_chopSpecificExclusions_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_T_chopSpecificExclusions_item(FALSE, tvb, offset, pinfo, tree, hf_x509if_chopSpecificExclusions_item);
|
2004-11-21 06:40:02 +00:00
|
|
|
}
|
|
|
|
|
2005-07-21 21:12:09 +00:00
|
|
|
|
2004-12-13 12:43:48 +00:00
|
|
|
static const ber_sequence_t T_chopSpecificExclusions_set_of[1] = {
|
|
|
|
{ BER_CLASS_CON, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_chopSpecificExclusions_item },
|
2004-11-21 06:40:02 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
static int
|
2004-12-13 12:43:48 +00:00
|
|
|
dissect_x509if_T_chopSpecificExclusions(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
2004-11-21 06:40:02 +00:00
|
|
|
offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
|
2005-07-21 21:12:09 +00:00
|
|
|
T_chopSpecificExclusions_set_of, hf_index, ett_x509if_T_chopSpecificExclusions);
|
2004-11-21 06:40:02 +00:00
|
|
|
|
|
|
|
return offset;
|
|
|
|
}
|
2004-12-13 12:43:48 +00:00
|
|
|
static int dissect_chopSpecificExclusions(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_T_chopSpecificExclusions(FALSE, tvb, offset, pinfo, tree, hf_x509if_chopSpecificExclusions);
|
2004-11-21 06:40:02 +00:00
|
|
|
}
|
|
|
|
|
2004-12-13 08:15:34 +00:00
|
|
|
static const ber_sequence_t ChopSpecification_sequence[] = {
|
2004-12-13 12:43:48 +00:00
|
|
|
{ BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_chopSpecificExclusions },
|
2004-11-21 06:40:02 +00:00
|
|
|
{ BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_minimum },
|
|
|
|
{ BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_maximum },
|
|
|
|
{ 0, 0, 0, NULL }
|
|
|
|
};
|
|
|
|
|
|
|
|
int
|
|
|
|
dissect_x509if_ChopSpecification(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
|
|
|
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
|
|
|
|
ChopSpecification_sequence, hf_index, ett_x509if_ChopSpecification);
|
|
|
|
|
|
|
|
return offset;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2005-02-23 08:57:47 +00:00
|
|
|
static const value_string x509if_ObjectClassKind_vals[] = {
|
2004-11-21 06:40:02 +00:00
|
|
|
{ 0, "abstract" },
|
|
|
|
{ 1, "structural" },
|
|
|
|
{ 2, "auxiliary" },
|
|
|
|
{ 0, NULL }
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
static int
|
|
|
|
dissect_x509if_ObjectClassKind(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
2005-07-21 21:12:09 +00:00
|
|
|
offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
|
|
|
|
NULL);
|
2004-11-21 06:40:02 +00:00
|
|
|
|
|
|
|
return offset;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2005-02-23 08:57:47 +00:00
|
|
|
const value_string x509if_AttributeUsage_vals[] = {
|
2004-11-21 06:40:02 +00:00
|
|
|
{ 0, "userApplications" },
|
|
|
|
{ 1, "directoryOperation" },
|
|
|
|
{ 2, "distributedOperation" },
|
|
|
|
{ 3, "dSAOperation" },
|
|
|
|
{ 0, NULL }
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
int
|
|
|
|
dissect_x509if_AttributeUsage(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
2005-07-21 21:12:09 +00:00
|
|
|
offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
|
|
|
|
NULL);
|
2004-11-21 06:40:02 +00:00
|
|
|
|
|
|
|
return offset;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
int
|
|
|
|
dissect_x509if_RuleIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
2005-06-26 05:48:50 +00:00
|
|
|
offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
|
|
|
|
NULL);
|
2004-11-21 06:40:02 +00:00
|
|
|
|
|
|
|
return offset;
|
|
|
|
}
|
|
|
|
static int dissect_ruleIdentifier(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_RuleIdentifier(FALSE, tvb, offset, pinfo, tree, hf_x509if_ruleIdentifier);
|
|
|
|
}
|
|
|
|
static int dissect_superiorStructureRules_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_RuleIdentifier(FALSE, tvb, offset, pinfo, tree, hf_x509if_superiorStructureRules_item);
|
|
|
|
}
|
|
|
|
|
2005-07-21 21:12:09 +00:00
|
|
|
|
2004-12-13 08:15:34 +00:00
|
|
|
static const ber_sequence_t SET_OF_RuleIdentifier_set_of[1] = {
|
2004-11-21 06:40:02 +00:00
|
|
|
{ BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_superiorStructureRules_item },
|
|
|
|
};
|
|
|
|
|
|
|
|
static int
|
|
|
|
dissect_x509if_SET_OF_RuleIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
|
|
|
offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
|
2005-07-21 21:12:09 +00:00
|
|
|
SET_OF_RuleIdentifier_set_of, hf_index, ett_x509if_SET_OF_RuleIdentifier);
|
2004-11-21 06:40:02 +00:00
|
|
|
|
|
|
|
return offset;
|
|
|
|
}
|
|
|
|
static int dissect_superiorStructureRules(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_SET_OF_RuleIdentifier(FALSE, tvb, offset, pinfo, tree, hf_x509if_superiorStructureRules);
|
|
|
|
}
|
|
|
|
|
2004-12-13 08:15:34 +00:00
|
|
|
static const ber_sequence_t DITStructureRule_sequence[] = {
|
2004-11-21 06:40:02 +00:00
|
|
|
{ BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_ruleIdentifier },
|
|
|
|
{ BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_nameForm },
|
|
|
|
{ BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_superiorStructureRules },
|
|
|
|
{ 0, 0, 0, NULL }
|
|
|
|
};
|
|
|
|
|
|
|
|
int
|
|
|
|
dissect_x509if_DITStructureRule(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
|
|
|
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
|
|
|
|
DITStructureRule_sequence, hf_index, ett_x509if_DITStructureRule);
|
|
|
|
|
|
|
|
return offset;
|
|
|
|
}
|
|
|
|
|
2005-07-21 21:12:09 +00:00
|
|
|
|
2005-02-23 08:57:47 +00:00
|
|
|
static const ber_sequence_t T_auxiliaries_set_of[1] = {
|
2004-11-21 06:40:02 +00:00
|
|
|
{ BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_auxiliaries_item },
|
|
|
|
};
|
|
|
|
|
|
|
|
static int
|
2005-02-23 08:57:47 +00:00
|
|
|
dissect_x509if_T_auxiliaries(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
2004-11-21 06:40:02 +00:00
|
|
|
offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
|
2005-07-21 21:12:09 +00:00
|
|
|
T_auxiliaries_set_of, hf_index, ett_x509if_T_auxiliaries);
|
2004-11-21 06:40:02 +00:00
|
|
|
|
|
|
|
return offset;
|
|
|
|
}
|
|
|
|
static int dissect_auxiliaries(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
2005-02-23 08:57:47 +00:00
|
|
|
return dissect_x509if_T_auxiliaries(FALSE, tvb, offset, pinfo, tree, hf_x509if_auxiliaries);
|
2004-11-21 06:40:02 +00:00
|
|
|
}
|
|
|
|
|
2005-07-21 21:12:09 +00:00
|
|
|
|
2004-12-13 08:15:34 +00:00
|
|
|
static const ber_sequence_t SET_SIZE_1_MAX_OF_AttributeId_set_of[1] = {
|
2004-11-21 06:40:02 +00:00
|
|
|
{ BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_mandatory_item },
|
|
|
|
};
|
|
|
|
|
|
|
|
static int
|
2004-12-12 01:14:03 +00:00
|
|
|
dissect_x509if_SET_SIZE_1_MAX_OF_AttributeId(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
2004-11-21 06:40:02 +00:00
|
|
|
offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
|
2005-07-21 21:12:09 +00:00
|
|
|
SET_SIZE_1_MAX_OF_AttributeId_set_of, hf_index, ett_x509if_SET_SIZE_1_MAX_OF_AttributeId);
|
2004-11-21 06:40:02 +00:00
|
|
|
|
|
|
|
return offset;
|
|
|
|
}
|
|
|
|
static int dissect_mandatory(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
2004-12-12 01:14:03 +00:00
|
|
|
return dissect_x509if_SET_SIZE_1_MAX_OF_AttributeId(FALSE, tvb, offset, pinfo, tree, hf_x509if_mandatory);
|
2004-11-21 06:40:02 +00:00
|
|
|
}
|
|
|
|
static int dissect_optional(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
2004-12-12 01:14:03 +00:00
|
|
|
return dissect_x509if_SET_SIZE_1_MAX_OF_AttributeId(FALSE, tvb, offset, pinfo, tree, hf_x509if_optional);
|
2004-11-21 06:40:02 +00:00
|
|
|
}
|
|
|
|
static int dissect_precluded(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
2004-12-12 01:14:03 +00:00
|
|
|
return dissect_x509if_SET_SIZE_1_MAX_OF_AttributeId(FALSE, tvb, offset, pinfo, tree, hf_x509if_precluded);
|
2004-11-21 06:40:02 +00:00
|
|
|
}
|
|
|
|
|
2004-12-13 08:15:34 +00:00
|
|
|
static const ber_sequence_t DITContentRule_sequence[] = {
|
2004-11-21 06:40:02 +00:00
|
|
|
{ BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_structuralObjectClass },
|
|
|
|
{ BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_auxiliaries },
|
|
|
|
{ BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_mandatory },
|
|
|
|
{ BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_optional },
|
|
|
|
{ BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_precluded },
|
|
|
|
{ 0, 0, 0, NULL }
|
|
|
|
};
|
|
|
|
|
|
|
|
int
|
|
|
|
dissect_x509if_DITContentRule(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
|
|
|
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
|
|
|
|
DITContentRule_sequence, hf_index, ett_x509if_DITContentRule);
|
|
|
|
|
|
|
|
return offset;
|
|
|
|
}
|
|
|
|
|
2005-07-21 21:12:09 +00:00
|
|
|
|
2005-02-23 08:57:47 +00:00
|
|
|
static const ber_sequence_t T_mandatoryContexts_set_of[1] = {
|
|
|
|
{ BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_mandatoryContexts_item },
|
|
|
|
};
|
|
|
|
|
|
|
|
static int
|
|
|
|
dissect_x509if_T_mandatoryContexts(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
|
|
|
offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
|
2005-07-21 21:12:09 +00:00
|
|
|
T_mandatoryContexts_set_of, hf_index, ett_x509if_T_mandatoryContexts);
|
2005-02-23 08:57:47 +00:00
|
|
|
|
|
|
|
return offset;
|
|
|
|
}
|
|
|
|
static int dissect_mandatoryContexts(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_T_mandatoryContexts(FALSE, tvb, offset, pinfo, tree, hf_x509if_mandatoryContexts);
|
|
|
|
}
|
|
|
|
|
2005-07-21 21:12:09 +00:00
|
|
|
|
2005-02-23 08:57:47 +00:00
|
|
|
static const ber_sequence_t T_optionalContexts_set_of[1] = {
|
|
|
|
{ BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_optionalContexts_item },
|
|
|
|
};
|
|
|
|
|
|
|
|
static int
|
|
|
|
dissect_x509if_T_optionalContexts(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
|
|
|
offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
|
2005-07-21 21:12:09 +00:00
|
|
|
T_optionalContexts_set_of, hf_index, ett_x509if_T_optionalContexts);
|
2005-02-23 08:57:47 +00:00
|
|
|
|
|
|
|
return offset;
|
|
|
|
}
|
|
|
|
static int dissect_optionalContexts(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_T_optionalContexts(FALSE, tvb, offset, pinfo, tree, hf_x509if_optionalContexts);
|
|
|
|
}
|
|
|
|
|
2004-12-13 08:15:34 +00:00
|
|
|
static const ber_sequence_t DITContextUse_sequence[] = {
|
2004-11-21 06:40:02 +00:00
|
|
|
{ BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_attributeType },
|
|
|
|
{ BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_mandatoryContexts },
|
|
|
|
{ BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_optionalContexts },
|
|
|
|
{ 0, 0, 0, NULL }
|
|
|
|
};
|
|
|
|
|
|
|
|
int
|
|
|
|
dissect_x509if_DITContextUse(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
|
|
|
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
|
|
|
|
DITContextUse_sequence, hf_index, ett_x509if_DITContextUse);
|
|
|
|
|
|
|
|
return offset;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
static int
|
|
|
|
dissect_x509if_INTEGER(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
2005-06-26 05:48:50 +00:00
|
|
|
offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
|
|
|
|
NULL);
|
2004-11-21 06:40:02 +00:00
|
|
|
|
|
|
|
return offset;
|
|
|
|
}
|
|
|
|
static int dissect_id(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_INTEGER(FALSE, tvb, offset, pinfo, tree, hf_x509if_id);
|
|
|
|
}
|
|
|
|
static int dissect_userClass(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_INTEGER(FALSE, tvb, offset, pinfo, tree, hf_x509if_userClass);
|
|
|
|
}
|
|
|
|
static int dissect_default(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_INTEGER(FALSE, tvb, offset, pinfo, tree, hf_x509if_default);
|
|
|
|
}
|
|
|
|
static int dissect_max(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_INTEGER(FALSE, tvb, offset, pinfo, tree, hf_x509if_max);
|
|
|
|
}
|
2004-12-13 12:43:48 +00:00
|
|
|
static int dissect_maximum_relaxation(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_INTEGER(FALSE, tvb, offset, pinfo, tree, hf_x509if_maximum_relaxation);
|
2004-11-21 06:40:02 +00:00
|
|
|
}
|
2004-12-13 12:43:48 +00:00
|
|
|
static int dissect_minimum_relaxation(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_INTEGER(FALSE, tvb, offset, pinfo, tree, hf_x509if_minimum_relaxation);
|
2004-11-21 06:40:02 +00:00
|
|
|
}
|
|
|
|
static int dissect_level(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_INTEGER(FALSE, tvb, offset, pinfo, tree, hf_x509if_level);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
static int
|
|
|
|
dissect_x509if_SelectedValues(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
|
|
|
offset=call_ber_oid_callback(object_identifier_id, tvb, offset, pinfo, tree);
|
|
|
|
|
|
|
|
|
|
|
|
return offset;
|
|
|
|
}
|
2004-12-13 12:43:48 +00:00
|
|
|
static int dissect_ra_selectedValues_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_SelectedValues(FALSE, tvb, offset, pinfo, tree, hf_x509if_ra_selectedValues_item);
|
2004-11-21 06:40:02 +00:00
|
|
|
}
|
|
|
|
|
2005-07-21 21:12:09 +00:00
|
|
|
|
2005-02-23 08:57:47 +00:00
|
|
|
static const ber_sequence_t SEQUENCE_OF_SelectedValues_sequence_of[1] = {
|
2004-12-13 12:43:48 +00:00
|
|
|
{ BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_ra_selectedValues_item },
|
2004-11-21 06:40:02 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
static int
|
2005-02-23 08:57:47 +00:00
|
|
|
dissect_x509if_SEQUENCE_OF_SelectedValues(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
2004-11-21 06:40:02 +00:00
|
|
|
offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
|
2005-07-21 21:12:09 +00:00
|
|
|
SEQUENCE_OF_SelectedValues_sequence_of, hf_index, ett_x509if_SEQUENCE_OF_SelectedValues);
|
2004-11-21 06:40:02 +00:00
|
|
|
|
|
|
|
return offset;
|
|
|
|
}
|
2004-12-13 12:43:48 +00:00
|
|
|
static int dissect_ra_selectedValues(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
2005-02-23 08:57:47 +00:00
|
|
|
return dissect_x509if_SEQUENCE_OF_SelectedValues(FALSE, tvb, offset, pinfo, tree, hf_x509if_ra_selectedValues);
|
2004-11-21 06:40:02 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
2005-06-26 05:48:50 +00:00
|
|
|
|
2004-11-21 06:40:02 +00:00
|
|
|
static int
|
|
|
|
dissect_x509if_DefaultValueType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
|
|
|
offset = dissect_ber_object_identifier(FALSE, pinfo, tree, tvb, offset,
|
|
|
|
hf_x509if_object_identifier_id, object_identifier_id);
|
|
|
|
|
|
|
|
|
|
|
|
return offset;
|
|
|
|
}
|
|
|
|
static int dissect_entryType(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_DefaultValueType(FALSE, tvb, offset, pinfo, tree, hf_x509if_entryType);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
static int
|
|
|
|
dissect_x509if_DefaultValueValues(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
|
|
|
offset=call_ber_oid_callback(object_identifier_id, tvb, offset, pinfo, tree);
|
|
|
|
|
|
|
|
|
|
|
|
return offset;
|
|
|
|
}
|
2004-12-13 12:43:48 +00:00
|
|
|
static int dissect_ra_values_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_DefaultValueValues(FALSE, tvb, offset, pinfo, tree, hf_x509if_ra_values_item);
|
2004-11-21 06:40:02 +00:00
|
|
|
}
|
|
|
|
|
2005-07-21 21:12:09 +00:00
|
|
|
|
2005-02-23 08:57:47 +00:00
|
|
|
static const ber_sequence_t SEQUENCE_OF_DefaultValueValues_sequence_of[1] = {
|
2004-12-13 12:43:48 +00:00
|
|
|
{ BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_ra_values_item },
|
2004-11-21 06:40:02 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
static int
|
2005-02-23 08:57:47 +00:00
|
|
|
dissect_x509if_SEQUENCE_OF_DefaultValueValues(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
2004-11-21 06:40:02 +00:00
|
|
|
offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
|
2005-07-21 21:12:09 +00:00
|
|
|
SEQUENCE_OF_DefaultValueValues_sequence_of, hf_index, ett_x509if_SEQUENCE_OF_DefaultValueValues);
|
2004-11-21 06:40:02 +00:00
|
|
|
|
|
|
|
return offset;
|
|
|
|
}
|
2004-12-13 12:43:48 +00:00
|
|
|
static int dissect_ra_values(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
2005-02-23 08:57:47 +00:00
|
|
|
return dissect_x509if_SEQUENCE_OF_DefaultValueValues(FALSE, tvb, offset, pinfo, tree, hf_x509if_ra_values);
|
2004-11-21 06:40:02 +00:00
|
|
|
}
|
|
|
|
|
2004-12-13 08:15:34 +00:00
|
|
|
static const ber_sequence_t T_defaultValues_item_sequence[] = {
|
2004-11-21 06:40:02 +00:00
|
|
|
{ BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_entryType },
|
2004-12-13 12:43:48 +00:00
|
|
|
{ BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_ra_values },
|
2004-11-21 06:40:02 +00:00
|
|
|
{ 0, 0, 0, NULL }
|
|
|
|
};
|
|
|
|
|
|
|
|
static int
|
|
|
|
dissect_x509if_T_defaultValues_item(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
|
|
|
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
|
|
|
|
T_defaultValues_item_sequence, hf_index, ett_x509if_T_defaultValues_item);
|
|
|
|
|
|
|
|
return offset;
|
|
|
|
}
|
|
|
|
static int dissect_defaultValues_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_T_defaultValues_item(FALSE, tvb, offset, pinfo, tree, hf_x509if_defaultValues_item);
|
|
|
|
}
|
|
|
|
|
2005-07-21 21:12:09 +00:00
|
|
|
|
2004-12-13 08:15:34 +00:00
|
|
|
static const ber_sequence_t T_defaultValues_sequence_of[1] = {
|
2004-11-21 06:40:02 +00:00
|
|
|
{ BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_defaultValues_item },
|
|
|
|
};
|
|
|
|
|
|
|
|
static int
|
|
|
|
dissect_x509if_T_defaultValues(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
|
|
|
offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
|
2005-07-21 21:12:09 +00:00
|
|
|
T_defaultValues_sequence_of, hf_index, ett_x509if_T_defaultValues);
|
2004-11-21 06:40:02 +00:00
|
|
|
|
|
|
|
return offset;
|
|
|
|
}
|
|
|
|
static int dissect_defaultValues(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_T_defaultValues(FALSE, tvb, offset, pinfo, tree, hf_x509if_defaultValues);
|
|
|
|
}
|
|
|
|
|
2005-07-21 21:12:09 +00:00
|
|
|
|
2005-02-23 08:57:47 +00:00
|
|
|
static const ber_sequence_t SEQUENCE_OF_AttributeValue_sequence_of[1] = {
|
2004-11-21 06:40:02 +00:00
|
|
|
{ BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_contextValue_item },
|
|
|
|
};
|
|
|
|
|
|
|
|
static int
|
2005-02-23 08:57:47 +00:00
|
|
|
dissect_x509if_SEQUENCE_OF_AttributeValue(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
2004-11-21 06:40:02 +00:00
|
|
|
offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
|
2005-07-21 21:12:09 +00:00
|
|
|
SEQUENCE_OF_AttributeValue_sequence_of, hf_index, ett_x509if_SEQUENCE_OF_AttributeValue);
|
2004-11-21 06:40:02 +00:00
|
|
|
|
|
|
|
return offset;
|
|
|
|
}
|
|
|
|
static int dissect_contextValue(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
2005-02-23 08:57:47 +00:00
|
|
|
return dissect_x509if_SEQUENCE_OF_AttributeValue(FALSE, tvb, offset, pinfo, tree, hf_x509if_contextValue);
|
2004-11-21 06:40:02 +00:00
|
|
|
}
|
2004-12-13 12:43:48 +00:00
|
|
|
static int dissect_selectedValues(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
2005-02-23 08:57:47 +00:00
|
|
|
return dissect_x509if_SEQUENCE_OF_AttributeValue(FALSE, tvb, offset, pinfo, tree, hf_x509if_selectedValues);
|
2004-11-21 06:40:02 +00:00
|
|
|
}
|
|
|
|
|
2004-12-13 08:15:34 +00:00
|
|
|
static const ber_sequence_t ContextProfile_sequence[] = {
|
2004-11-21 06:40:02 +00:00
|
|
|
{ BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_contextType },
|
|
|
|
{ BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_contextValue },
|
|
|
|
{ 0, 0, 0, NULL }
|
|
|
|
};
|
|
|
|
|
|
|
|
int
|
|
|
|
dissect_x509if_ContextProfile(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
|
|
|
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
|
|
|
|
ContextProfile_sequence, hf_index, ett_x509if_ContextProfile);
|
|
|
|
|
|
|
|
return offset;
|
|
|
|
}
|
|
|
|
static int dissect_contexts_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_ContextProfile(FALSE, tvb, offset, pinfo, tree, hf_x509if_contexts_item);
|
|
|
|
}
|
|
|
|
|
2005-07-21 21:12:09 +00:00
|
|
|
|
2005-02-23 08:57:47 +00:00
|
|
|
static const ber_sequence_t SEQUENCE_OF_ContextProfile_sequence_of[1] = {
|
2004-11-21 06:40:02 +00:00
|
|
|
{ BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_contexts_item },
|
|
|
|
};
|
|
|
|
|
|
|
|
static int
|
2005-02-23 08:57:47 +00:00
|
|
|
dissect_x509if_SEQUENCE_OF_ContextProfile(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
2004-11-21 06:40:02 +00:00
|
|
|
offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
|
2005-07-21 21:12:09 +00:00
|
|
|
SEQUENCE_OF_ContextProfile_sequence_of, hf_index, ett_x509if_SEQUENCE_OF_ContextProfile);
|
2004-11-21 06:40:02 +00:00
|
|
|
|
|
|
|
return offset;
|
|
|
|
}
|
|
|
|
static int dissect_contexts(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
2005-02-23 08:57:47 +00:00
|
|
|
return dissect_x509if_SEQUENCE_OF_ContextProfile(FALSE, tvb, offset, pinfo, tree, hf_x509if_contexts);
|
2004-11-21 06:40:02 +00:00
|
|
|
}
|
|
|
|
|
2005-07-21 21:12:09 +00:00
|
|
|
|
2005-02-23 08:57:47 +00:00
|
|
|
static const ber_sequence_t SEQUENCE_OF_ContextCombination_sequence_of[1] = {
|
2004-12-13 12:43:48 +00:00
|
|
|
{ BER_CLASS_CON, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_contextcombination_and_item },
|
2004-11-21 06:40:02 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
static int
|
2005-02-23 08:57:47 +00:00
|
|
|
dissect_x509if_SEQUENCE_OF_ContextCombination(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
2004-11-21 06:40:02 +00:00
|
|
|
offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
|
2005-07-21 21:12:09 +00:00
|
|
|
SEQUENCE_OF_ContextCombination_sequence_of, hf_index, ett_x509if_SEQUENCE_OF_ContextCombination);
|
2004-11-21 06:40:02 +00:00
|
|
|
|
|
|
|
return offset;
|
|
|
|
}
|
2004-12-13 12:43:48 +00:00
|
|
|
static int dissect_contextcombination_and(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
2005-02-23 08:57:47 +00:00
|
|
|
return dissect_x509if_SEQUENCE_OF_ContextCombination(FALSE, tvb, offset, pinfo, tree, hf_x509if_contextcombination_and);
|
2004-11-21 06:40:02 +00:00
|
|
|
}
|
2004-12-13 12:43:48 +00:00
|
|
|
static int dissect_contextcombination_or(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
2005-02-23 08:57:47 +00:00
|
|
|
return dissect_x509if_SEQUENCE_OF_ContextCombination(FALSE, tvb, offset, pinfo, tree, hf_x509if_contextcombination_or);
|
2004-11-21 06:40:02 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
2005-02-23 08:57:47 +00:00
|
|
|
const value_string x509if_ContextCombination_vals[] = {
|
2004-11-21 06:40:02 +00:00
|
|
|
{ 0, "context" },
|
|
|
|
{ 1, "and" },
|
|
|
|
{ 2, "or" },
|
|
|
|
{ 3, "not" },
|
|
|
|
{ 0, NULL }
|
|
|
|
};
|
|
|
|
|
2004-12-13 08:15:34 +00:00
|
|
|
static const ber_choice_t ContextCombination_choice[] = {
|
2004-11-21 06:40:02 +00:00
|
|
|
{ 0, BER_CLASS_CON, 0, 0, dissect_context },
|
2004-12-13 12:43:48 +00:00
|
|
|
{ 1, BER_CLASS_CON, 1, 0, dissect_contextcombination_and },
|
|
|
|
{ 2, BER_CLASS_CON, 2, 0, dissect_contextcombination_or },
|
|
|
|
{ 3, BER_CLASS_CON, 3, 0, dissect_contextcombination_not },
|
2004-11-21 06:40:02 +00:00
|
|
|
{ 0, 0, 0, 0, NULL }
|
|
|
|
};
|
|
|
|
|
|
|
|
int
|
|
|
|
dissect_x509if_ContextCombination(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
2005-07-21 21:12:09 +00:00
|
|
|
offset = dissect_ber_choice(pinfo, tree, tvb, offset,
|
2005-06-26 05:48:50 +00:00
|
|
|
ContextCombination_choice, hf_index, ett_x509if_ContextCombination, NULL);
|
2004-11-21 06:40:02 +00:00
|
|
|
|
|
|
|
return offset;
|
|
|
|
}
|
|
|
|
|
2004-12-13 08:15:34 +00:00
|
|
|
static const ber_sequence_t MatchingUse_sequence[] = {
|
2004-11-21 06:40:02 +00:00
|
|
|
{ BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_restrictionType },
|
|
|
|
{ BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_restrictionValue },
|
|
|
|
{ 0, 0, 0, NULL }
|
|
|
|
};
|
|
|
|
|
|
|
|
int
|
|
|
|
dissect_x509if_MatchingUse(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
|
|
|
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
|
|
|
|
MatchingUse_sequence, hf_index, ett_x509if_MatchingUse);
|
|
|
|
|
|
|
|
return offset;
|
|
|
|
}
|
|
|
|
static int dissect_matchingUse_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_MatchingUse(FALSE, tvb, offset, pinfo, tree, hf_x509if_matchingUse_item);
|
|
|
|
}
|
|
|
|
|
2005-07-21 21:12:09 +00:00
|
|
|
|
2005-02-23 08:57:47 +00:00
|
|
|
static const ber_sequence_t SEQUENCE_OF_MatchingUse_sequence_of[1] = {
|
2004-11-21 06:40:02 +00:00
|
|
|
{ BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_matchingUse_item },
|
|
|
|
};
|
|
|
|
|
|
|
|
static int
|
2005-02-23 08:57:47 +00:00
|
|
|
dissect_x509if_SEQUENCE_OF_MatchingUse(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
2004-11-21 06:40:02 +00:00
|
|
|
offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
|
2005-07-21 21:12:09 +00:00
|
|
|
SEQUENCE_OF_MatchingUse_sequence_of, hf_index, ett_x509if_SEQUENCE_OF_MatchingUse);
|
2004-11-21 06:40:02 +00:00
|
|
|
|
|
|
|
return offset;
|
|
|
|
}
|
|
|
|
static int dissect_matchingUse(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
2005-02-23 08:57:47 +00:00
|
|
|
return dissect_x509if_SEQUENCE_OF_MatchingUse(FALSE, tvb, offset, pinfo, tree, hf_x509if_matchingUse);
|
2004-11-21 06:40:02 +00:00
|
|
|
}
|
|
|
|
|
2004-12-13 08:15:34 +00:00
|
|
|
static const ber_sequence_t RequestAttribute_sequence[] = {
|
2004-11-21 06:40:02 +00:00
|
|
|
{ BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_attributeType },
|
|
|
|
{ BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_includeSubtypes },
|
2004-12-13 12:43:48 +00:00
|
|
|
{ BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_ra_selectedValues },
|
2004-11-21 06:40:02 +00:00
|
|
|
{ BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_defaultValues },
|
|
|
|
{ BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_contexts },
|
|
|
|
{ BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_contextCombination },
|
|
|
|
{ BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL, dissect_matchingUse },
|
|
|
|
{ 0, 0, 0, NULL }
|
|
|
|
};
|
|
|
|
|
|
|
|
int
|
|
|
|
dissect_x509if_RequestAttribute(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
|
|
|
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
|
|
|
|
RequestAttribute_sequence, hf_index, ett_x509if_RequestAttribute);
|
|
|
|
|
|
|
|
return offset;
|
|
|
|
}
|
|
|
|
static int dissect_inputAttributeTypes_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_RequestAttribute(FALSE, tvb, offset, pinfo, tree, hf_x509if_inputAttributeTypes_item);
|
|
|
|
}
|
|
|
|
|
2005-07-21 21:12:09 +00:00
|
|
|
|
2005-02-23 08:57:47 +00:00
|
|
|
static const ber_sequence_t SEQUENCE_OF_RequestAttribute_sequence_of[1] = {
|
2004-11-21 06:40:02 +00:00
|
|
|
{ BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_inputAttributeTypes_item },
|
|
|
|
};
|
|
|
|
|
|
|
|
static int
|
2005-02-23 08:57:47 +00:00
|
|
|
dissect_x509if_SEQUENCE_OF_RequestAttribute(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
2004-11-21 06:40:02 +00:00
|
|
|
offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
|
2005-07-21 21:12:09 +00:00
|
|
|
SEQUENCE_OF_RequestAttribute_sequence_of, hf_index, ett_x509if_SEQUENCE_OF_RequestAttribute);
|
2004-11-21 06:40:02 +00:00
|
|
|
|
|
|
|
return offset;
|
|
|
|
}
|
|
|
|
static int dissect_inputAttributeTypes(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
2005-02-23 08:57:47 +00:00
|
|
|
return dissect_x509if_SEQUENCE_OF_RequestAttribute(FALSE, tvb, offset, pinfo, tree, hf_x509if_inputAttributeTypes);
|
2004-11-21 06:40:02 +00:00
|
|
|
}
|
|
|
|
|
2005-07-21 21:12:09 +00:00
|
|
|
|
2005-02-23 08:57:47 +00:00
|
|
|
static const ber_sequence_t SEQUENCE_OF_AttributeCombination_sequence_of[1] = {
|
2004-12-13 12:43:48 +00:00
|
|
|
{ BER_CLASS_CON, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_and_item },
|
2004-11-21 06:40:02 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
static int
|
2005-02-23 08:57:47 +00:00
|
|
|
dissect_x509if_SEQUENCE_OF_AttributeCombination(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
2004-11-21 06:40:02 +00:00
|
|
|
offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
|
2005-07-21 21:12:09 +00:00
|
|
|
SEQUENCE_OF_AttributeCombination_sequence_of, hf_index, ett_x509if_SEQUENCE_OF_AttributeCombination);
|
2004-11-21 06:40:02 +00:00
|
|
|
|
|
|
|
return offset;
|
|
|
|
}
|
2004-12-13 12:43:48 +00:00
|
|
|
static int dissect_and(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
2005-02-23 08:57:47 +00:00
|
|
|
return dissect_x509if_SEQUENCE_OF_AttributeCombination(FALSE, tvb, offset, pinfo, tree, hf_x509if_and);
|
2004-11-21 06:40:02 +00:00
|
|
|
}
|
2004-12-13 12:43:48 +00:00
|
|
|
static int dissect_or(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
2005-02-23 08:57:47 +00:00
|
|
|
return dissect_x509if_SEQUENCE_OF_AttributeCombination(FALSE, tvb, offset, pinfo, tree, hf_x509if_or);
|
2004-11-21 06:40:02 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
2005-02-23 08:57:47 +00:00
|
|
|
const value_string x509if_AttributeCombination_vals[] = {
|
2004-11-21 06:40:02 +00:00
|
|
|
{ 0, "attribute" },
|
|
|
|
{ 1, "and" },
|
|
|
|
{ 2, "or" },
|
|
|
|
{ 3, "not" },
|
|
|
|
{ 0, NULL }
|
|
|
|
};
|
|
|
|
|
2004-12-13 08:15:34 +00:00
|
|
|
static const ber_choice_t AttributeCombination_choice[] = {
|
2004-11-21 06:40:02 +00:00
|
|
|
{ 0, BER_CLASS_CON, 0, 0, dissect_attribute },
|
2004-12-13 12:43:48 +00:00
|
|
|
{ 1, BER_CLASS_CON, 1, 0, dissect_and },
|
|
|
|
{ 2, BER_CLASS_CON, 2, 0, dissect_or },
|
|
|
|
{ 3, BER_CLASS_CON, 3, 0, dissect_not },
|
2004-11-21 06:40:02 +00:00
|
|
|
{ 0, 0, 0, 0, NULL }
|
|
|
|
};
|
|
|
|
|
|
|
|
int
|
|
|
|
dissect_x509if_AttributeCombination(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
2005-07-21 21:12:09 +00:00
|
|
|
offset = dissect_ber_choice(pinfo, tree, tvb, offset,
|
2005-06-26 05:48:50 +00:00
|
|
|
AttributeCombination_choice, hf_index, ett_x509if_AttributeCombination, NULL);
|
2004-11-21 06:40:02 +00:00
|
|
|
|
|
|
|
return offset;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2005-02-23 08:57:47 +00:00
|
|
|
static const value_string x509if_T_outputValues_vals[] = {
|
2004-11-21 06:40:02 +00:00
|
|
|
{ 0, "selectedValues" },
|
|
|
|
{ 1, "matchedValuesOnly" },
|
|
|
|
{ 0, NULL }
|
|
|
|
};
|
|
|
|
|
2004-12-13 08:15:34 +00:00
|
|
|
static const ber_choice_t T_outputValues_choice[] = {
|
2004-12-13 12:43:48 +00:00
|
|
|
{ 0, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_selectedValues },
|
2004-11-21 06:40:02 +00:00
|
|
|
{ 1, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_matchedValuesOnly },
|
|
|
|
{ 0, 0, 0, 0, NULL }
|
|
|
|
};
|
|
|
|
|
|
|
|
static int
|
|
|
|
dissect_x509if_T_outputValues(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
2005-07-21 21:12:09 +00:00
|
|
|
offset = dissect_ber_choice(pinfo, tree, tvb, offset,
|
2005-06-26 05:48:50 +00:00
|
|
|
T_outputValues_choice, hf_index, ett_x509if_T_outputValues, NULL);
|
2004-11-21 06:40:02 +00:00
|
|
|
|
|
|
|
return offset;
|
|
|
|
}
|
|
|
|
static int dissect_outputValues(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_T_outputValues(FALSE, tvb, offset, pinfo, tree, hf_x509if_outputValues);
|
|
|
|
}
|
|
|
|
|
2004-12-13 08:15:34 +00:00
|
|
|
static const ber_sequence_t ResultAttribute_sequence[] = {
|
2004-11-21 06:40:02 +00:00
|
|
|
{ BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_attributeType },
|
|
|
|
{ BER_CLASS_UNI, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_outputValues },
|
|
|
|
{ BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_contexts },
|
|
|
|
{ 0, 0, 0, NULL }
|
|
|
|
};
|
|
|
|
|
|
|
|
int
|
|
|
|
dissect_x509if_ResultAttribute(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
|
|
|
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
|
|
|
|
ResultAttribute_sequence, hf_index, ett_x509if_ResultAttribute);
|
|
|
|
|
|
|
|
return offset;
|
|
|
|
}
|
|
|
|
static int dissect_outputAttributeTypes_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_ResultAttribute(FALSE, tvb, offset, pinfo, tree, hf_x509if_outputAttributeTypes_item);
|
|
|
|
}
|
|
|
|
|
2005-07-21 21:12:09 +00:00
|
|
|
|
2005-02-23 08:57:47 +00:00
|
|
|
static const ber_sequence_t SEQUENCE_OF_ResultAttribute_sequence_of[1] = {
|
2004-11-21 06:40:02 +00:00
|
|
|
{ BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_outputAttributeTypes_item },
|
|
|
|
};
|
|
|
|
|
|
|
|
static int
|
2005-02-23 08:57:47 +00:00
|
|
|
dissect_x509if_SEQUENCE_OF_ResultAttribute(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
2004-11-21 06:40:02 +00:00
|
|
|
offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
|
2005-07-21 21:12:09 +00:00
|
|
|
SEQUENCE_OF_ResultAttribute_sequence_of, hf_index, ett_x509if_SEQUENCE_OF_ResultAttribute);
|
2004-11-21 06:40:02 +00:00
|
|
|
|
|
|
|
return offset;
|
|
|
|
}
|
|
|
|
static int dissect_outputAttributeTypes(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
2005-02-23 08:57:47 +00:00
|
|
|
return dissect_x509if_SEQUENCE_OF_ResultAttribute(FALSE, tvb, offset, pinfo, tree, hf_x509if_outputAttributeTypes);
|
2004-11-21 06:40:02 +00:00
|
|
|
}
|
|
|
|
|
2004-12-13 08:15:34 +00:00
|
|
|
static const ber_sequence_t ControlOptions_sequence[] = {
|
2004-11-21 06:40:02 +00:00
|
|
|
{ 0, 0, 0, NULL }
|
|
|
|
};
|
|
|
|
|
|
|
|
int
|
|
|
|
dissect_x509if_ControlOptions(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
|
|
|
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
|
|
|
|
ControlOptions_sequence, hf_index, ett_x509if_ControlOptions);
|
|
|
|
|
|
|
|
return offset;
|
|
|
|
}
|
|
|
|
static int dissect_defaultControls(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_ControlOptions(FALSE, tvb, offset, pinfo, tree, hf_x509if_defaultControls);
|
|
|
|
}
|
|
|
|
static int dissect_mandatoryControls(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_ControlOptions(FALSE, tvb, offset, pinfo, tree, hf_x509if_mandatoryControls);
|
|
|
|
}
|
|
|
|
static int dissect_searchRuleControls(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_ControlOptions(FALSE, tvb, offset, pinfo, tree, hf_x509if_searchRuleControls);
|
|
|
|
}
|
|
|
|
|
2004-12-13 08:15:34 +00:00
|
|
|
static const ber_sequence_t Mapping_sequence[] = {
|
2004-11-21 06:40:02 +00:00
|
|
|
{ BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_mappingFunction },
|
|
|
|
{ BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_level },
|
|
|
|
{ 0, 0, 0, NULL }
|
|
|
|
};
|
|
|
|
|
|
|
|
int
|
|
|
|
dissect_x509if_Mapping(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
|
|
|
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
|
|
|
|
Mapping_sequence, hf_index, ett_x509if_Mapping);
|
|
|
|
|
|
|
|
return offset;
|
|
|
|
}
|
|
|
|
static int dissect_mapping_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_Mapping(FALSE, tvb, offset, pinfo, tree, hf_x509if_mapping_item);
|
|
|
|
}
|
|
|
|
|
2005-07-21 21:12:09 +00:00
|
|
|
|
2005-02-23 08:57:47 +00:00
|
|
|
static const ber_sequence_t SEQUENCE_OF_Mapping_sequence_of[1] = {
|
2004-11-21 06:40:02 +00:00
|
|
|
{ BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_mapping_item },
|
|
|
|
};
|
|
|
|
|
|
|
|
static int
|
2005-02-23 08:57:47 +00:00
|
|
|
dissect_x509if_SEQUENCE_OF_Mapping(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
2004-11-21 06:40:02 +00:00
|
|
|
offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
|
2005-07-21 21:12:09 +00:00
|
|
|
SEQUENCE_OF_Mapping_sequence_of, hf_index, ett_x509if_SEQUENCE_OF_Mapping);
|
2004-11-21 06:40:02 +00:00
|
|
|
|
|
|
|
return offset;
|
|
|
|
}
|
|
|
|
static int dissect_mapping(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
2005-02-23 08:57:47 +00:00
|
|
|
return dissect_x509if_SEQUENCE_OF_Mapping(FALSE, tvb, offset, pinfo, tree, hf_x509if_mapping);
|
2004-11-21 06:40:02 +00:00
|
|
|
}
|
|
|
|
|
2004-12-13 08:15:34 +00:00
|
|
|
static const ber_sequence_t MRSubstitution_sequence[] = {
|
2004-11-21 06:40:02 +00:00
|
|
|
{ BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_attribute },
|
|
|
|
{ BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_oldMatchingRule },
|
|
|
|
{ BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_newMatchingRule },
|
|
|
|
{ 0, 0, 0, NULL }
|
|
|
|
};
|
|
|
|
|
|
|
|
int
|
|
|
|
dissect_x509if_MRSubstitution(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
|
|
|
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
|
|
|
|
MRSubstitution_sequence, hf_index, ett_x509if_MRSubstitution);
|
|
|
|
|
|
|
|
return offset;
|
|
|
|
}
|
|
|
|
static int dissect_substitution_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_MRSubstitution(FALSE, tvb, offset, pinfo, tree, hf_x509if_substitution_item);
|
|
|
|
}
|
|
|
|
|
2005-07-21 21:12:09 +00:00
|
|
|
|
2005-02-23 08:57:47 +00:00
|
|
|
static const ber_sequence_t SEQUENCE_OF_MRSubstitution_sequence_of[1] = {
|
2004-11-21 06:40:02 +00:00
|
|
|
{ BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_substitution_item },
|
|
|
|
};
|
|
|
|
|
|
|
|
static int
|
2005-02-23 08:57:47 +00:00
|
|
|
dissect_x509if_SEQUENCE_OF_MRSubstitution(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
2004-11-21 06:40:02 +00:00
|
|
|
offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
|
2005-07-21 21:12:09 +00:00
|
|
|
SEQUENCE_OF_MRSubstitution_sequence_of, hf_index, ett_x509if_SEQUENCE_OF_MRSubstitution);
|
2004-11-21 06:40:02 +00:00
|
|
|
|
|
|
|
return offset;
|
|
|
|
}
|
|
|
|
static int dissect_substitution(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
2005-02-23 08:57:47 +00:00
|
|
|
return dissect_x509if_SEQUENCE_OF_MRSubstitution(FALSE, tvb, offset, pinfo, tree, hf_x509if_substitution);
|
2004-11-21 06:40:02 +00:00
|
|
|
}
|
|
|
|
|
2004-12-13 08:15:34 +00:00
|
|
|
static const ber_sequence_t MRMapping_sequence[] = {
|
2004-11-21 06:40:02 +00:00
|
|
|
{ BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_mapping },
|
|
|
|
{ BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_substitution },
|
|
|
|
{ 0, 0, 0, NULL }
|
|
|
|
};
|
|
|
|
|
|
|
|
int
|
|
|
|
dissect_x509if_MRMapping(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
|
|
|
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
|
|
|
|
MRMapping_sequence, hf_index, ett_x509if_MRMapping);
|
|
|
|
|
|
|
|
return offset;
|
|
|
|
}
|
|
|
|
static int dissect_basic(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_MRMapping(FALSE, tvb, offset, pinfo, tree, hf_x509if_basic);
|
|
|
|
}
|
|
|
|
static int dissect_tightenings_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_MRMapping(FALSE, tvb, offset, pinfo, tree, hf_x509if_tightenings_item);
|
|
|
|
}
|
|
|
|
static int dissect_relaxations_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_MRMapping(FALSE, tvb, offset, pinfo, tree, hf_x509if_relaxations_item);
|
|
|
|
}
|
|
|
|
|
2005-07-21 21:12:09 +00:00
|
|
|
|
2005-02-23 08:57:47 +00:00
|
|
|
static const ber_sequence_t SEQUENCE_OF_MRMapping_sequence_of[1] = {
|
2004-11-21 06:40:02 +00:00
|
|
|
{ BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_tightenings_item },
|
|
|
|
};
|
|
|
|
|
|
|
|
static int
|
2005-02-23 08:57:47 +00:00
|
|
|
dissect_x509if_SEQUENCE_OF_MRMapping(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
2004-11-21 06:40:02 +00:00
|
|
|
offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
|
2005-07-21 21:12:09 +00:00
|
|
|
SEQUENCE_OF_MRMapping_sequence_of, hf_index, ett_x509if_SEQUENCE_OF_MRMapping);
|
2004-11-21 06:40:02 +00:00
|
|
|
|
|
|
|
return offset;
|
|
|
|
}
|
|
|
|
static int dissect_tightenings(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
2005-02-23 08:57:47 +00:00
|
|
|
return dissect_x509if_SEQUENCE_OF_MRMapping(FALSE, tvb, offset, pinfo, tree, hf_x509if_tightenings);
|
2004-11-21 06:40:02 +00:00
|
|
|
}
|
|
|
|
static int dissect_relaxations(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
2005-02-23 08:57:47 +00:00
|
|
|
return dissect_x509if_SEQUENCE_OF_MRMapping(FALSE, tvb, offset, pinfo, tree, hf_x509if_relaxations);
|
2004-11-21 06:40:02 +00:00
|
|
|
}
|
|
|
|
|
2004-12-13 08:15:34 +00:00
|
|
|
static const ber_sequence_t RelaxationPolicy_sequence[] = {
|
2004-11-21 06:40:02 +00:00
|
|
|
{ BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_basic },
|
|
|
|
{ BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_tightenings },
|
|
|
|
{ BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_relaxations },
|
2004-12-13 12:43:48 +00:00
|
|
|
{ BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_maximum_relaxation },
|
|
|
|
{ BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL, dissect_minimum_relaxation },
|
2004-11-21 06:40:02 +00:00
|
|
|
{ 0, 0, 0, NULL }
|
|
|
|
};
|
|
|
|
|
|
|
|
int
|
|
|
|
dissect_x509if_RelaxationPolicy(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
|
|
|
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
|
|
|
|
RelaxationPolicy_sequence, hf_index, ett_x509if_RelaxationPolicy);
|
|
|
|
|
|
|
|
return offset;
|
|
|
|
}
|
|
|
|
static int dissect_relaxation(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_RelaxationPolicy(FALSE, tvb, offset, pinfo, tree, hf_x509if_relaxation);
|
|
|
|
}
|
|
|
|
|
2005-07-21 21:12:09 +00:00
|
|
|
|
2005-02-23 08:57:47 +00:00
|
|
|
static const ber_sequence_t SEQUENCE_OF_AttributeType_sequence_of[1] = {
|
2004-11-21 06:40:02 +00:00
|
|
|
{ BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_additionalControl_item },
|
|
|
|
};
|
2004-07-20 09:11:40 +00:00
|
|
|
|
|
|
|
static int
|
2005-02-23 08:57:47 +00:00
|
|
|
dissect_x509if_SEQUENCE_OF_AttributeType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
2004-11-21 06:40:02 +00:00
|
|
|
offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
|
2005-07-21 21:12:09 +00:00
|
|
|
SEQUENCE_OF_AttributeType_sequence_of, hf_index, ett_x509if_SEQUENCE_OF_AttributeType);
|
2004-11-21 06:40:02 +00:00
|
|
|
|
|
|
|
return offset;
|
|
|
|
}
|
|
|
|
static int dissect_additionalControl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
2005-02-23 08:57:47 +00:00
|
|
|
return dissect_x509if_SEQUENCE_OF_AttributeType(FALSE, tvb, offset, pinfo, tree, hf_x509if_additionalControl);
|
2004-11-21 06:40:02 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
static const asn_namedbit AllowedSubset_bits[] = {
|
2005-06-26 05:48:50 +00:00
|
|
|
{ 0, &hf_x509if_AllowedSubset_baseObject, -1, -1, "baseObject", NULL },
|
|
|
|
{ 1, &hf_x509if_AllowedSubset_oneLevel, -1, -1, "oneLevel", NULL },
|
|
|
|
{ 2, &hf_x509if_AllowedSubset_wholeSubtree, -1, -1, "wholeSubtree", NULL },
|
2004-11-21 06:40:02 +00:00
|
|
|
{ 0, NULL, 0, 0, NULL, NULL }
|
|
|
|
};
|
|
|
|
|
|
|
|
int
|
|
|
|
dissect_x509if_AllowedSubset(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
|
|
|
offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
|
|
|
|
AllowedSubset_bits, hf_index, ett_x509if_AllowedSubset,
|
|
|
|
NULL);
|
|
|
|
|
|
|
|
return offset;
|
|
|
|
}
|
|
|
|
static int dissect_allowedSubset(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_AllowedSubset(FALSE, tvb, offset, pinfo, tree, hf_x509if_allowedSubset);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2005-02-23 08:57:47 +00:00
|
|
|
const value_string x509if_ImposedSubset_vals[] = {
|
2004-11-21 06:40:02 +00:00
|
|
|
{ 0, "baseObject" },
|
|
|
|
{ 1, "oneLevel" },
|
|
|
|
{ 2, "wholeSubtree" },
|
|
|
|
{ 0, NULL }
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
int
|
2004-11-20 07:11:08 +00:00
|
|
|
dissect_x509if_ImposedSubset(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
2005-07-21 21:12:09 +00:00
|
|
|
offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
|
|
|
|
NULL);
|
2004-07-20 09:11:40 +00:00
|
|
|
|
|
|
|
return offset;
|
|
|
|
}
|
2004-11-21 06:40:02 +00:00
|
|
|
static int dissect_imposedSubset(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_ImposedSubset(FALSE, tvb, offset, pinfo, tree, hf_x509if_imposedSubset);
|
|
|
|
}
|
|
|
|
|
2004-12-13 08:15:34 +00:00
|
|
|
static const ber_sequence_t EntryLimit_sequence[] = {
|
2004-11-21 06:40:02 +00:00
|
|
|
{ BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_default },
|
|
|
|
{ BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_max },
|
|
|
|
{ 0, 0, 0, NULL }
|
|
|
|
};
|
|
|
|
|
|
|
|
int
|
|
|
|
dissect_x509if_EntryLimit(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
|
|
|
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
|
|
|
|
EntryLimit_sequence, hf_index, ett_x509if_EntryLimit);
|
|
|
|
|
|
|
|
return offset;
|
|
|
|
}
|
|
|
|
static int dissect_entryLimit(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_EntryLimit(FALSE, tvb, offset, pinfo, tree, hf_x509if_entryLimit);
|
|
|
|
}
|
|
|
|
|
2005-07-21 21:12:09 +00:00
|
|
|
|
2004-12-13 08:15:34 +00:00
|
|
|
static const ber_sequence_t SET_OF_DirectoryString_set_of[1] = {
|
2004-11-21 06:40:02 +00:00
|
|
|
{ BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_name_item },
|
|
|
|
};
|
|
|
|
|
|
|
|
static int
|
|
|
|
dissect_x509if_SET_OF_DirectoryString(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
|
|
|
offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
|
2005-07-21 21:12:09 +00:00
|
|
|
SET_OF_DirectoryString_set_of, hf_index, ett_x509if_SET_OF_DirectoryString);
|
2004-11-21 06:40:02 +00:00
|
|
|
|
|
|
|
return offset;
|
|
|
|
}
|
|
|
|
static int dissect_name(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
|
|
return dissect_x509if_SET_OF_DirectoryString(FALSE, tvb, offset, pinfo, tree, hf_x509if_name);
|
|
|
|
}
|
|
|
|
|
2004-12-13 08:15:34 +00:00
|
|
|
static const ber_sequence_t SearchRuleDescription_sequence[] = {
|
2004-11-21 06:40:02 +00:00
|
|
|
{ BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_id },
|
|
|
|
{ BER_CLASS_CON, 0, 0, dissect_dmdId },
|
|
|
|
{ BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_serviceType },
|
|
|
|
{ BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_userClass },
|
|
|
|
{ BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_inputAttributeTypes },
|
|
|
|
{ BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_attributeCombination },
|
|
|
|
{ BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL, dissect_outputAttributeTypes },
|
|
|
|
{ BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL, dissect_defaultControls },
|
|
|
|
{ BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL, dissect_mandatoryControls },
|
|
|
|
{ BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL, dissect_searchRuleControls },
|
|
|
|
{ BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL, dissect_relaxation },
|
|
|
|
{ BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL, dissect_additionalControl },
|
|
|
|
{ BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL, dissect_allowedSubset },
|
|
|
|
{ BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL, dissect_imposedSubset },
|
|
|
|
{ BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL, dissect_entryLimit },
|
|
|
|
{ BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL, dissect_name },
|
|
|
|
{ BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL, dissect_description },
|
|
|
|
{ BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL, dissect_obsolete },
|
|
|
|
{ 0, 0, 0, NULL }
|
|
|
|
};
|
|
|
|
|
|
|
|
int
|
|
|
|
dissect_x509if_SearchRuleDescription(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
|
|
|
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
|
|
|
|
SearchRuleDescription_sequence, hf_index, ett_x509if_SearchRuleDescription);
|
|
|
|
|
|
|
|
return offset;
|
|
|
|
}
|
|
|
|
|
2004-12-13 08:15:34 +00:00
|
|
|
static const ber_sequence_t SearchRule_sequence[] = {
|
2004-11-21 06:40:02 +00:00
|
|
|
{ BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_id },
|
|
|
|
{ BER_CLASS_CON, 0, 0, dissect_dmdId },
|
|
|
|
{ BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_serviceType },
|
|
|
|
{ BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_userClass },
|
|
|
|
{ BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_inputAttributeTypes },
|
|
|
|
{ BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_attributeCombination },
|
|
|
|
{ BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL, dissect_outputAttributeTypes },
|
|
|
|
{ BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL, dissect_defaultControls },
|
|
|
|
{ BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL, dissect_mandatoryControls },
|
|
|
|
{ BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL, dissect_searchRuleControls },
|
|
|
|
{ BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL, dissect_relaxation },
|
|
|
|
{ BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL, dissect_additionalControl },
|
|
|
|
{ BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL, dissect_allowedSubset },
|
|
|
|
{ BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL, dissect_imposedSubset },
|
|
|
|
{ BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL, dissect_entryLimit },
|
|
|
|
{ 0, 0, 0, NULL }
|
|
|
|
};
|
|
|
|
|
|
|
|
int
|
|
|
|
dissect_x509if_SearchRule(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
|
|
|
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
|
|
|
|
SearchRule_sequence, hf_index, ett_x509if_SearchRule);
|
|
|
|
|
|
|
|
return offset;
|
|
|
|
}
|
|
|
|
|
2004-12-13 08:15:34 +00:00
|
|
|
static const ber_sequence_t SearchRuleId_sequence[] = {
|
2004-11-21 06:40:02 +00:00
|
|
|
{ BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_id },
|
|
|
|
{ BER_CLASS_CON, 0, 0, dissect_dmdId },
|
|
|
|
{ 0, 0, 0, NULL }
|
|
|
|
};
|
|
|
|
|
|
|
|
int
|
|
|
|
dissect_x509if_SearchRuleId(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
|
|
|
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
|
|
|
|
SearchRuleId_sequence, hf_index, ett_x509if_SearchRuleId);
|
|
|
|
|
|
|
|
return offset;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2005-02-23 08:57:47 +00:00
|
|
|
const value_string x509if_OutputValues_vals[] = {
|
2004-11-21 06:40:02 +00:00
|
|
|
{ 0, "selectedValues" },
|
|
|
|
{ 1, "matchedValuesOnly" },
|
|
|
|
{ 0, NULL }
|
|
|
|
};
|
|
|
|
|
2004-12-13 08:15:34 +00:00
|
|
|
static const ber_choice_t OutputValues_choice[] = {
|
2004-12-13 12:43:48 +00:00
|
|
|
{ 0, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_selectedValues },
|
2004-11-21 06:40:02 +00:00
|
|
|
{ 1, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_matchedValuesOnly },
|
|
|
|
{ 0, 0, 0, 0, NULL }
|
|
|
|
};
|
|
|
|
|
|
|
|
int
|
|
|
|
dissect_x509if_OutputValues(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
2005-07-21 21:12:09 +00:00
|
|
|
offset = dissect_ber_choice(pinfo, tree, tvb, offset,
|
2005-06-26 05:48:50 +00:00
|
|
|
OutputValues_choice, hf_index, ett_x509if_OutputValues, NULL);
|
2004-11-21 06:40:02 +00:00
|
|
|
|
|
|
|
return offset;
|
|
|
|
}
|
2004-07-20 09:11:40 +00:00
|
|
|
|
|
|
|
|
|
|
|
/*--- End of included file: packet-x509if-fn.c ---*/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*--- proto_register_x509if ----------------------------------------------*/
|
|
|
|
void proto_register_x509if(void) {
|
|
|
|
|
|
|
|
/* List of fields */
|
|
|
|
static hf_register_info hf[] = {
|
2004-10-29 11:11:11 +00:00
|
|
|
{ &hf_x509if_object_identifier_id,
|
|
|
|
{ "Id", "x509if.id", FT_STRING, BASE_NONE, NULL, 0,
|
|
|
|
"Object identifier Id", HFILL }},
|
|
|
|
|
2004-07-20 09:11:40 +00:00
|
|
|
|
|
|
|
/*--- Included file: packet-x509if-hfarr.c ---*/
|
|
|
|
|
2004-10-29 11:39:58 +00:00
|
|
|
{ &hf_x509if_type,
|
|
|
|
{ "type", "x509if.type",
|
|
|
|
FT_STRING, BASE_NONE, NULL, 0,
|
|
|
|
"", HFILL }},
|
2004-11-14 09:48:11 +00:00
|
|
|
{ &hf_x509if_values,
|
|
|
|
{ "values", "x509if.values",
|
2005-07-21 21:12:09 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
2004-11-14 09:48:11 +00:00
|
|
|
"Attribute/values", HFILL }},
|
|
|
|
{ &hf_x509if_values_item,
|
|
|
|
{ "Item", "x509if.values_item",
|
|
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
|
|
"Attribute/values/_item", HFILL }},
|
2004-11-21 06:40:02 +00:00
|
|
|
{ &hf_x509if_valuesWithContext,
|
|
|
|
{ "valuesWithContext", "x509if.valuesWithContext",
|
2005-07-21 21:12:09 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
2004-11-21 06:40:02 +00:00
|
|
|
"Attribute/valuesWithContext", HFILL }},
|
|
|
|
{ &hf_x509if_valuesWithContext_item,
|
|
|
|
{ "Item", "x509if.valuesWithContext_item",
|
|
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
|
|
"Attribute/valuesWithContext/_item", HFILL }},
|
|
|
|
{ &hf_x509if_value,
|
|
|
|
{ "value", "x509if.value",
|
|
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
|
|
"Attribute/valuesWithContext/_item/value", HFILL }},
|
|
|
|
{ &hf_x509if_contextList,
|
|
|
|
{ "contextList", "x509if.contextList",
|
2005-07-21 21:12:09 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
2004-11-21 06:40:02 +00:00
|
|
|
"", HFILL }},
|
|
|
|
{ &hf_x509if_contextList_item,
|
|
|
|
{ "Item", "x509if.contextList_item",
|
|
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
|
|
"", HFILL }},
|
|
|
|
{ &hf_x509if_contextType,
|
|
|
|
{ "contextType", "x509if.contextType",
|
|
|
|
FT_STRING, BASE_NONE, NULL, 0,
|
|
|
|
"", HFILL }},
|
|
|
|
{ &hf_x509if_contextValues,
|
|
|
|
{ "contextValues", "x509if.contextValues",
|
2005-07-21 21:12:09 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
2004-11-21 06:40:02 +00:00
|
|
|
"Context/contextValues", HFILL }},
|
|
|
|
{ &hf_x509if_contextValues_item,
|
|
|
|
{ "Item", "x509if.contextValues_item",
|
|
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
|
|
"Context/contextValues/_item", HFILL }},
|
|
|
|
{ &hf_x509if_fallback,
|
|
|
|
{ "fallback", "x509if.fallback",
|
|
|
|
FT_BOOLEAN, 8, NULL, 0,
|
|
|
|
"Context/fallback", HFILL }},
|
|
|
|
{ &hf_x509if_assertion,
|
|
|
|
{ "assertion", "x509if.assertion",
|
|
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
|
|
"AttributeValueAssertion/assertion", HFILL }},
|
|
|
|
{ &hf_x509if_assertedContexts,
|
|
|
|
{ "assertedContexts", "x509if.assertedContexts",
|
2005-02-23 08:57:47 +00:00
|
|
|
FT_UINT32, BASE_DEC, VALS(x509if_T_assertedContexts_vals), 0,
|
2004-11-21 06:40:02 +00:00
|
|
|
"AttributeValueAssertion/assertedContexts", HFILL }},
|
|
|
|
{ &hf_x509if_allContexts,
|
|
|
|
{ "allContexts", "x509if.allContexts",
|
|
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
|
|
"AttributeValueAssertion/assertedContexts/allContexts", HFILL }},
|
|
|
|
{ &hf_x509if_selectedContexts,
|
|
|
|
{ "selectedContexts", "x509if.selectedContexts",
|
2005-07-21 21:12:09 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
2004-11-21 06:40:02 +00:00
|
|
|
"AttributeValueAssertion/assertedContexts/selectedContexts", HFILL }},
|
|
|
|
{ &hf_x509if_selectedContexts_item,
|
|
|
|
{ "Item", "x509if.selectedContexts_item",
|
|
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
|
|
"AttributeValueAssertion/assertedContexts/selectedContexts/_item", HFILL }},
|
2004-12-13 12:43:48 +00:00
|
|
|
{ &hf_x509if_ca_contextType,
|
2004-11-21 06:40:02 +00:00
|
|
|
{ "contextType", "x509if.contextType",
|
|
|
|
FT_STRING, BASE_NONE, NULL, 0,
|
|
|
|
"ContextAssertion/contextType", HFILL }},
|
2004-12-13 12:43:48 +00:00
|
|
|
{ &hf_x509if_ca_contextValues,
|
2004-11-21 06:40:02 +00:00
|
|
|
{ "contextValues", "x509if.contextValues",
|
2005-07-21 21:12:09 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
2004-11-21 06:40:02 +00:00
|
|
|
"ContextAssertion/contextValues", HFILL }},
|
2004-12-13 12:43:48 +00:00
|
|
|
{ &hf_x509if_ca_contextValues_item,
|
2004-11-21 06:40:02 +00:00
|
|
|
{ "Item", "x509if.contextValues_item",
|
|
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
|
|
"ContextAssertion/contextValues/_item", HFILL }},
|
2004-12-13 12:43:48 +00:00
|
|
|
{ &hf_x509if_ata_assertedContexts,
|
2004-11-21 06:40:02 +00:00
|
|
|
{ "assertedContexts", "x509if.assertedContexts",
|
2005-07-21 21:12:09 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
2004-11-21 06:40:02 +00:00
|
|
|
"AttributeTypeAssertion/assertedContexts", HFILL }},
|
|
|
|
{ &hf_x509if_assertedContexts_item,
|
|
|
|
{ "Item", "x509if.assertedContexts_item",
|
|
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
|
|
"AttributeTypeAssertion/assertedContexts/_item", HFILL }},
|
2004-07-20 09:11:40 +00:00
|
|
|
{ &hf_x509if_rdnSequence,
|
|
|
|
{ "rdnSequence", "x509if.rdnSequence",
|
2005-07-21 21:12:09 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
2004-07-20 09:11:40 +00:00
|
|
|
"Name/rdnSequence", HFILL }},
|
|
|
|
{ &hf_x509if_RDNSequence_item,
|
2004-10-11 18:36:51 +00:00
|
|
|
{ "Item", "x509if.RDNSequence_item",
|
2005-07-21 21:12:09 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
2004-07-20 09:11:40 +00:00
|
|
|
"RDNSequence/_item", HFILL }},
|
|
|
|
{ &hf_x509if_RelativeDistinguishedName_item,
|
2004-10-11 18:36:51 +00:00
|
|
|
{ "Item", "x509if.RelativeDistinguishedName_item",
|
2004-07-20 09:11:40 +00:00
|
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
|
|
"RelativeDistinguishedName/_item", HFILL }},
|
2004-12-13 12:43:48 +00:00
|
|
|
{ &hf_x509if_atadv_value,
|
2004-10-29 11:11:11 +00:00
|
|
|
{ "value", "x509if.value",
|
|
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
|
|
"AttributeTypeAndDistinguishedValue/value", HFILL }},
|
|
|
|
{ &hf_x509if_primaryDistinguished,
|
|
|
|
{ "primaryDistinguished", "x509if.primaryDistinguished",
|
|
|
|
FT_BOOLEAN, 8, NULL, 0,
|
|
|
|
"AttributeTypeAndDistinguishedValue/primaryDistinguished", HFILL }},
|
2004-12-13 12:43:48 +00:00
|
|
|
{ &hf_x509if_valueswithContext,
|
2004-11-21 06:40:02 +00:00
|
|
|
{ "valuesWithContext", "x509if.valuesWithContext",
|
2005-07-21 21:12:09 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
2004-11-21 06:40:02 +00:00
|
|
|
"AttributeTypeAndDistinguishedValue/valuesWithContext", HFILL }},
|
2004-12-13 12:43:48 +00:00
|
|
|
{ &hf_x509if_valueswithContext_item,
|
2004-11-21 06:40:02 +00:00
|
|
|
{ "Item", "x509if.valuesWithContext_item",
|
|
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
|
|
"AttributeTypeAndDistinguishedValue/valuesWithContext/_item", HFILL }},
|
|
|
|
{ &hf_x509if_distingAttrValue,
|
|
|
|
{ "distingAttrValue", "x509if.distingAttrValue",
|
|
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
|
|
"AttributeTypeAndDistinguishedValue/valuesWithContext/_item/distingAttrValue", HFILL }},
|
|
|
|
{ &hf_x509if_base,
|
|
|
|
{ "base", "x509if.base",
|
2005-07-21 21:12:09 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
2004-11-21 06:40:02 +00:00
|
|
|
"SubtreeSpecification/base", HFILL }},
|
|
|
|
{ &hf_x509if_specificExclusions,
|
|
|
|
{ "specificExclusions", "x509if.specificExclusions",
|
2005-07-21 21:12:09 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
2004-11-21 06:40:02 +00:00
|
|
|
"SubtreeSpecification/specificExclusions", HFILL }},
|
|
|
|
{ &hf_x509if_specificExclusions_item,
|
|
|
|
{ "Item", "x509if.specificExclusions_item",
|
2005-02-23 08:57:47 +00:00
|
|
|
FT_UINT32, BASE_DEC, VALS(x509if_T_specificExclusions_item_vals), 0,
|
2004-11-21 06:40:02 +00:00
|
|
|
"SubtreeSpecification/specificExclusions/_item", HFILL }},
|
|
|
|
{ &hf_x509if_chopBefore,
|
|
|
|
{ "chopBefore", "x509if.chopBefore",
|
2005-07-21 21:12:09 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
2004-11-21 06:40:02 +00:00
|
|
|
"", HFILL }},
|
|
|
|
{ &hf_x509if_chopAfter,
|
|
|
|
{ "chopAfter", "x509if.chopAfter",
|
2005-07-21 21:12:09 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
2004-11-21 06:40:02 +00:00
|
|
|
"", HFILL }},
|
|
|
|
{ &hf_x509if_minimum,
|
|
|
|
{ "minimum", "x509if.minimum",
|
|
|
|
FT_INT32, BASE_DEC, NULL, 0,
|
|
|
|
"", HFILL }},
|
|
|
|
{ &hf_x509if_maximum,
|
|
|
|
{ "maximum", "x509if.maximum",
|
|
|
|
FT_INT32, BASE_DEC, NULL, 0,
|
|
|
|
"", HFILL }},
|
|
|
|
{ &hf_x509if_specificationFilter,
|
|
|
|
{ "specificationFilter", "x509if.specificationFilter",
|
2005-02-23 08:57:47 +00:00
|
|
|
FT_UINT32, BASE_DEC, VALS(x509if_Refinement_vals), 0,
|
2004-11-21 06:40:02 +00:00
|
|
|
"SubtreeSpecification/specificationFilter", HFILL }},
|
2004-12-13 12:43:48 +00:00
|
|
|
{ &hf_x509if_chopSpecificExclusions,
|
2004-11-21 06:40:02 +00:00
|
|
|
{ "specificExclusions", "x509if.specificExclusions",
|
2005-07-21 21:12:09 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
2004-11-21 06:40:02 +00:00
|
|
|
"ChopSpecification/specificExclusions", HFILL }},
|
2004-12-13 12:43:48 +00:00
|
|
|
{ &hf_x509if_chopSpecificExclusions_item,
|
2004-11-21 06:40:02 +00:00
|
|
|
{ "Item", "x509if.specificExclusions_item",
|
2005-02-23 08:57:47 +00:00
|
|
|
FT_UINT32, BASE_DEC, VALS(x509if_T_chopSpecificExclusions_item_vals), 0,
|
2004-11-21 06:40:02 +00:00
|
|
|
"ChopSpecification/specificExclusions/_item", HFILL }},
|
|
|
|
{ &hf_x509if_item,
|
|
|
|
{ "item", "x509if.item",
|
|
|
|
FT_STRING, BASE_NONE, NULL, 0,
|
|
|
|
"Refinement/item", HFILL }},
|
2004-12-13 12:43:48 +00:00
|
|
|
{ &hf_x509if_refinement_and,
|
2004-11-21 06:40:02 +00:00
|
|
|
{ "and", "x509if.and",
|
2005-07-21 21:12:09 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
2004-11-21 06:40:02 +00:00
|
|
|
"Refinement/and", HFILL }},
|
2004-12-13 12:43:48 +00:00
|
|
|
{ &hf_x509if_refinement_and_item,
|
2004-11-21 06:40:02 +00:00
|
|
|
{ "Item", "x509if.and_item",
|
2005-02-23 08:57:47 +00:00
|
|
|
FT_UINT32, BASE_DEC, VALS(x509if_Refinement_vals), 0,
|
2004-11-21 06:40:02 +00:00
|
|
|
"Refinement/and/_item", HFILL }},
|
2004-12-13 12:43:48 +00:00
|
|
|
{ &hf_x509if_refinement_or,
|
2004-11-21 06:40:02 +00:00
|
|
|
{ "or", "x509if.or",
|
2005-07-21 21:12:09 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
2004-11-21 06:40:02 +00:00
|
|
|
"Refinement/or", HFILL }},
|
2004-12-13 12:43:48 +00:00
|
|
|
{ &hf_x509if_refinement_or_item,
|
2004-11-21 06:40:02 +00:00
|
|
|
{ "Item", "x509if.or_item",
|
2005-02-23 08:57:47 +00:00
|
|
|
FT_UINT32, BASE_DEC, VALS(x509if_Refinement_vals), 0,
|
2004-11-21 06:40:02 +00:00
|
|
|
"Refinement/or/_item", HFILL }},
|
2004-12-13 12:43:48 +00:00
|
|
|
{ &hf_x509if_refinement_not,
|
2004-11-21 06:40:02 +00:00
|
|
|
{ "not", "x509if.not",
|
2005-02-23 08:57:47 +00:00
|
|
|
FT_UINT32, BASE_DEC, VALS(x509if_Refinement_vals), 0,
|
2004-11-21 06:40:02 +00:00
|
|
|
"Refinement/not", HFILL }},
|
|
|
|
{ &hf_x509if_ruleIdentifier,
|
|
|
|
{ "ruleIdentifier", "x509if.ruleIdentifier",
|
|
|
|
FT_INT32, BASE_DEC, NULL, 0,
|
|
|
|
"DITStructureRule/ruleIdentifier", HFILL }},
|
|
|
|
{ &hf_x509if_nameForm,
|
|
|
|
{ "nameForm", "x509if.nameForm",
|
|
|
|
FT_STRING, BASE_NONE, NULL, 0,
|
|
|
|
"DITStructureRule/nameForm", HFILL }},
|
|
|
|
{ &hf_x509if_superiorStructureRules,
|
|
|
|
{ "superiorStructureRules", "x509if.superiorStructureRules",
|
2005-07-21 21:12:09 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
2004-11-21 06:40:02 +00:00
|
|
|
"DITStructureRule/superiorStructureRules", HFILL }},
|
|
|
|
{ &hf_x509if_superiorStructureRules_item,
|
|
|
|
{ "Item", "x509if.superiorStructureRules_item",
|
|
|
|
FT_INT32, BASE_DEC, NULL, 0,
|
|
|
|
"DITStructureRule/superiorStructureRules/_item", HFILL }},
|
|
|
|
{ &hf_x509if_structuralObjectClass,
|
|
|
|
{ "structuralObjectClass", "x509if.structuralObjectClass",
|
|
|
|
FT_STRING, BASE_NONE, NULL, 0,
|
|
|
|
"DITContentRule/structuralObjectClass", HFILL }},
|
|
|
|
{ &hf_x509if_auxiliaries,
|
|
|
|
{ "auxiliaries", "x509if.auxiliaries",
|
2005-07-21 21:12:09 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
2004-11-21 06:40:02 +00:00
|
|
|
"DITContentRule/auxiliaries", HFILL }},
|
|
|
|
{ &hf_x509if_auxiliaries_item,
|
|
|
|
{ "Item", "x509if.auxiliaries_item",
|
|
|
|
FT_STRING, BASE_NONE, NULL, 0,
|
|
|
|
"DITContentRule/auxiliaries/_item", HFILL }},
|
|
|
|
{ &hf_x509if_mandatory,
|
|
|
|
{ "mandatory", "x509if.mandatory",
|
2005-07-21 21:12:09 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
2004-11-21 06:40:02 +00:00
|
|
|
"DITContentRule/mandatory", HFILL }},
|
|
|
|
{ &hf_x509if_mandatory_item,
|
|
|
|
{ "Item", "x509if.mandatory_item",
|
|
|
|
FT_STRING, BASE_NONE, NULL, 0,
|
|
|
|
"DITContentRule/mandatory/_item", HFILL }},
|
|
|
|
{ &hf_x509if_optional,
|
|
|
|
{ "optional", "x509if.optional",
|
2005-07-21 21:12:09 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
2004-11-21 06:40:02 +00:00
|
|
|
"DITContentRule/optional", HFILL }},
|
|
|
|
{ &hf_x509if_optional_item,
|
|
|
|
{ "Item", "x509if.optional_item",
|
|
|
|
FT_STRING, BASE_NONE, NULL, 0,
|
|
|
|
"DITContentRule/optional/_item", HFILL }},
|
|
|
|
{ &hf_x509if_precluded,
|
|
|
|
{ "precluded", "x509if.precluded",
|
2005-07-21 21:12:09 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
2004-11-21 06:40:02 +00:00
|
|
|
"DITContentRule/precluded", HFILL }},
|
|
|
|
{ &hf_x509if_precluded_item,
|
|
|
|
{ "Item", "x509if.precluded_item",
|
|
|
|
FT_STRING, BASE_NONE, NULL, 0,
|
|
|
|
"DITContentRule/precluded/_item", HFILL }},
|
|
|
|
{ &hf_x509if_attributeType,
|
|
|
|
{ "attributeType", "x509if.attributeType",
|
|
|
|
FT_STRING, BASE_NONE, NULL, 0,
|
|
|
|
"", HFILL }},
|
|
|
|
{ &hf_x509if_mandatoryContexts,
|
|
|
|
{ "mandatoryContexts", "x509if.mandatoryContexts",
|
2005-07-21 21:12:09 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
2004-11-21 06:40:02 +00:00
|
|
|
"DITContextUse/mandatoryContexts", HFILL }},
|
|
|
|
{ &hf_x509if_mandatoryContexts_item,
|
|
|
|
{ "Item", "x509if.mandatoryContexts_item",
|
|
|
|
FT_STRING, BASE_NONE, NULL, 0,
|
|
|
|
"DITContextUse/mandatoryContexts/_item", HFILL }},
|
|
|
|
{ &hf_x509if_optionalContexts,
|
|
|
|
{ "optionalContexts", "x509if.optionalContexts",
|
2005-07-21 21:12:09 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
2004-11-21 06:40:02 +00:00
|
|
|
"DITContextUse/optionalContexts", HFILL }},
|
|
|
|
{ &hf_x509if_optionalContexts_item,
|
|
|
|
{ "Item", "x509if.optionalContexts_item",
|
|
|
|
FT_STRING, BASE_NONE, NULL, 0,
|
|
|
|
"DITContextUse/optionalContexts/_item", HFILL }},
|
|
|
|
{ &hf_x509if_id,
|
|
|
|
{ "id", "x509if.id",
|
|
|
|
FT_INT32, BASE_DEC, NULL, 0,
|
|
|
|
"", HFILL }},
|
|
|
|
{ &hf_x509if_dmdId,
|
|
|
|
{ "dmdId", "x509if.dmdId",
|
|
|
|
FT_STRING, BASE_NONE, NULL, 0,
|
|
|
|
"", HFILL }},
|
|
|
|
{ &hf_x509if_serviceType,
|
|
|
|
{ "serviceType", "x509if.serviceType",
|
|
|
|
FT_STRING, BASE_NONE, NULL, 0,
|
|
|
|
"", HFILL }},
|
|
|
|
{ &hf_x509if_userClass,
|
|
|
|
{ "userClass", "x509if.userClass",
|
|
|
|
FT_INT32, BASE_DEC, NULL, 0,
|
|
|
|
"", HFILL }},
|
|
|
|
{ &hf_x509if_inputAttributeTypes,
|
|
|
|
{ "inputAttributeTypes", "x509if.inputAttributeTypes",
|
2005-07-21 21:12:09 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
2004-11-21 06:40:02 +00:00
|
|
|
"", HFILL }},
|
|
|
|
{ &hf_x509if_inputAttributeTypes_item,
|
|
|
|
{ "Item", "x509if.inputAttributeTypes_item",
|
|
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
|
|
"", HFILL }},
|
|
|
|
{ &hf_x509if_attributeCombination,
|
|
|
|
{ "attributeCombination", "x509if.attributeCombination",
|
2005-02-23 08:57:47 +00:00
|
|
|
FT_UINT32, BASE_DEC, VALS(x509if_AttributeCombination_vals), 0,
|
2004-11-21 06:40:02 +00:00
|
|
|
"", HFILL }},
|
|
|
|
{ &hf_x509if_outputAttributeTypes,
|
|
|
|
{ "outputAttributeTypes", "x509if.outputAttributeTypes",
|
2005-07-21 21:12:09 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
2004-11-21 06:40:02 +00:00
|
|
|
"", HFILL }},
|
|
|
|
{ &hf_x509if_outputAttributeTypes_item,
|
|
|
|
{ "Item", "x509if.outputAttributeTypes_item",
|
|
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
|
|
"", HFILL }},
|
|
|
|
{ &hf_x509if_defaultControls,
|
|
|
|
{ "defaultControls", "x509if.defaultControls",
|
|
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
|
|
"", HFILL }},
|
|
|
|
{ &hf_x509if_mandatoryControls,
|
|
|
|
{ "mandatoryControls", "x509if.mandatoryControls",
|
|
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
|
|
"", HFILL }},
|
|
|
|
{ &hf_x509if_searchRuleControls,
|
|
|
|
{ "searchRuleControls", "x509if.searchRuleControls",
|
|
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
|
|
"", HFILL }},
|
|
|
|
{ &hf_x509if_relaxation,
|
|
|
|
{ "relaxation", "x509if.relaxation",
|
|
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
|
|
"", HFILL }},
|
|
|
|
{ &hf_x509if_additionalControl,
|
|
|
|
{ "additionalControl", "x509if.additionalControl",
|
2005-07-21 21:12:09 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
2004-11-21 06:40:02 +00:00
|
|
|
"", HFILL }},
|
|
|
|
{ &hf_x509if_additionalControl_item,
|
|
|
|
{ "Item", "x509if.additionalControl_item",
|
|
|
|
FT_STRING, BASE_NONE, NULL, 0,
|
|
|
|
"", HFILL }},
|
|
|
|
{ &hf_x509if_allowedSubset,
|
|
|
|
{ "allowedSubset", "x509if.allowedSubset",
|
|
|
|
FT_BYTES, BASE_HEX, NULL, 0,
|
|
|
|
"", HFILL }},
|
|
|
|
{ &hf_x509if_imposedSubset,
|
|
|
|
{ "imposedSubset", "x509if.imposedSubset",
|
2005-02-23 08:57:47 +00:00
|
|
|
FT_UINT32, BASE_DEC, VALS(x509if_ImposedSubset_vals), 0,
|
2004-11-21 06:40:02 +00:00
|
|
|
"", HFILL }},
|
|
|
|
{ &hf_x509if_entryLimit,
|
|
|
|
{ "entryLimit", "x509if.entryLimit",
|
|
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
|
|
"", HFILL }},
|
|
|
|
{ &hf_x509if_name,
|
|
|
|
{ "name", "x509if.name",
|
2005-07-21 21:12:09 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
2004-11-21 06:40:02 +00:00
|
|
|
"SearchRuleDescription/name", HFILL }},
|
|
|
|
{ &hf_x509if_name_item,
|
|
|
|
{ "Item", "x509if.name_item",
|
2004-11-21 08:56:09 +00:00
|
|
|
FT_STRING, BASE_NONE, NULL, 0,
|
2004-11-21 06:40:02 +00:00
|
|
|
"SearchRuleDescription/name/_item", HFILL }},
|
|
|
|
{ &hf_x509if_description,
|
|
|
|
{ "description", "x509if.description",
|
2004-11-21 08:56:09 +00:00
|
|
|
FT_STRING, BASE_NONE, NULL, 0,
|
2004-11-21 06:40:02 +00:00
|
|
|
"SearchRuleDescription/description", HFILL }},
|
|
|
|
{ &hf_x509if_obsolete,
|
|
|
|
{ "obsolete", "x509if.obsolete",
|
|
|
|
FT_BOOLEAN, 8, NULL, 0,
|
|
|
|
"SearchRuleDescription/obsolete", HFILL }},
|
|
|
|
{ &hf_x509if_includeSubtypes,
|
|
|
|
{ "includeSubtypes", "x509if.includeSubtypes",
|
|
|
|
FT_BOOLEAN, 8, NULL, 0,
|
|
|
|
"RequestAttribute/includeSubtypes", HFILL }},
|
2004-12-13 12:43:48 +00:00
|
|
|
{ &hf_x509if_ra_selectedValues,
|
2004-11-21 06:40:02 +00:00
|
|
|
{ "selectedValues", "x509if.selectedValues",
|
2005-07-21 21:12:09 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
2004-11-21 06:40:02 +00:00
|
|
|
"RequestAttribute/selectedValues", HFILL }},
|
2004-12-13 12:43:48 +00:00
|
|
|
{ &hf_x509if_ra_selectedValues_item,
|
2004-11-21 06:40:02 +00:00
|
|
|
{ "Item", "x509if.selectedValues_item",
|
|
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
|
|
"RequestAttribute/selectedValues/_item", HFILL }},
|
|
|
|
{ &hf_x509if_defaultValues,
|
|
|
|
{ "defaultValues", "x509if.defaultValues",
|
2005-07-21 21:12:09 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
2004-11-21 06:40:02 +00:00
|
|
|
"RequestAttribute/defaultValues", HFILL }},
|
|
|
|
{ &hf_x509if_defaultValues_item,
|
|
|
|
{ "Item", "x509if.defaultValues_item",
|
|
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
|
|
"RequestAttribute/defaultValues/_item", HFILL }},
|
|
|
|
{ &hf_x509if_entryType,
|
|
|
|
{ "entryType", "x509if.entryType",
|
|
|
|
FT_STRING, BASE_NONE, NULL, 0,
|
|
|
|
"RequestAttribute/defaultValues/_item/entryType", HFILL }},
|
2004-12-13 12:43:48 +00:00
|
|
|
{ &hf_x509if_ra_values,
|
2004-11-21 06:40:02 +00:00
|
|
|
{ "values", "x509if.values",
|
2005-07-21 21:12:09 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
2004-11-21 06:40:02 +00:00
|
|
|
"RequestAttribute/defaultValues/_item/values", HFILL }},
|
2004-12-13 12:43:48 +00:00
|
|
|
{ &hf_x509if_ra_values_item,
|
2004-11-21 06:40:02 +00:00
|
|
|
{ "Item", "x509if.values_item",
|
|
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
|
|
"RequestAttribute/defaultValues/_item/values/_item", HFILL }},
|
|
|
|
{ &hf_x509if_contexts,
|
|
|
|
{ "contexts", "x509if.contexts",
|
2005-07-21 21:12:09 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
2004-11-21 06:40:02 +00:00
|
|
|
"", HFILL }},
|
|
|
|
{ &hf_x509if_contexts_item,
|
|
|
|
{ "Item", "x509if.contexts_item",
|
|
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
|
|
"", HFILL }},
|
|
|
|
{ &hf_x509if_contextCombination,
|
|
|
|
{ "contextCombination", "x509if.contextCombination",
|
2005-02-23 08:57:47 +00:00
|
|
|
FT_UINT32, BASE_DEC, VALS(x509if_ContextCombination_vals), 0,
|
2004-11-21 06:40:02 +00:00
|
|
|
"RequestAttribute/contextCombination", HFILL }},
|
|
|
|
{ &hf_x509if_matchingUse,
|
|
|
|
{ "matchingUse", "x509if.matchingUse",
|
2005-07-21 21:12:09 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
2004-11-21 06:40:02 +00:00
|
|
|
"RequestAttribute/matchingUse", HFILL }},
|
|
|
|
{ &hf_x509if_matchingUse_item,
|
|
|
|
{ "Item", "x509if.matchingUse_item",
|
|
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
|
|
"RequestAttribute/matchingUse/_item", HFILL }},
|
|
|
|
{ &hf_x509if_contextValue,
|
|
|
|
{ "contextValue", "x509if.contextValue",
|
2005-07-21 21:12:09 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
2004-11-21 06:40:02 +00:00
|
|
|
"ContextProfile/contextValue", HFILL }},
|
|
|
|
{ &hf_x509if_contextValue_item,
|
|
|
|
{ "Item", "x509if.contextValue_item",
|
|
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
|
|
"ContextProfile/contextValue/_item", HFILL }},
|
|
|
|
{ &hf_x509if_context,
|
|
|
|
{ "context", "x509if.context",
|
|
|
|
FT_STRING, BASE_NONE, NULL, 0,
|
|
|
|
"ContextCombination/context", HFILL }},
|
2004-12-13 12:43:48 +00:00
|
|
|
{ &hf_x509if_contextcombination_and,
|
2004-11-21 06:40:02 +00:00
|
|
|
{ "and", "x509if.and",
|
2005-07-21 21:12:09 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
2004-11-21 06:40:02 +00:00
|
|
|
"ContextCombination/and", HFILL }},
|
2004-12-13 12:43:48 +00:00
|
|
|
{ &hf_x509if_contextcombination_and_item,
|
2004-11-21 06:40:02 +00:00
|
|
|
{ "Item", "x509if.and_item",
|
2005-02-23 08:57:47 +00:00
|
|
|
FT_UINT32, BASE_DEC, VALS(x509if_ContextCombination_vals), 0,
|
2004-11-21 06:40:02 +00:00
|
|
|
"ContextCombination/and/_item", HFILL }},
|
2004-12-13 12:43:48 +00:00
|
|
|
{ &hf_x509if_contextcombination_or,
|
2004-11-21 06:40:02 +00:00
|
|
|
{ "or", "x509if.or",
|
2005-07-21 21:12:09 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
2004-11-21 06:40:02 +00:00
|
|
|
"ContextCombination/or", HFILL }},
|
2004-12-13 12:43:48 +00:00
|
|
|
{ &hf_x509if_contextcombination_or_item,
|
2004-11-21 06:40:02 +00:00
|
|
|
{ "Item", "x509if.or_item",
|
2005-02-23 08:57:47 +00:00
|
|
|
FT_UINT32, BASE_DEC, VALS(x509if_ContextCombination_vals), 0,
|
2004-11-21 06:40:02 +00:00
|
|
|
"ContextCombination/or/_item", HFILL }},
|
2004-12-13 12:43:48 +00:00
|
|
|
{ &hf_x509if_contextcombination_not,
|
2004-11-21 06:40:02 +00:00
|
|
|
{ "not", "x509if.not",
|
2005-02-23 08:57:47 +00:00
|
|
|
FT_UINT32, BASE_DEC, VALS(x509if_ContextCombination_vals), 0,
|
2004-11-21 06:40:02 +00:00
|
|
|
"ContextCombination/not", HFILL }},
|
|
|
|
{ &hf_x509if_restrictionType,
|
|
|
|
{ "restrictionType", "x509if.restrictionType",
|
|
|
|
FT_STRING, BASE_NONE, NULL, 0,
|
|
|
|
"MatchingUse/restrictionType", HFILL }},
|
|
|
|
{ &hf_x509if_restrictionValue,
|
|
|
|
{ "restrictionValue", "x509if.restrictionValue",
|
|
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
|
|
"MatchingUse/restrictionValue", HFILL }},
|
|
|
|
{ &hf_x509if_attribute,
|
|
|
|
{ "attribute", "x509if.attribute",
|
|
|
|
FT_STRING, BASE_NONE, NULL, 0,
|
|
|
|
"", HFILL }},
|
2004-12-13 12:43:48 +00:00
|
|
|
{ &hf_x509if_and,
|
2004-11-21 06:40:02 +00:00
|
|
|
{ "and", "x509if.and",
|
2005-07-21 21:12:09 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
2004-11-21 06:40:02 +00:00
|
|
|
"AttributeCombination/and", HFILL }},
|
2004-12-13 12:43:48 +00:00
|
|
|
{ &hf_x509if_and_item,
|
2004-11-21 06:40:02 +00:00
|
|
|
{ "Item", "x509if.and_item",
|
2005-02-23 08:57:47 +00:00
|
|
|
FT_UINT32, BASE_DEC, VALS(x509if_AttributeCombination_vals), 0,
|
2004-11-21 06:40:02 +00:00
|
|
|
"AttributeCombination/and/_item", HFILL }},
|
2004-12-13 12:43:48 +00:00
|
|
|
{ &hf_x509if_or,
|
2004-11-21 06:40:02 +00:00
|
|
|
{ "or", "x509if.or",
|
2005-07-21 21:12:09 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
2004-11-21 06:40:02 +00:00
|
|
|
"AttributeCombination/or", HFILL }},
|
2004-12-13 12:43:48 +00:00
|
|
|
{ &hf_x509if_or_item,
|
2004-11-21 06:40:02 +00:00
|
|
|
{ "Item", "x509if.or_item",
|
2005-02-23 08:57:47 +00:00
|
|
|
FT_UINT32, BASE_DEC, VALS(x509if_AttributeCombination_vals), 0,
|
2004-11-21 06:40:02 +00:00
|
|
|
"AttributeCombination/or/_item", HFILL }},
|
2004-12-13 12:43:48 +00:00
|
|
|
{ &hf_x509if_not,
|
2004-11-21 06:40:02 +00:00
|
|
|
{ "not", "x509if.not",
|
2005-02-23 08:57:47 +00:00
|
|
|
FT_UINT32, BASE_DEC, VALS(x509if_AttributeCombination_vals), 0,
|
2004-11-21 06:40:02 +00:00
|
|
|
"AttributeCombination/not", HFILL }},
|
|
|
|
{ &hf_x509if_outputValues,
|
|
|
|
{ "outputValues", "x509if.outputValues",
|
2005-02-23 08:57:47 +00:00
|
|
|
FT_UINT32, BASE_DEC, VALS(x509if_T_outputValues_vals), 0,
|
2004-11-21 06:40:02 +00:00
|
|
|
"ResultAttribute/outputValues", HFILL }},
|
2004-12-13 12:43:48 +00:00
|
|
|
{ &hf_x509if_selectedValues,
|
2004-11-21 06:40:02 +00:00
|
|
|
{ "selectedValues", "x509if.selectedValues",
|
2005-07-21 21:12:09 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
2004-11-21 06:40:02 +00:00
|
|
|
"", HFILL }},
|
2004-12-13 12:43:48 +00:00
|
|
|
{ &hf_x509if_selectedValues_item,
|
2004-11-21 06:40:02 +00:00
|
|
|
{ "Item", "x509if.selectedValues_item",
|
|
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
|
|
"", HFILL }},
|
|
|
|
{ &hf_x509if_matchedValuesOnly,
|
|
|
|
{ "matchedValuesOnly", "x509if.matchedValuesOnly",
|
|
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
|
|
"", HFILL }},
|
|
|
|
{ &hf_x509if_default,
|
|
|
|
{ "default", "x509if.default",
|
|
|
|
FT_INT32, BASE_DEC, NULL, 0,
|
|
|
|
"EntryLimit/default", HFILL }},
|
|
|
|
{ &hf_x509if_max,
|
|
|
|
{ "max", "x509if.max",
|
|
|
|
FT_INT32, BASE_DEC, NULL, 0,
|
|
|
|
"EntryLimit/max", HFILL }},
|
|
|
|
{ &hf_x509if_basic,
|
|
|
|
{ "basic", "x509if.basic",
|
|
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
|
|
"RelaxationPolicy/basic", HFILL }},
|
|
|
|
{ &hf_x509if_tightenings,
|
|
|
|
{ "tightenings", "x509if.tightenings",
|
2005-07-21 21:12:09 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
2004-11-21 06:40:02 +00:00
|
|
|
"RelaxationPolicy/tightenings", HFILL }},
|
|
|
|
{ &hf_x509if_tightenings_item,
|
|
|
|
{ "Item", "x509if.tightenings_item",
|
|
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
|
|
"RelaxationPolicy/tightenings/_item", HFILL }},
|
|
|
|
{ &hf_x509if_relaxations,
|
|
|
|
{ "relaxations", "x509if.relaxations",
|
2005-07-21 21:12:09 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
2004-11-21 06:40:02 +00:00
|
|
|
"RelaxationPolicy/relaxations", HFILL }},
|
|
|
|
{ &hf_x509if_relaxations_item,
|
|
|
|
{ "Item", "x509if.relaxations_item",
|
|
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
|
|
"RelaxationPolicy/relaxations/_item", HFILL }},
|
2004-12-13 12:43:48 +00:00
|
|
|
{ &hf_x509if_maximum_relaxation,
|
2004-11-21 06:40:02 +00:00
|
|
|
{ "maximum", "x509if.maximum",
|
|
|
|
FT_INT32, BASE_DEC, NULL, 0,
|
|
|
|
"RelaxationPolicy/maximum", HFILL }},
|
2004-12-13 12:43:48 +00:00
|
|
|
{ &hf_x509if_minimum_relaxation,
|
2004-11-21 06:40:02 +00:00
|
|
|
{ "minimum", "x509if.minimum",
|
|
|
|
FT_INT32, BASE_DEC, NULL, 0,
|
|
|
|
"RelaxationPolicy/minimum", HFILL }},
|
|
|
|
{ &hf_x509if_mapping,
|
|
|
|
{ "mapping", "x509if.mapping",
|
2005-07-21 21:12:09 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
2004-11-21 06:40:02 +00:00
|
|
|
"MRMapping/mapping", HFILL }},
|
|
|
|
{ &hf_x509if_mapping_item,
|
|
|
|
{ "Item", "x509if.mapping_item",
|
|
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
|
|
"MRMapping/mapping/_item", HFILL }},
|
|
|
|
{ &hf_x509if_substitution,
|
|
|
|
{ "substitution", "x509if.substitution",
|
2005-07-21 21:12:09 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
2004-11-21 06:40:02 +00:00
|
|
|
"MRMapping/substitution", HFILL }},
|
|
|
|
{ &hf_x509if_substitution_item,
|
|
|
|
{ "Item", "x509if.substitution_item",
|
|
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
|
|
"MRMapping/substitution/_item", HFILL }},
|
|
|
|
{ &hf_x509if_mappingFunction,
|
|
|
|
{ "mappingFunction", "x509if.mappingFunction",
|
|
|
|
FT_STRING, BASE_NONE, NULL, 0,
|
|
|
|
"Mapping/mappingFunction", HFILL }},
|
|
|
|
{ &hf_x509if_level,
|
|
|
|
{ "level", "x509if.level",
|
|
|
|
FT_INT32, BASE_DEC, NULL, 0,
|
|
|
|
"Mapping/level", HFILL }},
|
|
|
|
{ &hf_x509if_oldMatchingRule,
|
|
|
|
{ "oldMatchingRule", "x509if.oldMatchingRule",
|
|
|
|
FT_STRING, BASE_NONE, NULL, 0,
|
|
|
|
"MRSubstitution/oldMatchingRule", HFILL }},
|
|
|
|
{ &hf_x509if_newMatchingRule,
|
|
|
|
{ "newMatchingRule", "x509if.newMatchingRule",
|
|
|
|
FT_STRING, BASE_NONE, NULL, 0,
|
|
|
|
"MRSubstitution/newMatchingRule", HFILL }},
|
2004-07-20 09:11:40 +00:00
|
|
|
{ &hf_x509if_AllowedSubset_baseObject,
|
|
|
|
{ "baseObject", "x509if.baseObject",
|
|
|
|
FT_BOOLEAN, 8, NULL, 0x80,
|
|
|
|
"", HFILL }},
|
|
|
|
{ &hf_x509if_AllowedSubset_oneLevel,
|
|
|
|
{ "oneLevel", "x509if.oneLevel",
|
|
|
|
FT_BOOLEAN, 8, NULL, 0x40,
|
|
|
|
"", HFILL }},
|
|
|
|
{ &hf_x509if_AllowedSubset_wholeSubtree,
|
|
|
|
{ "wholeSubtree", "x509if.wholeSubtree",
|
|
|
|
FT_BOOLEAN, 8, NULL, 0x20,
|
|
|
|
"", HFILL }},
|
|
|
|
|
|
|
|
/*--- End of included file: packet-x509if-hfarr.c ---*/
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
/* List of subtrees */
|
|
|
|
static gint *ett[] = {
|
|
|
|
|
|
|
|
/*--- Included file: packet-x509if-ettarr.c ---*/
|
|
|
|
|
2004-10-29 11:39:58 +00:00
|
|
|
&ett_x509if_Attribute,
|
2004-11-14 09:48:11 +00:00
|
|
|
&ett_x509if_SET_OF_AttributeValue,
|
2004-11-21 06:40:02 +00:00
|
|
|
&ett_x509if_T_valuesWithContext,
|
|
|
|
&ett_x509if_T_valuesWithContext_item,
|
|
|
|
&ett_x509if_SET_OF_Context,
|
|
|
|
&ett_x509if_Context,
|
|
|
|
&ett_x509if_AttributeValueAssertion,
|
|
|
|
&ett_x509if_T_assertedContexts,
|
|
|
|
&ett_x509if_SET_OF_ContextAssertion,
|
|
|
|
&ett_x509if_ContextAssertion,
|
|
|
|
&ett_x509if_SET_OF_ContextValue,
|
|
|
|
&ett_x509if_AttributeTypeAssertion,
|
2005-02-23 08:57:47 +00:00
|
|
|
&ett_x509if_SEQUENCE_OF_ContextAssertion,
|
2004-07-20 09:11:40 +00:00
|
|
|
&ett_x509if_Name,
|
|
|
|
&ett_x509if_RDNSequence,
|
|
|
|
&ett_x509if_RelativeDistinguishedName,
|
|
|
|
&ett_x509if_AttributeTypeAndDistinguishedValue,
|
2004-12-13 12:43:48 +00:00
|
|
|
&ett_x509if_T_valWithContext,
|
|
|
|
&ett_x509if_T_valWithContext_item,
|
2004-11-21 06:40:02 +00:00
|
|
|
&ett_x509if_SubtreeSpecification,
|
|
|
|
&ett_x509if_T_specificExclusions,
|
|
|
|
&ett_x509if_T_specificExclusions_item,
|
|
|
|
&ett_x509if_ChopSpecification,
|
2004-12-13 12:43:48 +00:00
|
|
|
&ett_x509if_T_chopSpecificExclusions,
|
|
|
|
&ett_x509if_T_chopSpecificExclusions_item,
|
2004-11-21 06:40:02 +00:00
|
|
|
&ett_x509if_Refinement,
|
|
|
|
&ett_x509if_SET_OF_Refinement,
|
|
|
|
&ett_x509if_DITStructureRule,
|
|
|
|
&ett_x509if_SET_OF_RuleIdentifier,
|
|
|
|
&ett_x509if_DITContentRule,
|
2005-02-23 08:57:47 +00:00
|
|
|
&ett_x509if_T_auxiliaries,
|
2004-12-12 01:14:03 +00:00
|
|
|
&ett_x509if_SET_SIZE_1_MAX_OF_AttributeId,
|
2004-11-21 06:40:02 +00:00
|
|
|
&ett_x509if_DITContextUse,
|
2005-02-23 08:57:47 +00:00
|
|
|
&ett_x509if_T_mandatoryContexts,
|
|
|
|
&ett_x509if_T_optionalContexts,
|
2004-11-21 06:40:02 +00:00
|
|
|
&ett_x509if_SearchRuleDescription,
|
2005-02-23 08:57:47 +00:00
|
|
|
&ett_x509if_SEQUENCE_OF_RequestAttribute,
|
|
|
|
&ett_x509if_SEQUENCE_OF_ResultAttribute,
|
|
|
|
&ett_x509if_SEQUENCE_OF_AttributeType,
|
2004-11-21 06:40:02 +00:00
|
|
|
&ett_x509if_SET_OF_DirectoryString,
|
|
|
|
&ett_x509if_SearchRule,
|
|
|
|
&ett_x509if_SearchRuleId,
|
2004-07-20 09:11:40 +00:00
|
|
|
&ett_x509if_AllowedSubset,
|
2004-11-21 06:40:02 +00:00
|
|
|
&ett_x509if_RequestAttribute,
|
2005-02-23 08:57:47 +00:00
|
|
|
&ett_x509if_SEQUENCE_OF_SelectedValues,
|
2004-11-21 06:40:02 +00:00
|
|
|
&ett_x509if_T_defaultValues,
|
|
|
|
&ett_x509if_T_defaultValues_item,
|
2005-02-23 08:57:47 +00:00
|
|
|
&ett_x509if_SEQUENCE_OF_DefaultValueValues,
|
|
|
|
&ett_x509if_SEQUENCE_OF_ContextProfile,
|
|
|
|
&ett_x509if_SEQUENCE_OF_MatchingUse,
|
2004-11-21 06:40:02 +00:00
|
|
|
&ett_x509if_ContextProfile,
|
2005-02-23 08:57:47 +00:00
|
|
|
&ett_x509if_SEQUENCE_OF_AttributeValue,
|
2004-11-21 06:40:02 +00:00
|
|
|
&ett_x509if_ContextCombination,
|
2005-02-23 08:57:47 +00:00
|
|
|
&ett_x509if_SEQUENCE_OF_ContextCombination,
|
2004-11-21 06:40:02 +00:00
|
|
|
&ett_x509if_MatchingUse,
|
|
|
|
&ett_x509if_AttributeCombination,
|
2005-02-23 08:57:47 +00:00
|
|
|
&ett_x509if_SEQUENCE_OF_AttributeCombination,
|
2004-11-21 06:40:02 +00:00
|
|
|
&ett_x509if_ResultAttribute,
|
|
|
|
&ett_x509if_T_outputValues,
|
|
|
|
&ett_x509if_OutputValues,
|
|
|
|
&ett_x509if_ControlOptions,
|
|
|
|
&ett_x509if_EntryLimit,
|
|
|
|
&ett_x509if_RelaxationPolicy,
|
2005-02-23 08:57:47 +00:00
|
|
|
&ett_x509if_SEQUENCE_OF_MRMapping,
|
2004-11-21 06:40:02 +00:00
|
|
|
&ett_x509if_MRMapping,
|
2005-02-23 08:57:47 +00:00
|
|
|
&ett_x509if_SEQUENCE_OF_Mapping,
|
|
|
|
&ett_x509if_SEQUENCE_OF_MRSubstitution,
|
2004-11-21 06:40:02 +00:00
|
|
|
&ett_x509if_Mapping,
|
|
|
|
&ett_x509if_MRSubstitution,
|
2004-07-20 09:11:40 +00:00
|
|
|
|
|
|
|
/*--- End of included file: packet-x509if-ettarr.c ---*/
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
/* Register protocol */
|
|
|
|
proto_x509if = proto_register_protocol(PNAME, PSNAME, PFNAME);
|
|
|
|
|
|
|
|
/* Register fields and subtrees */
|
|
|
|
proto_register_field_array(proto_x509if, hf, array_length(hf));
|
|
|
|
proto_register_subtree_array(ett, array_length(ett));
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/*--- proto_reg_handoff_x509if -------------------------------------------*/
|
|
|
|
void proto_reg_handoff_x509if(void) {
|
|
|
|
}
|
|
|
|
|