some parse-advisory.pl updates (was: DSA listings on http://www.debian.org/ are out of date)
On Tue, Feb 05, 2008 at 09:07:30PM +0100, Simon Paillard wrote:
> If the script is not convenient enough for you, I can try to automate a
> bit the task, but I think it needs instead to be included in your
> process of DSA releasing.
Here attached is the little patch I applied to the CVS :
* you don't need to use any specific filename for the input file, the
right output names are guessed from the content of the DSA
* the script doesn't forget anymore CVE references if they are several
lines of them.
Next step, discover the right link to lists.debian.org/.../msgNNNNN.html
Regards,
--
Simon Paillard
Index: parse-advisory.pl
===================================================================
RCS file: /cvs/webwml/webwml/english/security/parse-advisory.pl,v
retrieving revision 1.65
diff -u -r1.65 parse-advisory.pl
--- parse-advisory.pl 24 Oct 2007 10:24:09 -0000 1.65
+++ parse-advisory.pl 10 Apr 2008 22:32:47 -0000
@@ -75,6 +75,12 @@
if ($l =~ /^(CVE (names?|id\(?s?\)?|references?)?|CERT advisor(y|ies))\s*: (.+)/i) {
push @dbids, join (" ", split (/,? /, $4));
}
+ if ($l =~ /^\s*((?:CVE-\d+-\d+[ ]*)+)$/i) {
+ push @dbids, join (" ", split (/,? /, $1));
+ }
+ if ($l =~ /^\s*((?:VU#\d+[ ]*)+)$/i) {
+ push @dbids, join (" ", split (/,? /, $1));
+ }
if ($l =~ /^Bugtraq Ids?\s*: (.+)/i) {
for $id (split (/,? /, $1)) {
push @dbids, "BID".$id;
@@ -121,6 +127,8 @@
$files =~ s/(- )?-+\n//g;
$files =~ s/\n\n$/\n/s;
+$files =~ s/.+ updates are available for .+\n//g;
+
$files =~ s/( )? (Size\/)?MD5 checksum: (\s*\d+ )?\w{32}\n//sg;
$files =~ s/( )?Source archives:/<dt><source \/>/sg;
$files =~ s/( )?Architecture.independent \w+:\n/<dt><arch-indep \/>\n/sg;
@@ -143,12 +151,12 @@
}
$files = join ("\n", @f);
-if ( $adv =~ /.*dsa[- ](\d+)-(\d+)\.(.*)/ ) {
+if (defined($package) && $dsa =~ /DSA[- ](\d+)-(\d+)/ ) {
$wml = "$curyear/dsa-$1.wml";
$data = "$curyear/dsa-$1.data";
- $pagetitle = "DSA-$1-$2 $3";
+ $pagetitle = "DSA-$1-$2 $package";
} else {
- die ("Could not parse advisory filename '$adv'. Must be: dsa-<nnnn>-<rev>.<package>");
+ die ("Could not parse advisory filename '$adv'. Must contain Package and DSA number information");
}
$data = $wml = "-" if ($debug);
Reply to: