/*--- proto_reg_handoff_disp --- */ void proto_reg_handoff_disp(void) { dissector_handle_t disp_handle; #include "packet-disp-dis-tab.c" /* APPLICATION CONTEXT */ oid_add_from_string("id-ac-shadow-consumer-initiated","2.5.3.4"); oid_add_from_string("id-ac-shadow-supplier-initiated","2.5.3.5"); oid_add_from_string("id-ac-reliable-shadow-consumer-initiated","2.5.3.6"); oid_add_from_string("id-ac-reliable-shadow-supplier-initiated","2.5.3.7"); /* ABSTRACT SYNTAXES */ disp_handle = find_dissector("disp"); register_ros_oid_dissector_handle("2.5.9.3", disp_handle, 0, "id-as-directory-shadow", FALSE); register_rtse_oid_dissector_handle("2.5.9.5", disp_handle, 0, "id-as-directory-reliable-shadow", FALSE); register_rtse_oid_dissector_handle("2.5.9.6", disp_handle, 0, "id-as-directory-reliable-binding", FALSE); /* OPERATIONAL BINDING */ oid_add_from_string("id-op-binding-shadow","2.5.1.0.5.1"); tpkt_handle = find_dissector("tpkt"); /* DNs */ x509if_register_fmt(hf_disp_contextPrefix, "cp="); }
void register_rtse_oid_dissector_handle(const char *oid, dissector_handle_t dissector, int proto, const char *name, gboolean uses_ros) { /* XXX: Note that this fcn is called from proto_reg_handoff in *other* dissectors ... */ static dissector_handle_t rtse_handle = NULL; static dissector_handle_t ros_handle = NULL; if (rtse_handle == NULL) rtse_handle = find_dissector("rtse"); if (ros_handle == NULL) ros_handle = find_dissector("ros"); /* save the name - but not used */ g_hash_table_insert(oid_table, (gpointer)oid, (gpointer)name); /* register RTSE with the BER (ACSE) */ register_ber_oid_dissector_handle(oid, rtse_handle, proto, name); if(uses_ros) { /* make sure we call ROS ... */ dissector_add_string("rtse.oid", oid, ros_handle); /* and then tell ROS how to dissect the AS*/ register_ros_oid_dissector_handle(oid, dissector, proto, name, TRUE); } else { /* otherwise we just remember how to dissect the AS */ dissector_add_string("rtse.oid", oid, dissector); } }
/*--- proto_reg_handoff_dsp --- */ void proto_reg_handoff_dsp(void) { dissector_handle_t dsp_handle; #include "packet-dsp-dis-tab.c" /* APPLICATION CONTEXT */ oid_add_from_string("id-ac-directory-system","2.5.3.2"); /* ABSTRACT SYNTAXES */ /* remember the tpkt handler for change in preferences */ tpkt_handle = find_dissector("tpkt"); /* Register DSP with ROS (with no use of RTSE) */ dsp_handle = find_dissector("dsp"); register_ros_oid_dissector_handle("2.5.9.2", dsp_handle, 0, "id-as-directory-system", FALSE); }
/*--- proto_reg_handoff_dop --- */ void proto_reg_handoff_dop(void) { dissector_handle_t dop_handle; #include "packet-dop-dis-tab.c" /* APPLICATION CONTEXT */ oid_add_from_string("id-ac-directory-operational-binding-management","2.5.3.3"); /* ABSTRACT SYNTAXES */ /* Register DOP with ROS (with no use of RTSE) */ dop_handle = find_dissector("dop"); register_ros_oid_dissector_handle("2.5.9.4", dop_handle, 0, "id-as-directory-operational-binding-management", FALSE); /* BINDING TYPES */ oid_add_from_string("shadow-agreement","2.5.19.1"); oid_add_from_string("hierarchical-agreement","2.5.19.2"); oid_add_from_string("non-specific-hierarchical-agreement","2.5.19.3"); /* ACCESS CONTROL SCHEMES */ oid_add_from_string("basic-ACS","2.5.28.1"); oid_add_from_string("simplified-ACS","2.5.28.2"); oid_add_from_string("ruleBased-ACS","2.5.28.3"); oid_add_from_string("ruleAndBasic-ACS","2.5.28.4"); oid_add_from_string("ruleAndSimple-ACS","2.5.28.5"); /* ADMINISTRATIVE ROLES */ oid_add_from_string("id-ar-autonomousArea","2.5.23.1"); oid_add_from_string("id-ar-accessControlSpecificArea","2.5.23.2"); oid_add_from_string("id-ar-accessControlInnerArea","2.5.23.3"); oid_add_from_string("id-ar-subschemaAdminSpecificArea","2.5.23.4"); oid_add_from_string("id-ar-collectiveAttributeSpecificArea","2.5.23.5"); oid_add_from_string("id-ar-collectiveAttributeInnerArea","2.5.23.6"); oid_add_from_string("id-ar-contextDefaultSpecificArea","2.5.23.7"); oid_add_from_string("id-ar-serviceSpecificArea","2.5.23.8"); /* remember the tpkt handler for change in preferences */ tpkt_handle = find_dissector("tpkt"); }