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/configurer/plugin_handler.rb
# Break out the code related to plugins.  This module is
# just included into the agent, but having it here makes it
# easier to test.
require 'puppet/configurer'

class Puppet::Configurer::PluginHandler
  SUPPORTED_LOCALES_MOUNT_AGENT_VERSION = Gem::Version.new("5.3.4")

  def download_plugins(environment)
    source_permissions = Puppet::Util::Platform.windows? ? :ignore : :use

    plugin_downloader = Puppet::Configurer::Downloader.new(
      "plugin",
      Puppet[:plugindest],
      Puppet[:pluginsource],
      Puppet[:pluginsignore],
      environment
    )
    plugin_fact_downloader = Puppet::Configurer::Downloader.new(
      "pluginfacts",
      Puppet[:pluginfactdest],
      Puppet[:pluginfactsource],
      Puppet[:pluginsignore],
      environment,
      source_permissions
    )

    result = []
    result += plugin_fact_downloader.evaluate
    result += plugin_downloader.evaluate

    # until file metadata/content are using the rest client, we need to check
    # both :server_agent_version and the session to see if the server supports
    # the "locales" mount
    server_agent_version = Puppet.lookup(:server_agent_version) { "0.0" }
    locales = Gem::Version.new(server_agent_version) >= SUPPORTED_LOCALES_MOUNT_AGENT_VERSION
    unless locales
      session = Puppet.lookup(:http_session)
      locales = session.supports?(:fileserver, 'locales') || session.supports?(:puppet, 'locales')
    end

    if locales
      locales_downloader = Puppet::Configurer::Downloader.new(
        "locales",
        Puppet[:localedest],
        Puppet[:localesource],
        Puppet[:pluginsignore] + " *.pot config.yaml",
        environment
      )
      result += locales_downloader.evaluate
    end

    Puppet::Util::Autoload.reload_changed(Puppet.lookup(:current_environment))

    result
  end
end