@(ht: String, idPrefix: String, vuln: Vulnerability)
@row[T](name: String, render: T => String = {(_:T).toString})(valueOption: Option[T]) = {
@for(value <- valueOption){
| @name |
@render(value) |
}
}
@severityTable(vuln: Vulnerability) = {
Rating of severity on scale 0–10. The total score depends on following subscores:
@row("authentication")(vuln.cvss.authenticationr)
@row("availability impact")(vuln.cvss.availabilityImpact)
@row("access vector")(vuln.cvss.accessVector)
@row("integrity impact")(vuln.cvss.integrityImpact)
@row("access complexity")(vuln.cvss.accessComplexity)
@row("confidential impact")(vuln.cvss.confidentialImpact)
@row("total score")(vuln.cvss.score)
}
@section = @{views.html.genericSection(idPrefix)(ht) _}
@vuln.cvss.score match{
case None => {unknown}
case Some(score) => {@score}
}
@*@vuln.cweOption.map{cwe => @cwe
}*@
@vuln.description
@*@section("vuln-sw", "Vulnerable software"){
@for(sw <- vuln.vulnerableSoftware){
- @sw.name@if(sw.allPreviousVersion){ and all previous versions}@if(sw.isVersionless){}
}
}*@
@section("references", "References"){
@for(reference <- vuln.references){
- @secureLink(reference.url){@reference.source: @reference.name}
}
}