[Secure-testing-commits] r230 - sarge-checks
Joey Hess
joeyh@costa.debian.org
Tue, 04 Jan 2005 23:53:54 +0100
Author: joeyh
Date: 2005-01-04 23:53:54 +0100 (Tue, 04 Jan 2005)
New Revision: 230
Modified:
sarge-checks/checklist
Log:
add html output mode
Modified: sarge-checks/checklist
===================================================================
--- sarge-checks/checklist 2005-01-04 17:45:42 UTC (rev 229)
+++ sarge-checks/checklist 2005-01-04 22:53:54 UTC (rev 230)
@@ -1,10 +1,27 @@
#!/usr/bin/perl
# Must run on a machine with madison.
+my $html=0;
+if ($ARGV[0] eq 'html') {
+ shift;
+ $html=1;
+}
+
if (! @ARGV) {
- die "usage: $0 list\n";
+ die "usage: $0 [html] list\n";
}
+if ($html) {
+ print "<title>testing security issues</title>\n";
+ print "<ul>\n";
+}
+
+sub printid {
+ my $id=shift;
+ $id=~s#((?:CAN|CVE)-\d+-\d+)#<a href="http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=$1">$1</a>#g if $html;
+ return $id;
+}
+
foreach my $list (@ARGV) {
if (-d $list) {
$list="$list/list";
@@ -23,20 +40,30 @@
my $package=$1;
my $version=$2;
if ($version=~/unfixed/) {
- print "$package $version for $id\n";
+ if ($html) {
+ print "<li>";
+ $version=~s!bug #(\d+)!<a href="http://bugs.debian.org/$1">bug #$1</a>!g;
+ }
+ print "$package $version for ".printid($id)."\n";
next;
}
my $maddy=`madison -s testing '$package'`;
if (length $maddy) {
my @fields = split(/\s*\|\s*/, $maddy);
- my $cmp=system("dpkg --compare-versions '$fields[1]' '>=' '$version'");
+ my $havver=$fields[1];
+ my $cmp=system("dpkg --compare-versions '$havver' '>=' '$version'");
if ($cmp != 0) {
- print "$package $version needed, have $fields[1] for $id\n";
+ if ($html) {
+ print "<li>";
+ $havver='<a href="http://bjorn.haxx.se/debian/testing.pl?package='.$package.'">'.$havever.'</a>';
+ }
+ print "$package $version needed, have $havver for ".printid($id)."\n";
}
}
}
- elsif (/HELP/) {
- print $_." ($id)\n";
- }
}
}
+
+if ($html) {
+ print "</ul>\n";
+}