[Secure-testing-commits] r1936 - bin lib/python
Florian Weimer
fw at costa.debian.org
Mon Sep 12 16:46:37 UTC 2005
Author: fw
Date: 2005-09-12 16:46:36 +0000 (Mon, 12 Sep 2005)
New Revision: 1936
Modified:
bin/update-bug-list-db
lib/python/security_db.py
Log:
lib/python/security_db.py (DB.finishBugs):
Fix reporting of consistency check failures.
bin/update-bug-list-db:
Do not print "error: " prefixes.
Modified: bin/update-bug-list-db
===================================================================
--- bin/update-bug-list-db 2005-09-12 16:37:13 UTC (rev 1935)
+++ bin/update-bug-list-db 2005-09-12 16:46:36 UTC (rev 1936)
@@ -44,7 +44,7 @@
if warnings:
db.rollback(cursor)
for x in warnings:
- print "error:", x
+ print x
sys.exit(1)
else:
db.commit(cursor)
Modified: lib/python/security_db.py
===================================================================
--- lib/python/security_db.py 2005-09-12 16:37:13 UTC (rev 1935)
+++ lib/python/security_db.py 2005-09-12 16:46:36 UTC (rev 1936)
@@ -268,6 +268,8 @@
warnings = []
+ # Check that there are no CAN/CVE collisions.
+
for b1, b2 in list(cursor.execute\
("""SELECT b1.name, b2.name FROM bugs AS b1, bugs AS b2
WHERE b1.name LIKE 'CVE-%'
@@ -283,6 +285,10 @@
warnings.append("%s:%d: location of %s"
% (b2.source_file, b2.source_line, b2.name))
+ # Normalize the CAN/CVE references to the entry which is
+ # actually in the database. After the CAN -> CVE transition,
+ # this can go away (but we should check that the
+ # cross-references are valid).
for source, target in list(cursor.execute\
("""SELECT source, target FROM bugs_xref
@@ -301,11 +307,26 @@
(t, source, target))
found = True
if not found:
- b = bugsFromDB(c, source)
+ b = bugs.BugFromDB(cursor, source)
warnings.append\
("%s: %d: reference to unknwown CVE entry %s"
% (b.source_file, b.source_line, target))
-
+
+ # Check that the DSA/DTSA references are valid.
+
+ for source, target in list(cursor.execute
+ ("""SELECT source, target FROM bugs_xref
+ WHERE target LIKE 'DSA%' OR target LIKE 'DTSA%'""")):
+ found = False
+ for (b,) in cursor.execute("SELECT name FROM bugs WHERE name = ?",
+ (target,)):
+ found = True
+ if not found:
+ b = bugs.BugFromDB(cursor, source)
+ warnings.append\
+ ("%s: %d: reference to unknwown advisory %s"
+ % (b.source_file, b.source_line, target))
+
return warnings
More information about the Secure-testing-commits
mailing list