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";