Merge pull request #339 from rapid7/model-fixes

Fixes a stack trace when deleting files
This commit is contained in:
Tod Beardsley 2012-04-16 10:53:42 -07:00
commit bac659339b
6 changed files with 34 additions and 9 deletions

View File

@ -0,0 +1,9 @@
class RenameWorkspaceMembers < ActiveRecord::Migration
def up
rename_table :project_members, :workspace_members
end
def down
rename_table :workspace_members, :project_members
end
end

View File

@ -13,8 +13,12 @@ module MetasploitDataModels::ActiveRecordModels::Loot
private
def delete_file
c = Pro::Client.get
c.loot_delete_file(self[:id])
c = Pro::Client.get rescue nil
if c
c.loot_delete_file(self[:id])
else
::File.unlink(self.path) rescue nil
end
end
}
end

View File

@ -16,8 +16,12 @@ module MetasploitDataModels::ActiveRecordModels::Report
private
def delete_file
c = Pro::Client.get
c.report_delete_file(self[:id])
c = Pro::Client.get rescue nil
if c
c.report_delete_file(self[:id])
else
::File.unlink(self.path) rescue nil
end
end
}
end

View File

@ -9,8 +9,12 @@ module MetasploitDataModels::ActiveRecordModels::ReportTemplate
private
def delete_file
c = Pro::Client.get
c.report_template_delete_file(self[:id])
c = Pro::Client.get rescue nil
if c
c.report_template_delete_file(self[:id])
else
::File.unlink(self.path) rescue nil
end
end
}
end

View File

@ -18,7 +18,7 @@ module MetasploitDataModels::ActiveRecordModels::Session
private
def stop
c = Pro::Client.get
c = Pro::Client.get rescue nil
c.session_stop(self.local_id) rescue nil # ignore exceptions (XXX - ideally, stopped an already-stopped session wouldn't throw XMLRPCException)
end
}

View File

@ -15,8 +15,12 @@ module MetasploitDataModels::ActiveRecordModels::Task
private
def delete_file
c = Pro::Client.get
c.task_delete_log(self[:id])
c = Pro::Client.get rescue nil
if c
c.task_delete_log(self[:id]) if c
else
::File.unlink(self.path) rescue nil
end
end
}
end