diff --git a/lib/wpscan/db/updater.rb b/lib/wpscan/db/updater.rb index 70ea38e6..c1514d4c 100644 --- a/lib/wpscan/db/updater.rb +++ b/lib/wpscan/db/updater.rb @@ -148,7 +148,7 @@ module WPScan create_backup(filename) dl_checksum = download(filename) - raise "#{filename}: checksums do not match" unless dl_checksum == db_checksum + raise Error::ChecksumsMismatch, filename unless dl_checksum == db_checksum updated << filename rescue StandardError => e diff --git a/lib/wpscan/errors/update.rb b/lib/wpscan/errors/update.rb index f20e5dc4..8c38fa3a 100644 --- a/lib/wpscan/errors/update.rb +++ b/lib/wpscan/errors/update.rb @@ -8,5 +8,17 @@ module WPScan 'Update required, you can not run a scan if a database file is missing.' end end + + class ChecksumsMismatch < Standard + attr_reader :db_file + + def initialize(db_file) + @db_file = db_file + end + + def to_s + "#{db_file}: checksums do not match. Please try again in a few minutes." + end + end end end