Mercurial > farol > farolluz
view farolluz/templates/nasl_core.j2 @ 55:7653ffbec88b tip
Update setup.py
author | Benoît Allard <benoit.allard@greenbone.net> |
---|---|
date | Wed, 07 Jan 2015 12:02:23 +0100 |
parents | e18b61a73a68 |
children |
line wrap: on
line source
{# # 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 %}