private static ruleType CreatePresRule(String id, String subhandling, bool useTransformations, object condition) { XmlDocument document = new XmlDocument(); ruleType rule = new ruleType(); rule.id = id; rule.conditions = new conditionsType(); rule.conditions.Items = new object[1]; rule.conditions.Items[0] = condition; //<cr:actions> // <sub-handling>allow</sub-handling> //</cr:actions> XmlElement subHandling = document.CreateElement("sub-handling", XcapService.XCAP_AUID_IETF_PRES_RULES_NS); subHandling.InnerText = subhandling; rule.actions = new extensibleType(); rule.actions.Any = new XmlElement[] { subHandling }; //<cr:transformations>... if (useTransformations) { //<provide-services> // <all-services /> //</provide-services> XmlElement allServices = document.CreateElement("all-services", XcapService.XCAP_AUID_IETF_PRES_RULES_NS); XmlElement provideServices = document.CreateElement("provide-services", XcapService.XCAP_AUID_IETF_PRES_RULES_NS); provideServices.AppendChild(allServices); //<provide-persons> // <all-persons /> // </provide-persons> XmlElement allPersons = document.CreateElement("all-persons", XcapService.XCAP_AUID_IETF_PRES_RULES_NS); XmlElement providePersons = document.CreateElement("provide-persons", XcapService.XCAP_AUID_IETF_PRES_RULES_NS); providePersons.AppendChild(allPersons); //<provide-devices> // <all-devices /> //</provide-devices> XmlElement allDevices = document.CreateElement("all-devices", XcapService.XCAP_AUID_IETF_PRES_RULES_NS); XmlElement provideDevices = document.CreateElement("provide-devices", XcapService.XCAP_AUID_IETF_PRES_RULES_NS); provideDevices.AppendChild(allDevices); // <provide-all-attributes /> XmlElement provideAllAttributes = document.CreateElement("provide-all-attributes", XcapService.XCAP_AUID_IETF_PRES_RULES_NS); rule.transformations = new extensibleType(); rule.transformations.Any = new XmlElement[] { provideServices, providePersons, provideAllAttributes, provideDevices }; } return(rule); }
public IActionResult CreateRuleSet(cardFace cardFace, cardSuit cardSuit, ruleType ruleType) { ViewBag.CardSuit = new SelectList(Enum.GetNames(typeof(cardSuit))); ViewBag.CardFace = new SelectList(Enum.GetNames(typeof(cardFace))); ViewBag.CardRule = new SelectList(Enum.GetNames(typeof(ruleType))); Card card = new Card { Face = cardFace, Suit = cardSuit }; List <Rule> rules = new List <Rule>(); rules.AddRange(RuleList); rules.Add((new Rule(card, ruleType, 0))); RuleList = rules; return(View(RuleList)); }
private void createRulesForSignatures(ruleType rRuleType) { var dgvRowsToRemove = new List<DataGridViewRow>(); String sVuln_id, sActionObjectSignature, sSeverity, sVuln_type; foreach (DataGridViewRow dgvRow in dgvTargetMethods.Rows) { UInt32 uDbId; if (UInt32.TryParse(dgvRow.Cells["db_id"].Value.ToString(), out uDbId)) { String sMethodSignature = dgvRow.Cells["signature"].Value.ToString(); // String sVulnName = ""; switch (rRuleType) { case ruleType.TaintPropagator: if (Lddb_OunceV6.action_makeMethod_TaintPropagator(uDbId, sMethodSignature,"all","all","1")) dgvRowsToRemove.Add(dgvRow); break; case ruleType.Callback: if (Lddb_OunceV6.action_makeMethodACallback(uDbId, sMethodSignature)) dgvRowsToRemove.Add(dgvRow); break; case ruleType.Source: sVuln_id = "0"; sActionObjectSignature = "InputAnyTainted"; sSeverity = "High"; sVuln_type = "Vulnerability.F1.Source"; if (cbEditCustomRules_vuln_type.Text != "") sVuln_type = cbEditCustomRules_vuln_type.Text; if (Lddb_OunceV6.action_makeMethod_Source(uDbId.ToString(), sMethodSignature, sVuln_id, sActionObjectSignature, sSeverity, sVuln_type)) dgvRowsToRemove.Add(dgvRow); break; case ruleType.Sink: sVuln_id = "0"; sActionObjectSignature = "OutputAnyNotValidated"; sSeverity = "High"; sVuln_type = "Vulnerability.F1.Sink"; if (cbEditCustomRules_vuln_type.Text != "") sVuln_type = cbEditCustomRules_vuln_type.Text; if (Lddb_OunceV6.action_makeMethod_Sink(uDbId.ToString(), sMethodSignature, sVuln_id, sActionObjectSignature, sSeverity, sVuln_type, true)) dgvRowsToRemove.Add(dgvRow); break; case ruleType.Validator: if (Lddb_OunceV6.action_makeMethod_Validator(uDbId, sMethodSignature)) dgvRowsToRemove.Add(dgvRow); break; case ruleType.NotPropagateTaint: if (Lddb_OunceV6.action_makeMethod_NotPropagateTaint(uDbId, sMethodSignature)) dgvRowsToRemove.Add(dgvRow); break; default: break; } } else DI.log.error("in btMarkMethodsAs_TaintPropagator_Click error converting {0} to an UInt32", dgvRow.Cells["Db_id"].Value.ToString()); } foreach (DataGridViewRow dgvRowToRemove in dgvRowsToRemove) dgvTargetMethods.Rows.Remove(dgvRowToRemove); }
private void createRulesForSignatures(ruleType rRuleType) { var dgvRowsToRemove = new List <DataGridViewRow>(); String sVuln_id, sActionObjectSignature, sSeverity, sVuln_type; foreach (DataGridViewRow dgvRow in dgvTargetMethods.Rows) { UInt32 uDbId; if (UInt32.TryParse(dgvRow.Cells["db_id"].Value.ToString(), out uDbId)) { String sMethodSignature = dgvRow.Cells["signature"].Value.ToString(); // String sVulnName = ""; switch (rRuleType) { case ruleType.TaintPropagator: if (Lddb_OunceV6.action_makeMethod_TaintPropagator(uDbId, sMethodSignature, "all", "all", "1")) { dgvRowsToRemove.Add(dgvRow); } break; case ruleType.Callback: if (Lddb_OunceV6.action_makeMethodACallback(uDbId, sMethodSignature)) { dgvRowsToRemove.Add(dgvRow); } break; case ruleType.Source: sVuln_id = "0"; sActionObjectSignature = "InputAnyTainted"; sSeverity = "High"; sVuln_type = "Vulnerability.F1.Source"; if (cbEditCustomRules_vuln_type.Text != "") { sVuln_type = cbEditCustomRules_vuln_type.Text; } if (Lddb_OunceV6.action_makeMethod_Source(uDbId.ToString(), sMethodSignature, sVuln_id, sActionObjectSignature, sSeverity, sVuln_type)) { dgvRowsToRemove.Add(dgvRow); } break; case ruleType.Sink: sVuln_id = "0"; sActionObjectSignature = "OutputAnyNotValidated"; sSeverity = "High"; sVuln_type = "Vulnerability.F1.Sink"; if (cbEditCustomRules_vuln_type.Text != "") { sVuln_type = cbEditCustomRules_vuln_type.Text; } if (Lddb_OunceV6.action_makeMethod_Sink(uDbId.ToString(), sMethodSignature, sVuln_id, sActionObjectSignature, sSeverity, sVuln_type, true)) { dgvRowsToRemove.Add(dgvRow); } break; case ruleType.Validator: if (Lddb_OunceV6.action_makeMethod_Validator(uDbId, sMethodSignature)) { dgvRowsToRemove.Add(dgvRow); } break; case ruleType.NotPropagateTaint: if (Lddb_OunceV6.action_makeMethod_NotPropagateTaint(uDbId, sMethodSignature)) { dgvRowsToRemove.Add(dgvRow); } break; default: break; } } else { DI.log.error("in btMarkMethodsAs_TaintPropagator_Click error converting {0} to an UInt32", dgvRow.Cells["Db_id"].Value.ToString()); } } foreach (DataGridViewRow dgvRowToRemove in dgvRowsToRemove) { dgvTargetMethods.Rows.Remove(dgvRowToRemove); } }
public Rule(Card card, ruleType ruletype, int ruleAmount) { Card = card; RuleType = ruletype; RuleAmount = ruleAmount; }