HEX
Server: Apache
System: Linux dinesh8189 5.15.98-grsec-sharedvalley-2.lc.el8.x86_64 #1 SMP Thu Mar 9 09:07:30 -03 2023 x86_64
User: cgmgerenciamento1 (814285)
PHP: 8.1.26
Disabled: apache_child_terminate,dl,escapeshellarg,escapeshellcmd,exec,link,mail,openlog,passthru,pcntl_alarm,pcntl_exec,pcntl_fork,pcntl_get_last_error,pcntl_getpriority,pcntl_setpriority,pcntl_signal,pcntl_signal_dispatch,pcntl_sigprocmask,pcntl_sigtimedwait,pcntl_sigwaitinfo,pcntl_strerror,pcntl_wait,pcntl_waitpid,pcntl_wexitstatus,pcntl_wifexited,pcntl_wifsignaled,pcntl_wifstopped,pcntl_wstopsig,pcntl_wtermsig,php_check_syntax,php_strip_whitespace,popen,proc_close,proc_open,shell_exec,symlink,system
Upload Files
File: //opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/windows/monkey_patches/dir.rb
require 'win32/dir/constants'
require 'win32/dir/functions'
require 'win32/dir/structs'

class DirMonkeyPatched
  include ::Dir::Structs
  include ::Dir::Constants
  extend  ::Dir::Functions

  path  = nil
  key   = :PERSONAL
  value = 0x0005
  buf   = 0.chr * 1024
  buf.encode!(Encoding::UTF_16LE)

  if SHGetFolderPathW(0, value, 0, 0, buf) == 0 # Current path
    path = buf.strip
  elsif SHGetFolderPathW(0, value, 0, 1, buf) == 0 # Default path
    path = buf.strip
  else
    FFI::MemoryPointer.new(:long) do |ptr|
      if SHGetFolderLocation(0, value, 0, 0, ptr) == 0
        SHFILEINFO.new do |info|
          flags = SHGFI_DISPLAYNAME | SHGFI_PIDL
          if SHGetFileInfo(ptr.read_long, 0, info, info.size, flags) != 0
            path = info[:szDisplayName].to_s
          end
        end
      end
    end
  end

  if path.nil?
    begin
      Dir.const_set(key, ''.encode(Encoding.default_external))
    rescue Encoding::UndefinedConversionError
      Dir.const_set(key, ''.encode(Encoding::UTF_8))
    end
  end
end