| 11 |
if (/^\[/) { |
if (/^\[/) { |
| 12 |
($dsa)=m/(DSA-.*?) /; |
($dsa)=m/(DSA-.*?) /; |
| 13 |
} |
} |
| 14 |
if (/\{CAN/) { |
if (/\{(CAN|CVE)/) { |
| 15 |
my ($canlist)=m/\{(.*)\}/; |
my ($canlist)=m/\{(.*)\}/; |
| 16 |
foreach my $can (split ' ', $canlist) { |
foreach my $can (split ' ', $canlist) { |
| 17 |
|
$can=~s/CVE-/CAN-/g; |
| 18 |
next unless $can=~/^CAN-\d+/; |
next unless $can=~/^CAN-\d+/; |
| 19 |
$cans{$can}{can}=$can; |
$cans{$can}{can}=$can; |
| 20 |
$cans{$can}{dsa}=$dsa; |
$cans{$can}{dsa}=$dsa; |
| 21 |
|
$can=~s/CAN-/CVE-/g; |
| 22 |
|
$cans{$can}{can}=$can; |
| 23 |
|
$cans{$can}{dsa}=$dsa; |
| 24 |
} |
} |
| 25 |
} |
} |
| 26 |
} |
} |
| 27 |
|
|
| 28 |
|
my %listedcans; |
| 29 |
|
|
| 30 |
open (FULL_CAN, "<$full_can_html") || die "$full_can_html: $!\n"; |
open (FULL_CAN, "<$full_can_html") || die "$full_can_html: $!\n"; |
| 31 |
my $can; |
my $can; |
| 32 |
while (<FULL_CAN>) { |
while (<FULL_CAN>) { |
| 33 |
if (m!<b>(CAN-\d+-\d+)</b>!) { |
if (m!<b>(CAN-\d+-\d+)</b>!) { |
| 34 |
$can=$1; |
$can=$1; |
| 35 |
$cans{$can}{can}=$can; |
$cans{$can}{can}=$can; |
| 36 |
|
$listedcans{$can}=1; |
| 37 |
|
} |
| 38 |
|
elsif (m!<b>(CVE-\d+-\d+)</b>!) { |
| 39 |
|
$can=$1; |
| 40 |
|
$cans{$can}{can}=$can; |
| 41 |
|
$listedcans{$can}=1; |
| 42 |
} |
} |
| 43 |
if (m!\*\*\s+RESERVED\s+\*\*!) { |
if (m!\*\*\s+RESERVED\s+\*\*!) { |
| 44 |
$cans{$can}{reserved}=1; |
$cans{$can}{reserved}=1; |
| 49 |
} |
} |
| 50 |
} |
} |
| 51 |
foreach my $can (reverse sort { $cans{$a}{can} cmp $cans{$b}{can} } keys %cans) { |
foreach my $can (reverse sort { $cans{$a}{can} cmp $cans{$b}{can} } keys %cans) { |
| 52 |
|
next unless $listedcans{$can}; |
| 53 |
print "$can\n"; |
print "$can\n"; |
| 54 |
if ($cans{$can}{reserved}) { |
if ($cans{$can}{reserved}) { |
| 55 |
print "\tNOTE: reserved\n"; |
print "\tNOTE: reserved\n"; |