prewikka/0.9: Sources and Targets expansion link fixes
[email protected] Tue, 12 Jan 2010 17:53:40 +0100 (CET)
| Newsgroups | gmane.comp.security.ids.prelude.cvs |
|---|---|
| Message-ID | <[email protected]> |
commit 6edbfbe40f992f78d0df6af428b8358fdd57c2a2 Author: Yoann Vandoorselaere <[email protected]> Date: Tue Jan 12 17:19:34 2010 +0100 Sources and Targets expansion link fixes The link used to expand a list of sources/target was always broken. The link now point to the detailed view for CorrelationAlert, or the detailed event for alert. Additionally, this drop _fetchInfoFromLinkedMessage(), which was used to gather information for very old Correlator version whose events version didn't set sources and targets information. ======================================== prewikka/views/alertlisting.py | 36 +++++++++++++++--------------------- 1 files changed, 15 insertions(+), 21 deletions(-) ======================================== diff --git a/prewikka/views/alertlisting.py b/prewikka/views/alertlisting.py index 01acb9b..7ab1e01 100644 --- a/prewikka/views/alertlisting.py +++ b/prewikka/views/alertlisting.py @@ -525,7 +525,7 @@ class ListedAlert(ListedMessage): return None - def _setMessageSource(self, message): + def _setMessageSource(self, message, ident): total = 0 index = 0 for source in message["alert.source"]: @@ -549,7 +549,12 @@ class ListedAlert(ListedMessage): self["aggregated_source_total"] += total self["aggregated_source_hidden"] += (total - index) - def _setMessageTarget(self, message): + if message["alert.correlation_alert.name"]: + self["aggregated_source_expand"] = self["sub_alert_display"] + else: + self["aggregated_source_expand"] = self.createMessageLink(ident, "alert_summary") + + def _setMessageTarget(self, message, ident): index = 0 total = 0 @@ -582,6 +587,12 @@ class ListedAlert(ListedMessage): self["aggregated_target_total"] += total self["aggregated_target_hidden"] += (total - index) + if message["alert.correlation_alert.name"]: + self["aggregated_target_expand"] = self["sub_alert_display"] + else: + self["aggregated_source_expand"] = self.createMessageLink(ident, "alert_summary") + + def _setMessageClassificationReferences(self, dataset, message): dataset["classification_references"] = [ ] for ref in message["alert.classification.reference"]: @@ -612,18 +623,6 @@ class ListedAlert(ListedMessage): self._setMessageClassificationReferences(dataset, message) dataset["classification"] = self.createInlineFilteredField("alert.classification.text", message["alert.classification.text"], "classification") - def _fetchInfoFromLinkedMessage(self, criteria, source, target): - result = self.env.idmef_db.getAlertIdents(criteria) - for ident in result: - idmef = self.env.idmef_db.getAlert(ident) - - if not source: - self._setMessageSource(idmef) - - if not target: - self._setMessageTarget(idmef) - - def _setMessageAlertIdentInfo(self, message, alert, ident): fetch_classification_info = fetch_source_info = fetch_target_info = True @@ -656,11 +655,6 @@ class ListedAlert(ListedMessage): criteria.append("(alert.messageid = '%s' && alert.analyzer.analyzerid = '%s')" % (utils.escape_criteria(alertident["alertident"]), utils.escape_criteria(analyzerid))) - source = message["alert.source"] - target = message["alert.target"] - if not source or not target: - self._fetchInfoFromLinkedMessage(" || ".join(criteria), source, target) - self["sub_alert_number"] = i self["sub_alert_name"] = alert["name"] self["sub_alert_link"] = self.createMessageLink(ident, "alert_summary") @@ -718,10 +712,10 @@ class ListedAlert(ListedMessage): self._setMessageAlertIdentInfo(message, message["alert.tool_alert"], ident) if not self["source"]: - self._setMessageSource(message) + self._setMessageSource(message, ident) if not self["target"]: - self._setMessageTarget(message) + self._setMessageTarget(message, ident) def setMessageDirectionGeneric(self, direction, object, value, allow_empty_value=True): self._initDirectionIfNeeded(direction) _______________________________________________ Prelude-cvslog site list [email protected] http://lists.prelude-ids.org/mailman/listinfo/prelude-cvslog