[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: