diff farolluz/templates/nasl_core.j2 @ 0:e18b61a73a68

Initial Release
author Benoît Allard <benoit.allard@greenbone.net>
date Tue, 23 Sep 2014 15:19:14 +0200
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/farolluz/templates/nasl_core.j2	Tue Sep 23 15:19:14 2014 +0200
@@ -0,0 +1,59 @@
+{#
+# Description:
+# Template macros for generation of NASL documents
+#
+# Authors:
+# BenoƮt Allard <benoit.allard@greenbone.net>
+#
+# Copyright:
+# Copyright (C) 2014 Greenbone Networks GmbH
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+-#}
+
+{% macro isrpmvuln(plist, ptree) %}
+{%- set done = [] %}
+{% for prod in plist %}
+  {%- set os, package = ptree.decomposeProduct(prod._productid) %}
+  {%- if os is not none %}
+    {%- set rls = os._name | release_map %}
+    {%- set rpm = package._name | for_rpmvuln %}
+    {%- if rls != 'UNKNOWN' %}
+      {%- if (rls, rpm) not in done %}
+# {{ package._name }} on {{ os._name }}
+if ((res = isrpmvuln(pkg:"{{ package._name | package_name }}", rpm:"{{ rpm }}", rls:"{{ rls }}")) != NULL)
+  {
+    security_message(data:res);
+    exit(0);
+  }
+        {{- done.append((rls, rpm)) or '' }}
+      {%- endif %}
+    {%- else %}
+# Unknown release: {{ os._name }}
+    {%- endif %}
+  {%- endif %}
+{%- endfor %}
+{% endmacro %}
+
+{% macro notes(cvrf, name) %}
+{%- for note in cvrf._notes %}
+  {%- if note._type == name or note._title == name %}{{ note._note.replace('"', "'") }}{% endif %}
+{%- endfor %}
+{%- for vulnerability in cvrf._vulnerabilities %}
+  {%- for note in vulnerability._notes %}
+    {%- if note._type == name or note._title == name %}{{ note._note.replace('"', "'") }}{% endif %}
+  {%- endfor %}
+{%- endfor %}
+{% endmacro %}
This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)