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

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

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Normal
    • Resolution: Fixed
    • Affects Version/s: PUP 4.3.2
    • Fix Version/s: PUP 4.4.0
    • Component/s: None
    • Labels:
    • Environment:

      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

    • Release Notes:
      Bug Fix
    • Release Notes Summary:
      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

              • Assignee:
                Unassigned
                Reporter:
                glenn.sarti Glenn Sarti
                QA Contact:
                Ryan Gard
              • Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Zendesk Support