summaryrefslogtreecommitdiff
blob: 31d3186943f454dbb4611fe98f7b25ce12f4b519 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
<%= (@packages_count += 1).to_s.rjust(3) +  "  " -%>
<%= if package.length <= 23
      package.ljust(23)
    else
      package + "\n" + ' ' * 28
    end -%>
<%=

vulnerable_versions = (items['vulnerable'].sort_by { |p| p.version.to_i } if items.has_key? 'vulnerable') || []
unaffected_versions = (items['unaffected'].sort_by { |p| p.version.to_i } if items.has_key? 'unaffected') || []

versions = []

print_vulnerable = (unaffected_versions.size == 0 ? true : false)
@print_vulnerable = true if print_vulnerable

while vulnerable_versions.size > 0 or unaffected_versions.size > 0
  v = (vulnerable_versions.shift if vulnerable_versions.size > 0) || nil
  print_slot = (v.slot != '*' ? true : false)
  if print_slot
    line = (v ? "#{v.comp} #{v.version}:#{v.slot}" : "").center(20)
  else
    line = (v ? "#{v.comp} #{v.version}" : "").center(20)
  end

  if v and v.arch != '*'
    @arches[@packages_count] ||= []
    @arches[@packages_count] += v.arch.split(' ')
  end

  if print_vulnerable
    line += "Vulnerable!".rjust(22)
    print_vulnerable = false
  else
    v = (unaffected_versions.shift if unaffected_versions.size > 0) || nil
    print_slot = (v.slot != '*' ? true : false)
    if print_slot
      line += (v ? "#{v.comp} #{v.version}:#{v.slot} #{v.automatic ? "" : (@print_noauto = true && "*")}" : "").rjust(22)
    else
      line += (v ? "#{v.comp} #{v.version} #{v.automatic ? "" : (@print_noauto = true && "*")}" : "").rjust(22)
    end
  end
  versions << line
end  

versions.join("\n" + ' ' * 28).html_safe

-%>