403Webshell
Server IP : 66.29.132.122  /  Your IP : 18.226.185.87
Web Server : LiteSpeed
System : Linux business142.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64
User : admazpex ( 531)
PHP Version : 7.2.34
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /proc/self/root/opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/hiera-eyaml-3.4.0/lib/hiera/backend/eyaml/subcommands/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /proc/self/root/opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/hiera-eyaml-3.4.0/lib/hiera/backend/eyaml/subcommands/recrypt.rb
require 'hiera/backend/eyaml/subcommand'
require 'hiera/backend/eyaml/options'
require 'hiera/backend/eyaml/parser/parser'

class Hiera
  module Backend
    module Eyaml
      module Subcommands

        class Recrypt < Subcommand

          def self.options
            [
                 {:name          => :change_encryption,
                  :description   => "Specify the new encryption method that should be used for the file",
                  :short         => 'd',
                  :default       => "pkcs7"}
             ]
          end

          def self.description
            "recrypt an eyaml file"
          end

          def self.helptext
            "Usage: eyaml recrypt [options] <some-eyaml-file>"
          end

          def self.validate options
            Optimist::die "You must specify an eyaml file" if ARGV.empty?
            options[:source] = :eyaml
            options[:eyaml] = ARGV.shift
            options[:input_data] = File.read options[:eyaml]
            @change_encryption = options[:change_encryption]
            options
          end

          def self.execute 

            encrypted_parser = Parser::ParserFactory.encrypted_parser
            tokens = encrypted_parser.parse Eyaml::Options[:input_data]
            decrypted_input = tokens.each_with_index.to_a.map{|(t,index)| t.to_decrypted :index => index}.join

            decrypted_parser = Parser::ParserFactory.decrypted_parser
            edited_tokens = decrypted_parser.parse(decrypted_input)

            encrypted_output = edited_tokens.map{ |t| t.to_encrypted({:change_encryption => @change_encryption}) }.join

            filename = Eyaml::Options[:eyaml]
            File.open("#{filename}", 'w') { |file|
              file.write encrypted_output
            }

            nil
          end

        end

      end
    end
  end
end

Youez - 2016 - github.com/yon3zu
LinuXploit