#.FN_BODY Extension-Attribute/extension-attribute
offset=call_ber_oid_callback(object_identifier_id, tvb, offset, pinfo, tree);
-#.FN_PARS Attribute-Extensions-Pattern/extension-set-attribute-Patterns/extension-attribute-identifier
+#.FN_PARS Attribute-Extensions-Pattern/_item/extension-set-attribute-Patterns/_item/extension-attribute-identifier
VAL_PTR = object_identifier_id
#.FN_BODY Attribute-Extensions-Pattern/_item/extension-set-attribute-Patterns/_item/extension-attribute-Pattern
void proto_reg_handoff_ftam(void) {
register_ber_oid_dissector("1.0.8571.1.1", dissect_ftam, proto_ftam,"iso-ftam(1)");
register_ber_oid_dissector("1.0.8571.2.1", dissect_ftam, proto_ftam,"ftam-pci(1)");
- register_ber_oid_name("1.3.14.5.5.9","NBS-9 FTAM file directory file");
+ register_ber_oid_dissector("1.3.14.5.2.2", dissect_ftam, proto_ftam,"NIST file directory entry abstract syntax");
+
+ /* Unstructured text file document type FTAM-1 */
+ register_ber_oid_name("1.0.8571.5.1","ISO FTAM unstructured text");
+ register_ber_oid_name("1.0.8571.2.3","FTAM unstructured text abstract syntax");
register_ber_oid_name("1.0.8571.3.1","FTAM hierarchical file model");
register_ber_oid_name("1.0.8571.4.1","FTAM unstructured constraint set");
+ /* Unstructured text file document type FTAM-3 */
+ register_ber_oid_name("1.0.8571.5.3","ISO FTAM unstructured binary");
+ register_ber_oid_name("1.0.8571.2.4","FTAM unstructured binary abstract syntax");
+
+ /* Filedirectory file document type NBS-9 */
+ register_ber_oid_name("1.3.14.5.5.9","NBS-9 FTAM file directory file");
+
+ /* Filedirectory file document type NBS-9 (WITH OLD NIST OIDs)*/
+ register_ber_oid_name("1.3.9999.1.5.9","NBS-9-OLD FTAM file directory file");
+ register_ber_oid_name("1.3.9999.1.2.2","NIST file directory entry abstract syntax");
}
proto_tree_add_text(tree, tvb, offset, -1,"dissector is not available");
%(DEFAULT_BODY)s
}
+#.FN_BODY PDV-list/presentation-data-values/octet-aligned
+
+ tvbuff_t *next_tvb;
+ char *oid;
+
+ oid=find_oid_by_pres_ctx_id(pinfo, presentation_context_identifier);
+ if(oid){
+ next_tvb = tvb_new_subset(tvb, offset, -1, -1);
+ call_ber_oid_callback(oid, next_tvb, offset, pinfo, global_tree);
+ } else {
+ proto_tree_add_text(tree, tvb, offset, -1,"dissector is not available");
+ %(DEFAULT_BODY)s
+ }
#.FN_PARS Abstract_syntax_name
static int hf_ftam_Attribute_Extensions_Pattern_item = -1; /* Attribute_Extensions_Pattern_item */
static int hf_ftam_extension_set_attribute_Patterns = -1; /* T_extension_set_attribute_Patterns */
static int hf_ftam_extension_set_attribute_Patterns_item = -1; /* T_extension_set_attribute_Patterns_item */
-static int hf_ftam_attribute_extension_attribute_identifier = -1; /* OBJECT_IDENTIFIER */
+static int hf_ftam_attribute_extension_attribute_identifier = -1; /* T_extension_attribute_identifier1 */
static int hf_ftam_extension_attribute_Pattern = -1; /* T_extension_attribute_Pattern */
static int hf_ftam_Objects_Attributes_List_item = -1; /* Read_Attributes */
static int hf_ftam_success_Object_count = -1; /* INTEGER */
static int dissect_object_identifier_value_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
return dissect_ftam_OBJECT_IDENTIFIER(TRUE, tvb, offset, pinfo, tree, hf_ftam_object_identifier_value);
}
-static int dissect_attribute_extension_attribute_identifier(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
- return dissect_ftam_OBJECT_IDENTIFIER(FALSE, tvb, offset, pinfo, tree, hf_ftam_attribute_extension_attribute_identifier);
-}
static const ber_sequence_t Object_Identifier_Pattern_sequence[] = {
+static int
+dissect_ftam_T_extension_attribute_identifier1(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(implicit_tag, pinfo, tree, tvb, offset, hf_index,
+ object_identifier_id);
+
+ return offset;
+}
+static int dissect_attribute_extension_attribute_identifier(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ return dissect_ftam_T_extension_attribute_identifier1(FALSE, tvb, offset, pinfo, tree, hf_ftam_attribute_extension_attribute_identifier);
+}
+
+
+
static int
dissect_ftam_T_extension_attribute_Pattern(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);
void proto_reg_handoff_ftam(void) {
register_ber_oid_dissector("1.0.8571.1.1", dissect_ftam, proto_ftam,"iso-ftam(1)");
register_ber_oid_dissector("1.0.8571.2.1", dissect_ftam, proto_ftam,"ftam-pci(1)");
- register_ber_oid_name("1.3.14.5.5.9","NBS-9 FTAM file directory file");
+ register_ber_oid_dissector("1.3.14.5.2.2", dissect_ftam, proto_ftam,"NIST file directory entry abstract syntax");
+
+ /* Unstructured text file document type FTAM-1 */
+ register_ber_oid_name("1.0.8571.5.1","ISO FTAM unstructured text");
+ register_ber_oid_name("1.0.8571.2.3","FTAM unstructured text abstract syntax");
register_ber_oid_name("1.0.8571.3.1","FTAM hierarchical file model");
register_ber_oid_name("1.0.8571.4.1","FTAM unstructured constraint set");
+ /* Unstructured text file document type FTAM-3 */
+ register_ber_oid_name("1.0.8571.5.3","ISO FTAM unstructured binary");
+ register_ber_oid_name("1.0.8571.2.4","FTAM unstructured binary abstract syntax");
+
+ /* Filedirectory file document type NBS-9 */
+ register_ber_oid_name("1.3.14.5.5.9","NBS-9 FTAM file directory file");
+
+ /* Filedirectory file document type NBS-9 (WITH OLD NIST OIDs)*/
+ register_ber_oid_name("1.3.9999.1.5.9","NBS-9-OLD FTAM file directory file");
+ register_ber_oid_name("1.3.9999.1.2.2","NIST file directory entry abstract syntax");
}
static int hf_pres_Fully_encoded_data_item = -1; /* PDV_list */
static int hf_pres_presentation_data_values = -1; /* T_presentation_data_values */
static int hf_pres_single_ASN1_type = -1; /* T_single_ASN1_type */
-static int hf_pres_octet_aligned = -1; /* OCTET_STRING */
+static int hf_pres_octet_aligned = -1; /* T_octet_aligned */
static int hf_pres_arbitrary = -1; /* BIT_STRING */
/* named bits */
static int hf_pres_Presentation_requirements_context_management = -1;
}
-
-
return offset;
}
static int dissect_single_ASN1_type_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
static int
-dissect_pres_OCTET_STRING(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
- offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
+dissect_pres_T_octet_aligned(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
+
+ tvbuff_t *next_tvb;
+ char *oid;
+
+ oid=find_oid_by_pres_ctx_id(pinfo, presentation_context_identifier);
+ if(oid){
+ next_tvb = tvb_new_subset(tvb, offset, -1, -1);
+ call_ber_oid_callback(oid, next_tvb, offset, pinfo, global_tree);
+ } else {
+ proto_tree_add_text(tree, tvb, offset, -1,"dissector is not available");
+ offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
NULL);
+
+ }
+
+
return offset;
}
static int dissect_octet_aligned_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
- return dissect_pres_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_pres_octet_aligned);
+ return dissect_pres_T_octet_aligned(TRUE, tvb, offset, pinfo, tree, hf_pres_octet_aligned);
}