diff --git a/lib/github_advisory_sync.rb b/lib/github_advisory_sync.rb index 65dbf5e156..af0361b0f6 100644 --- a/lib/github_advisory_sync.rb +++ b/lib/github_advisory_sync.rb @@ -184,6 +184,11 @@ def github_api_token class GitHubAdvisory class Package + NORMALISED_NAMES = { + "arabic-prawn" => "Arabic-Prawn", + "redcloth" => "RedCloth", + } + attr_reader :name def initialize(advisory, name) @@ -196,7 +201,11 @@ def updating? end def filename - File.join("gems", name, "#{@advisory.primary_id}.yml") + # These packages appear to have been named differently in the past + # This 'corrects' them so updates don't affect existing vulnerabilities + package_name = NORMALISED_NAMES.fetch(name, name) + + File.join("gems", package_name, "#{@advisory.primary_id}.yml") end def framework @@ -414,7 +423,7 @@ def create(package) # populate the related information new_data["related"] = { - "url" => advisory["references"] + "url" => advisory["references"].map { |reference| reference['url'] }.reject(&:empty?) } FileUtils.mkdir_p(File.dirname(filename_to_write))