* [gentoo-commits] proj/portage:master commit in: lib/portage/tests/glsa/, lib/portage/
@ 2019-08-19 1:10 Zac Medico
0 siblings, 0 replies; only message in thread
From: Zac Medico @ 2019-08-19 1:10 UTC (permalink / raw
To: gentoo-commits
commit: 98f8a4a8f5c38dfb3c797ad8d66f8cac1822805d
Author: Aaron Bauman <bman <AT> gentoo <DOT> org>
AuthorDate: Wed Aug 14 18:05:00 2019 +0000
Commit: Zac Medico <zmedico <AT> gentoo <DOT> org>
CommitDate: Mon Aug 19 01:03:15 2019 +0000
URL: https://gitweb.gentoo.org/proj/portage.git/commit/?id=98f8a4a8
portage/glsa.py: only check for revision based on GLSA DTD
* All GLSA's have been converted to use the revision attribute
* If there is no count attribute then raise a GlsaFormatException
* Ensure the attribute is an integer
Signed-off-by: Aaron Bauman <bman <AT> gentoo.org>
Signed-off-by: Zac Medico <zmedico <AT> gentoo.org>
lib/portage/glsa.py | 15 +++++----------
lib/portage/tests/glsa/test_security_set.py | 2 +-
2 files changed, 6 insertions(+), 11 deletions(-)
diff --git a/lib/portage/glsa.py b/lib/portage/glsa.py
index ccf93439d..3fd877b22 100644
--- a/lib/portage/glsa.py
+++ b/lib/portage/glsa.py
@@ -528,25 +528,20 @@ class Glsa:
self.synopsis = getText(myroot.getElementsByTagName("synopsis")[0], format="strip")
self.announced = format_date(getText(myroot.getElementsByTagName("announced")[0], format="strip"))
- # Support both formats of revised:
- # <revised>December 30, 2007: 02</revised>
+ # Support only format defined in GLSA DTD
# <revised count="2">2007-12-30</revised>
revisedEl = myroot.getElementsByTagName("revised")[0]
self.revised = getText(revisedEl, format="strip")
count = revisedEl.getAttribute("count")
if not count:
- if self.revised.find(":") >= 0:
- (self.revised, count) = self.revised.split(":")
- else:
- count = 1
-
- self.revised = format_date(self.revised)
+ raise GlsaFormatException("Count attribute is missing or blank in GLSA: " + myroot.getAttribute("id"))
try:
self.count = int(count)
except ValueError:
- # TODO should this raise a GlsaFormatException?
- self.count = 1
+ raise GlsaFormatException("Revision attribute in GLSA: " + myroot.getAttribute("id") + " is not an integer")
+
+ self.revised = format_date(self.revised)
# now the optional and 0-n toplevel, #PCDATA tags and references
try:
diff --git a/lib/portage/tests/glsa/test_security_set.py b/lib/portage/tests/glsa/test_security_set.py
index e73deaba9..a602f83d4 100644
--- a/lib/portage/tests/glsa/test_security_set.py
+++ b/lib/portage/tests/glsa/test_security_set.py
@@ -24,7 +24,7 @@ class SecuritySetTestCase(TestCase):
</synopsis>
<product type="ebuild">%(pkgname)s</product>
<announced>January 18, 2013</announced>
- <revised>January 18, 2013: 1</revised>
+ <revised count="1">January 18, 2013</revised>
<bug>55555</bug>
<access>remote</access>
<affected>
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2019-08-19 1:10 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-08-19 1:10 [gentoo-commits] proj/portage:master commit in: lib/portage/tests/glsa/, lib/portage/ Zac Medico
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox