Uploaded image for project: 'Puppet'
  1. Puppet
  2. PUP-5726

Non-English values for USERNAME and USERPROFILE causes multiple home directories to be created

    XMLWordPrintable

Details

    • Bug
    • Status: Closed
    • Normal
    • Resolution: Fixed
    • PUP 4.3.2
    • PUP 4.4.0
    • None
    • Windows Server 2012 R2 x64
      Debug: Runtime environment: puppet_version=4.3.2, ruby_version=2.1.7, run_mode=u
      ser, default_encoding=IBM437

    • Bug Fix
    • Hide
      Due to a Ruby bug on Windows, reading and writing environment variables that contain Unicode characters may corrupt the local processes copy when they are accessed through Ruby's ENV class. As a result, prior to this fix, the process environment for Puppet will corrupt environment variables with any Unicode characters that can't be represented in the current local codepage when the internal helper function withenv is used. This affects Windows and PowerShell exec providers, and when arbitrary exec resources are run, can result in the creation of multiple user directories similar to the current username when a Windows user profile directory contains Unicode characters. The Ruby bug around ENV access is filed as https://bugs.ruby-lang.org/issues/8822 and has not yet been backported to the version of Ruby that Puppet runs on. A related issue is filed at https://bugs.ruby-lang.org/issues/9715
      Show
      Due to a Ruby bug on Windows, reading and writing environment variables that contain Unicode characters may corrupt the local processes copy when they are accessed through Ruby's ENV class. As a result, prior to this fix, the process environment for Puppet will corrupt environment variables with any Unicode characters that can't be represented in the current local codepage when the internal helper function withenv is used. This affects Windows and PowerShell exec providers, and when arbitrary exec resources are run, can result in the creation of multiple user directories similar to the current username when a Windows user profile directory contains Unicode characters. The Ruby bug around ENV access is filed as https://bugs.ruby-lang.org/issues/8822 and has not yet been backported to the version of Ruby that Puppet runs on. A related issue is filed at https://bugs.ruby-lang.org/issues/9715

    Description

      As part of the investigation into PUP-4339 it was discovered Puppet creates multiple home directories for a user if their home path contains non-english characters (e.g. Umlaut).

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              glenn.sarti Glenn Sarti
              Ryan Gard Ryan Gard
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Zendesk Support