Uploaded image for project: 'Modules'
  1. Modules
  2. MODULES-11219

stdlib: change crypt() function used by pw_hash

    XMLWordPrintable

Details

    • Improvement
    • Status: Open
    • Normal
    • Resolution: Unresolved
    • None
    • None
    • stdlib
    • 49173
    • 1
    • Needs Assessment

    Description

      Basic Info
      Module Version: 8.1.0
      Puppet Version: 7.x
      OS Name/Version: CentOS 8.x

      Describe your issue in as much detail as possible...

      Desired Behavior: pw_hash() can be used in heavily loaded Puppet masters

      Actual Behavior: Puppet master workers crash with backtraces in libcrypt

       

      Seems that CentOS 8 + JRuby's String#crypt are not thread-safe. (See https://tickets.puppetlabs.com/browse/SERVER-2862 for example)

      Please provide a way of choosing the crypt() implementation used in pw_hash() or maybe just not use the JRuby-provided method.

      Currently as a workaround we patch the stdlib module locally so that it always uses the Apache Commons Codec

      I have attached a small test script that crashes with CentOS 8.x + JRuby (tested latest 9.2 and 9.3)

      Does not crash with CentOS 8.x and bundled Ruby, does not crash with CentOS 7.x and JRuby

       

       

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              mihkela Mihkel Ader
              Votes:
              3 Vote for this issue
              Watchers:
              8 Start watching this issue

              Dates

                Created:
                Updated:

                Zendesk Support