#include <epan/asn1.h>
#include <epan/expert.h>
-#include <stdio.h>
#include <string.h>
#include "packet-ber.h"
void prefs_register_dop(void); /* forward declaration for use in preferences registration */
/* Initialize the protocol and registered fields */
-int proto_dop = -1;
+static int proto_dop = -1;
static struct SESSION_DATA_STRUCTURE* session = NULL;
static const char *binding_type = NULL; /* binding_type */
static int hf_dop_DSEType_sa = -1;
static int hf_dop_DSEType_dsSubentry = -1;
static int hf_dop_DSEType_familyMember = -1;
+static int hf_dop_DSEType_ditBridge = -1;
+static int hf_dop_DSEType_writeableCopy = -1;
static int hf_dop_GrantsAndDenials_grantAdd = -1;
static int hf_dop_GrantsAndDenials_denyAdd = -1;
static int hf_dop_GrantsAndDenials_grantDiscloseOnError = -1;
static int hf_dop_GrantsAndDenials_denyInvoke = -1;
/*--- End of included file: packet-dop-hf.c ---*/
-#line 71 "packet-dop-template.c"
+#line 70 "packet-dop-template.c"
/* Initialize the subtree pointers */
static gint ett_dop = -1;
static gint ett_dop_GrantsAndDenials = -1;
/*--- End of included file: packet-dop-ett.c ---*/
-#line 76 "packet-dop-template.c"
+#line 75 "packet-dop-template.c"
/* Dissector table */
static dissector_table_t dop_dissector_table;
{
const char *name = NULL;
- if(check_col(pinfo->cinfo, COL_INFO)) {
name = oid_resolved_from_string(oid);
col_append_fstr(pinfo->cinfo, COL_INFO, " %s", name ? name : oid);
- }
}
{ 15, &hf_dop_DSEType_sa, -1, -1, "sa", NULL },
{ 16, &hf_dop_DSEType_dsSubentry, -1, -1, "dsSubentry", NULL },
{ 17, &hf_dop_DSEType_familyMember, -1, -1, "familyMember", NULL },
+ { 18, &hf_dop_DSEType_ditBridge, -1, -1, "ditBridge", NULL },
+ { 19, &hf_dop_DSEType_writeableCopy, -1, -1, "writeableCopy", NULL },
{ 0, NULL, 0, 0, NULL, NULL }
};
&value);
- if (check_col(actx->pinfo->cinfo, COL_INFO)) {
- col_append_fstr(actx->pinfo->cinfo, COL_INFO, " id=%d", value);
- }
+ col_append_fstr(actx->pinfo->cinfo, COL_INFO, " id=%d", value);
static int
dissect_dop_T_version(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 183 "dop.cnf"
+#line 181 "dop.cnf"
guint32 value;
offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
&value);
- if (check_col(actx->pinfo->cinfo, COL_INFO)) {
- col_append_fstr(actx->pinfo->cinfo, COL_INFO, ",%d", value);
- }
+ col_append_fstr(actx->pinfo->cinfo, COL_INFO, ",%d", value);
static const ber_sequence_t Validity_sequence[] = {
- { &hf_dop_validFrom , BER_CLASS_CON, 0, 0, dissect_dop_T_validFrom },
- { &hf_dop_validUntil , BER_CLASS_CON, 1, 0, dissect_dop_T_validUntil },
+ { &hf_dop_validFrom , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_dop_T_validFrom },
+ { &hf_dop_validUntil , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_dop_T_validUntil },
{ NULL, 0, 0, 0, NULL }
};
static int
dissect_dop_Precedence(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 194 "dop.cnf"
+#line 190 "dop.cnf"
guint32 precedence = 0;
offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
/*--- End of included file: packet-dop-fn.c ---*/
-#line 91 "packet-dop-template.c"
+#line 88 "packet-dop-template.c"
static int
call_dop_oid_callback(char *base_string, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, char *col_info)
binding_param = ep_strdup_printf("%s.%s", base_string, binding_type ? binding_type : "");
- if (col_info && (check_col(pinfo->cinfo, COL_INFO)))
- col_append_fstr(pinfo->cinfo, COL_INFO, " %s", col_info);
+ col_append_fstr(pinfo->cinfo, COL_INFO, " %s", col_info);
if (dissector_try_string(dop_dissector_table, binding_param, tvb, pinfo, tree)) {
offset += tvb_length_remaining (tvb, offset);
item = proto_tree_add_item(parent_tree, proto_dop, tvb, 0, -1, FALSE);
tree = proto_item_add_subtree(item, ett_dop);
}
- if (check_col(pinfo->cinfo, COL_PROTOCOL))
- col_set_str(pinfo->cinfo, COL_PROTOCOL, "DOP");
- if (check_col(pinfo->cinfo, COL_INFO))
- col_clear(pinfo->cinfo, COL_INFO);
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "DOP");
+ col_clear(pinfo->cinfo, COL_INFO);
switch(session->ros_op & ROS_OP_MASK) {
case (ROS_OP_BIND | ROS_OP_ARGUMENT): /* BindInvoke */
}
if(dop_dissector) {
- if (check_col(pinfo->cinfo, COL_INFO))
- col_set_str(pinfo->cinfo, COL_INFO, dop_op_name);
+ col_set_str(pinfo->cinfo, COL_INFO, dop_op_name);
while (tvb_reported_length_remaining(tvb, offset) > 0){
old_offset=offset;
offset=(*dop_dissector)(FALSE, tvb, offset, &asn1_ctx, tree, -1);
if(offset == old_offset){
proto_tree_add_text(tree, tvb, offset, -1,"Internal error, zero-byte DOP PDU");
- offset = tvb_length(tvb);
break;
}
}
"dop.OperationalBindingID", HFILL }},
{ &hf_dop_supplier_is_master,
{ "supplier-is-master", "dop.supplier_is_master",
- FT_BOOLEAN, BASE_NONE, NULL, 0x0,
+ FT_BOOLEAN, BASE_NONE, NULL, 0,
"dop.BOOLEAN", HFILL }},
{ &hf_dop_non_supplying_master,
{ "non-supplying-master", "dop.non_supplying_master",
"x509if.DistinguishedName", HFILL }},
{ &hf_dop_aliasDereferenced,
{ "aliasDereferenced", "dop.aliasDereferenced",
- FT_BOOLEAN, BASE_NONE, NULL, 0x0,
+ FT_BOOLEAN, BASE_NONE, NULL, 0,
"dop.BOOLEAN", HFILL }},
{ &hf_dop_notification,
{ "notification", "dop.notification",
"x509if.Attribute", HFILL }},
{ &hf_dop_alias,
{ "alias", "dop.alias",
- FT_BOOLEAN, BASE_NONE, NULL, 0x0,
+ FT_BOOLEAN, BASE_NONE, NULL, 0,
"dop.BOOLEAN", HFILL }},
{ &hf_dop_identificationTag,
{ "identificationTag", "dop.identificationTag",
"dop.INTEGER", HFILL }},
{ &hf_dop_signed,
{ "signed", "dop.signed",
- FT_BOOLEAN, BASE_NONE, NULL, 0x0,
+ FT_BOOLEAN, BASE_NONE, NULL, 0,
"dop.BOOLEAN", HFILL }},
{ &hf_dop_other,
{ "other", "dop.other",
{ "familyMember", "dop.familyMember",
FT_BOOLEAN, 8, NULL, 0x40,
NULL, HFILL }},
+ { &hf_dop_DSEType_ditBridge,
+ { "ditBridge", "dop.ditBridge",
+ FT_BOOLEAN, 8, NULL, 0x20,
+ NULL, HFILL }},
+ { &hf_dop_DSEType_writeableCopy,
+ { "writeableCopy", "dop.writeableCopy",
+ FT_BOOLEAN, 8, NULL, 0x10,
+ NULL, HFILL }},
{ &hf_dop_GrantsAndDenials_grantAdd,
{ "grantAdd", "dop.grantAdd",
FT_BOOLEAN, 8, NULL, 0x80,
NULL, HFILL }},
/*--- End of included file: packet-dop-hfarr.c ---*/
-#line 251 "packet-dop-template.c"
+#line 243 "packet-dop-template.c"
};
/* List of subtrees */
&ett_dop_GrantsAndDenials,
/*--- End of included file: packet-dop-ettarr.c ---*/
-#line 258 "packet-dop-template.c"
+#line 250 "packet-dop-template.c"
};
module_t *dop_module;
/*--- End of included file: packet-dop-dis-tab.c ---*/
-#line 291 "packet-dop-template.c"
+#line 283 "packet-dop-template.c"
/* APPLICATION CONTEXT */
oid_add_from_string("id-ac-directory-operational-binding-management","2.5.3.3");