INNER CODE UNIT · Ruby
parse
thesp0nge/dawnscanner · lib/cvss/parser.rb:7
def parse(string)
@base = {}
toks = string.split("/")
return parse_base(toks)
end
private
# AV:N/AC:L/Au:N/C:N/I:N/A:C
def parse_base(tokens)
return false if tokens.count != 6
av = tokens[0].split(":")
return false if av.count != 2 or av[0] != "AV" or (av[1] != "N" and av[1] != "L" and av[1] != "A")
ac = tokens[1].split(":")
return false if ac.count != 2 or ac[0] != "AC" or (ac[1] != "H" and ac[1] != "M" and ac[1] != "L")
au = tokens[2].split(":")