This file is indexed.

/usr/lib/ruby/1.8/mechanize/chain/ssl_resolver.rb is in libwww-mechanize-ruby1.8 1.0.0-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
class Mechanize
  class Chain
    class SSLResolver
      include Mechanize::Handler

      def initialize(ca_file, verify_callback, cert, key, pass)
        @ca_file = ca_file
        @verify_callback = verify_callback
        @cert = cert
        @key = key
        @pass = pass
      end

      def handle(ctx, params)
        uri       = params[:uri]
        http_obj  = params[:connection]

        ssl = nil
        if http_obj.instance_variable_defined?(:@ssl_context)
          ssl = http_obj.instance_variable_get(:@ssl_context)
        end

        if uri.scheme == 'https' && ! http_obj.started? && (ssl.nil? || ! ssl.frozen?)
          http_obj.use_ssl = true
          http_obj.verify_mode = OpenSSL::SSL::VERIFY_NONE
          if @ca_file
            http_obj.ca_file = @ca_file
            http_obj.verify_mode = OpenSSL::SSL::VERIFY_PEER
            http_obj.verify_callback = @verify_callback if @verify_callback
          end
          if @cert && @key
            http_obj.cert = OpenSSL::X509::Certificate.new(::File.read(@cert))
            http_obj.key  = OpenSSL::PKey::RSA.new(::File.read(@key), @pass)
          end
        end
        super
      end
    end
  end
end