Author: stef-guest
Date: 2007-01-11 21:24:27 +0100 (Thu, 11 Jan 2007)
New Revision: 5242
Modified:
bin/updatelist
Log:
fix to really support non DSA/DTSA cross references, also fixes some missing
''TODO: check'' entries
Modified: bin/updatelist
==================================================================---
bin/updatelist 2007-01-11 20:14:22 UTC (rev 5241)
+++ bin/updatelist 2007-01-11 20:24:27 UTC (rev 5242)
@@ -20,7 +20,7 @@
foreach my $cve (split '' '', $cvelist) {
next unless $cve=~/^CVE-\d+/;
$cves{$cve}{cve}=$cve;
- push @{$cves{$cve}{dsa}}, $dsa;
+ push @{$cves{$cve}{xref}}, $dsa;
}
}
}
@@ -72,8 +72,8 @@
if ($cves{$cve}{rejected}) {
push @out, "\tREJECTED\n";
}
- if ($cves{$cve}{dsa}) {
- push @out, "\t{".join(" ",
@{$cves{$cve}{dsa}})."}\n";
+ if ($cves{$cve}{xref}) {
+ push @out, "\t{".join(" ",
@{$cves{$cve}{xref}})."}\n";
}
if ($cves{$cve}{notes}) {
foreach (@{$cves{$cve}{notes}}) {
@@ -114,8 +114,9 @@
elsif (/^\s+NOTE: covered by DT?SA.*/) {
# skip it (old form)
}
- elsif (/^\s+{DT?SA.*/) {
- # skip
+ elsif (/^\s+{\s*(.+?)\s*}/) {
+ my @xrefs=split(''\s+'', $1);
+ push @{$cves{$cve}{xref}}, grep(!/^DT?SA/, @xrefs);
}
elsif (/^\s+(.*)/ && $cve) {
push @{$cves{$cve}{notes}}, $1;
@@ -144,8 +145,8 @@
if ($cves{$cve}{rejected}) {
print "\tREJECTED\n";
}
- if ($cves{$cve}{dsa}) {
- print "\t{".join(" ",
@{$cves{$cve}{dsa}})."}\n";
+ if ($cves{$cve}{xref}) {
+ print "\t{".join(" ",
@{$cves{$cve}{xref}})."}\n";
}
if (!$cves{$cve}{reserved} || $cves{$cve}{rejected} ) {
print "\tTODO: check\n";