Mercurial > farol > farol
diff farol/controller.py @ 127:d49c1ee6bc07
Harden server-side version parsing
author | Benoît Allard <benoit.allard@greenbone.net> |
---|---|
date | Thu, 23 Oct 2014 16:50:02 +0200 |
parents | 5535ac5fef37 |
children | d2588d88d47a |
line wrap: on
line diff
--- a/farol/controller.py Thu Oct 23 16:32:33 2014 +0200 +++ b/farol/controller.py Thu Oct 23 16:50:02 2014 +0200 @@ -38,7 +38,7 @@ from flask import request from farolluz.cvrf import CVRFNote, CVRFReference, CVRFAcknowledgment -from farolluz.parsers.cvrf import parseDate as parseXMLDate +from farolluz.parsers.cvrf import parseDate as parseXMLDate, parseVersion as parseXMLVersion def split_fields(field, separator=','): if not field: @@ -91,3 +91,8 @@ m = re.match('(\d{4})-(\d{2})-(\d{2})', string) return datetime(int(m.group(1)), int(m.group(2)), int(m.group(3)), tzinfo=timezone(timedelta(hours=0, minutes=0))) + +def parseVersion(string): + """ An extended version, one that doesn't throw exceptions """ + try: return parseXMLVersion(string) + except ValueError: return None