Permalink
Switch branches/tags
Commits on May 20, 2013
  1. Merge pull request #1649 from richardc/fix/master/17871

    adrienthebo committed May 20, 2013
    (#17871) fix nagios types uniqness under ruby 1.9
  2. Merge pull request #1643 from jeffweiss/20442_fix_aix_extended_attrib…

    adrienthebo committed May 20, 2013
    …utes
    
    (#20442)[PE-161] fix AIX extended attributes
  3. Merge pull request #1656 from jpartlow/maint/windows-package-load-ord…

    adrienthebo committed May 20, 2013
    …er-cleanup
    
    (maint) More specific require for windows/package
  4. (maint) More specific require for windows/package

    jpartlow committed May 20, 2013
    PR1655 added "require 'puppet/type/package'" to fix a load order issue.
    But this change is more general than what is needed, and we had not
    tracked down exactly what was occurring.
    
    I spent a little time running down the load order issue for
    puppet/provider/package/windows/package.  An example of the mystery
    effect being that prior to PR#1655 the following sequence would pass:
    
    bundle exec rspec spec/unit/provider/package/rpm_spec.rb
    spec/unit/provider/package/windows/package_spec.rb
    
    while the reverse order would fail:
    
    bundle exec rspec spec/unit/provider/package/windows/package_spec.rb
    spec/unit/provider/package/rpm_spec.rb
    
    The reason for it is confusing, but turns out to be not very mysterious
    or magical at least.
    
    The summary is that because this was written as follows:
    
    lib/puppet/provider/package/windows/package.rb
    ---
    1  require 'puppet/util/windows'
    2  
    3  class Puppet::Provider::Package::Windows
    
    Puppet::Provider::Package is assumed, but not required.  Since
    Puppet::Provider is loaded as a result of the base require 'puppet', and
    since it includes Puppet::Util, which has a Puppet::Util::Package, if
    nothing else has explicitly created Puppet::Provider::Package, we
    end up declaring the Windows class on Puppet::Util::Package and hiding
    reference errors which should otherwise pop up here.
    
    Requiring 'puppet/type/package' does end up also requiring
    'puppet/provider/package' as part of type's autoloading magic, but this
    patch more specifically and clearly fixes the issue by requiring
    'puppet/provider/package'.
    
    Consistency of namespacing and class loading is a deeper issue.
  5. Merge pull request #1654 from pvande/tickets/master/17824-pmt-should-…

    adrienthebo committed May 20, 2013
    …not-prefer-prereleases
    
    (#17824) PMT should not prefer pre-release versions over existing stable versions
Commits on May 17, 2013
  1. Merge branch 'stable'

    haus committed May 17, 2013
  2. Merge branch 'stable'

    zaphod42 committed May 17, 2013
    * stable:
      (maint) Change load order for puppet/provider/package/windows/package
  3. Merge pull request #1655 from jpartlow/maint/puppet-provider-package-…

    zaphod42 committed May 17, 2013
    …windows-package-load-order-issue
    
    (maint) Change load order for puppet/provider/package/windows/package
  4. (maint) Change load order for puppet/provider/package/windows/package

    jpartlow committed May 17, 2013
    Uncovered a load order issue with
    puppet/provider/package/windows/package being loaded before
    puppet/type/package.  This was manifesting in various test runs as
    'uninitialized constant Puppet::Util::Windows::MsiPackage' or
    'uninitialized constant Puppet::Util::Windows::Package' (or similar case
    where Puppet::Provider::Package::Windows somehow ends up pointing to
    Puppet:Util::Windows).
    
    This patch just require's 'puppet/type/package' at the beginning of
    puppet/provider/package/windows/package.  Which fixes the immediate load
    order issues seen in the specs, but is not a long term fix.
    
    More investigation is needed to pinpoint what's going on.
Commits on May 16, 2013
  1. Merge branch 'stable'

    jpartlow committed May 16, 2013
    * stable:
      (#20742) Only use certifcate info if there is a CN
      (#20742) Handle DNs that cannot be parsed
      (Maint) Give each test a meaningful name
      (#20726) Manage home has issues on Solaris
      (#20726) Include password for useradd managehome tests on windows
      Revert "Merge branch 'pull-1512'"
      (#20726) Add user managehome acceptance tests
      (packaging) Update PUPPETVERSION to 3.2.0
  2. Merge remote-tracking branch 'zaphod42/issue/stable/20742-no-handling…

    jpartlow committed May 16, 2013
    …-of-bad-dn-in-rack' into stable
    
    * zaphod42/issue/stable/20742-no-handling-of-bad-dn-in-rack:
      (#20742) Only use certifcate info if there is a CN
      (#20742) Handle DNs that cannot be parsed
      (Maint) Give each test a meaningful name
  3. (#17871) fix nagios types uniqness under ruby 1.9

    richardc committed May 16, 2013
    In ruby 1.8 and earlier, splatting a 1-element array would return the first
    element, post 1.9 you always get an array back.
    
        $ ruby-1.8.7-p371 -e 'a = ["a"]; b = *a; puts b.inspect'
        "a"
    
        $ ruby-1.9.3-p429 -e 'a = ["a"]; b = *a; puts b.inspect'
        ["a"]
    
    This lead to an issue in the nagios providers where the parameters['name']
    would be set to an Array, so simple 'does this resource already exist
    checks' would fail as  `parameters['name'] == some_string` would always be false.
    
    This patch changes the assignment from a splatted array to an explicit call to
    args.first, which is portable between 1.8 and 1.9 and restores the intended
    behaviour.
  4. Certain server configurations are less diligent about whitespace.

    pvande committed May 16, 2013
    This is primarily a fix for our acceptance testing environment.
  5. Merge pull request #1652 from adrienthebo/maint-static_compiler_yardoc

    HAIL9000 committed May 16, 2013
    (static compiler) Add method documentation
  6. Merge branch 'stschulte-ticket/stable/6371_reset_lastchg_on_solaris'

    HAIL9000 committed May 16, 2013
    * stschulte-ticket/stable/6371_reset_lastchg_on_solaris:
      (#6371) Update lastchg field when updating password
  7. (#20742) Only use certifcate info if there is a CN

    zaphod42 committed May 16, 2013
    Because of the changes to puppet/util/ssl for this issue, the DN
    was now always able to be parsed into something. This uncovered that the
    logic around deciding on the node name and authentication status for the
    request was incorrectly based off of simply the existance of a DN in the
    headers. This caused a DN that was missing a CN to have an unknown node
    for a request, which could be marked as authenticated if the verify
    header was "SUCCESS".
    
    This patch fixes it by basing the decision of using the SSL headers on
    the existance of the CN instead of the DN. Now a CN must be present
    (e.g. a valid DN) for the verify header to be used. When no CN is
    present, then it is treated the same as no DN being present, which
    causes a reverse DNS lookup to be done for the node name.
  8. (#6371) Update lastchg field when updating password

    stschulte committed with HAIL9000 May 12, 2013
    On Solaris the password= method updates the `/etc/shadow` file directly
    to set the new password but it does not update the `lastchg` field to
    the current day. This way a password can expire even though it was
    updated with puppet.
    
    The fix was first supplied in commit 6ef1d3a but was later removed after
    a refactor in 7900a66.
  9. (#20742) Handle DNs that cannot be parsed

    zaphod42 committed May 16, 2013
    When no DN is sent in a RACK setup (passenger behind apache), the DN
    that the master sees for unauthenticated requests ends up being the
    string "(null)". The openssl name parsing functions do not handle data
    that doesn't look like a DN in a useful manner. If the string to be
    parsed as a DN does not contain an equals sign ("="), then it will fail
    with an error like:
    
      TypeError: can't convert nil into String
      # ./lib/puppet/util/ssl.rb:26:in `call'
      # ./lib/puppet/util/ssl.rb:26:in `block in subject_from_dn'
      # ./lib/puppet/util/ssl.rb:24:in `each'
      # ./lib/puppet/util/ssl.rb:24:in `subject_from_dn'
    
    This same code also would fail with a OpenSSL::X509::NameError if the
    parsed DN contained an unknown part (RDN), e.g. "no=yes".
    
    This commit fixes the malformed DN by checking that the DN contains at
    least an equals sign before trying to parse. It also then handles all
    OpenSSL::X509::NameError problems.
  10. Merge branch 'pull-1648'

    adrienthebo committed May 16, 2013
    This closes GH-1648
  11. Merge branch 'ticket/stable/20726-usermod-command-arguments-out-of-or…

    jpartlow committed May 16, 2013
    …der' into stable
    
    * ticket/stable/20726-usermod-command-arguments-out-of-order:
      (#20726) Manage home has issues on Solaris
      (#20726) Include password for useradd managehome tests on windows
      Revert "Merge branch 'pull-1512'"
      (#20726) Add user managehome acceptance tests
  12. (Maint) Give each test a meaningful name

    zaphod42 committed May 16, 2013
    The tests being put all together did not provide any explanation about
    what was interesting about each situation. This obscures other
    interesting cases that may not be covered and also provides little to no
    specification to later developers who may need to know what the cases
    being handled are.
  13. (#20726) Manage home has issues on Solaris

    joshcooper committed May 16, 2013
    On Solaris, executing `usermod -d dir username` where dir is the user's
    home directory as reported by `puppet resource user username` will fail
    with the error:
    
        UX: useradd: ERROR: Path must not start with '/home/'
    
    It appears the new directory must be of the form
    '/export/home/username'. Since this issue is unrelated to #20726, I'm
    marking this test as pending on Solaris.
  14. (#20726) Include password for useradd managehome tests on windows

    jpartlow committed with joshcooper May 15, 2013
    The new acceptence tests for managing the home directory fails on
    Windows because windows requires a sufficiently complex password to be
    specified when creating the home directory.
    
    With that said, managing the home directory is broken on windows with
    ruby 1.9 (#20768). This marks the test as pending when not running ruby
    1.8.
    
    Paired-with: Josh Cooper <josh@puppetlabs.com>
  15. (static compiler) Add method documentation

    adrienthebo committed May 7, 2013
    The static compiler doesn't have much documentation around the various
    methods and the method signatures. This commit adds basic documentation
    for method signatures and the purpose of methods.
  16. (#11108) Test coverage for remote pkg file

    adrienthebo committed May 16, 2013
    The current implementation of tests for the pkgdmg provider only test
    the behavior for packages without a file extension if they're being
    installed locally. This commit adds tests for remote pkgs so that if a
    file extension is not given in the package tile, it's extracted from the
    package source.
  17. Revert "Merge branch 'pull-1512'"

    jpartlow committed with joshcooper May 15, 2013
    This reverts commit 9c22753, reversing
    changes made to cb9927f.
    
    This commit is being reverted because #20726 revealed a bug with the new
    managehome home behavior of useradd.
  18. (#20726) Add user managehome acceptance tests

    jpartlow committed with joshcooper May 15, 2013
    There were no acceptance tests covering the behavior of user providers
    when managing home directories.
    
    This commit adds two acceptance tests, one for testing when the home
    directory is managed, and one test when the home directory is no longer
    being managed.
    
    Paired-with: Josh Cooper <josh@puppetlabs.com>
Commits on May 15, 2013
  1. (maint) stub out Puppet::Util.which for openrc

    adrienthebo committed May 15, 2013
    Puppet::Util is both mixed in to Puppet::Provider and is also invoked
    directly by Puppet::Util::CommandDefiner. We have to stub out the #which
    method on the Provider class and the Util module because we don't know
    how the method will be invoked.
  2. Merge branch 'pull-1646'

    adrienthebo committed May 15, 2013
    This closes GH-1646
  3. Fix for rc-status not showing puppet when puppet is run as a service

    Koshatul committed with adrienthebo May 14, 2013
    /bin/rc-status doesn't show the service specified in the environment
    variable "RC_SVCNAME", which when puppet is started as a service is set
    to "puppet".
    
    Updated to use "has_command" instead of ENV.delete
  4. Merge branch 'pull-1641'

    adrienthebo committed May 15, 2013
    This closes GH-1641