From 94be33e8ee050d11dfe98434fe14aa131bd3b4aa Mon Sep 17 00:00:00 2001 From: Tod Beardsley Date: Sat, 30 Apr 2011 01:49:55 +0000 Subject: [PATCH] A little cleaner method for determining the nature of imported zip files. git-svn-id: file:///home/svn/framework3/trunk@12472 4d416f70-5f16-0410-b530-b9f4589650da --- lib/msf/core/db.rb | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/msf/core/db.rb b/lib/msf/core/db.rb index c82d8ec76f..fda1e61c7e 100644 --- a/lib/msf/core/db.rb +++ b/lib/msf/core/db.rb @@ -2077,12 +2077,12 @@ class DBManager @import_filedata[:zip_filename] = File.split(data.to_s).last @import_filedata[:zip_basename] = @import_filedata[:zip_filename].gsub(/\.zip$/,"") @import_filedata[:zip_entry_names] = data.entries.map {|x| x.name} - @import_filedata[:zip_xml] = @import_filedata[:zip_entry_names].grep(/^(.*)_[0-9]+\.xml$/).first - @import_filedata[:zip_wspace] = @import_filedata[:zip_xml].to_s.match(/^(.*)_[0-9]+\.xml$/)[1] - @import_filedata[:type] = "Metasploit ZIP Report" - if @import_filedata[:zip_xml] + begin + @import_filedata[:zip_xml] = @import_filedata[:zip_entry_names].grep(/^(.*)_[0-9]+\.xml$/).first || raise + @import_filedata[:zip_wspace] = @import_filedata[:zip_xml].to_s.match(/^(.*)_[0-9]+\.xml$/)[1] + @import_filedata[:type] = "Metasploit ZIP Report" return :msf_zip - else + rescue raise DBImportError.new("The zip file provided is not a Metasploit ZIP report") end end