This file is indexed.

/usr/lib/ruby/vendor_ruby/moneta/transformer/helper.rb is in ruby-moneta 0.7.20-2.2.

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
module Moneta
  class Transformer
    # @api private
    module Helper
      extend self

      def escape(value)
        value.gsub(/[^a-zA-Z0-9_-]+/){ '%' + $&.unpack('H2' * $&.bytesize).join('%').upcase }
      end

      def unescape(value)
        value.gsub(/((?:%[0-9a-fA-F]{2})+)/){ [$1.delete('%')].pack('H*') }
      end

      def hmacverify(value, secret)
        hash, value = value[0..31], value[32..-1]
        value if hash == OpenSSL::HMAC.digest(OpenSSL::Digest::Digest.new('sha256'), secret, value)
      end

      def hmacsign(value, secret)
        OpenSSL::HMAC.digest(OpenSSL::Digest::Digest.new('sha256'), secret, value) << value
      end

      def truncate(value, maxlen)
        if value.size >= maxlen
          digest = Digest::MD5.hexdigest(value)
          value = value[0, maxlen-digest.size] << digest
        end
        value
      end

      def spread(value)
        ::File.join(value[0..1], value[2..-1])
      end
    end
  end
end