Sha256: e2fb765fc3c36c0a5f39d194a1cab042bad39e01a350957005f6fa69ec713695

Contents?: true

Size: 1.43 KB

Versions: 16

Compression:

Stored size: 1.43 KB

Contents

module Dradis::Plugins::Vulndb::Filters
  class FullTextSearch < Dradis::Plugins::Import::Filters::Base
    def query(params={})
      results = []

      # In case the user has changed the vulndb:rest_url setting we re-read
      # it every time
      rest_url = URI::parse(Dradis::Plugins::Vulndb::Engine::settings.hq_rest_url)

      client = ::VulnDBHQ::client
      client.host = "https://#{rest_url.host}"
      client.user = CGI::unescape(rest_url.user)
      client.password = CGI::unescape(rest_url.password)

      begin
        results += client.private_pages(q: params[:query]).collect do |page|
          Dradis::Plugins::Import::Result.new(
            description: page.content.dup,
                  title: "[pri] #{page.name}",
                   tags: ["!f89406_private"]
          )
        end
        results += client.public_pages(:q => params[:query]).collect do |page|
          Dradis::Plugins::Import::Result.new(
            description: page.content.dup,
                  title: "[pub] #{page.name}",
                   tags: ['!468847_public']
          )
        end
      rescue Exception => e
        results << Dradis::Plugins::Import::Result.new(
                    title: 'Error fetching records',
                    description: e.message
                    )
      end
      return results
    end
  end
end

Dradis::Plugins::Import::Filters.add :vulndb, :full_text_search, Dradis::Plugins::Vulndb::Filters::FullTextSearch

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
dradis-vulndb-3.21.0 lib/dradis/plugins/vulndb/filters.rb
dradis-vulndb-3.20.0 lib/dradis/plugins/vulndb/filters.rb
dradis-vulndb-3.19.0 lib/dradis/plugins/vulndb/filters.rb
dradis-vulndb-3.18.0 lib/dradis/plugins/vulndb/filters.rb
dradis-vulndb-3.17.0 lib/dradis/plugins/vulndb/filters.rb
dradis-vulndb-3.16.0 lib/dradis/plugins/vulndb/filters.rb
dradis-vulndb-3.15.0 lib/dradis/plugins/vulndb/filters.rb
dradis-vulndb-3.14.0 lib/dradis/plugins/vulndb/filters.rb
dradis-vulndb-3.13.0 lib/dradis/plugins/vulndb/filters.rb
dradis-vulndb-3.12.0 lib/dradis/plugins/vulndb/filters.rb
dradis-vulndb-3.11.0 lib/dradis/plugins/vulndb/filters.rb
dradis-vulndb-3.10.0 lib/dradis/plugins/vulndb/filters.rb
dradis-vulndb-3.9.0 lib/dradis/plugins/vulndb/filters.rb
dradis-vulndb-3.8.0 lib/dradis/plugins/vulndb/filters.rb
dradis-vulndb-3.7.0 lib/dradis/plugins/vulndb/filters.rb
dradis-vulndb-3.6.0 lib/dradis/plugins/vulndb/filters.rb