(maint) Add ruby-augeas to Gemfile and Travis for more test coverage
(#23141) Add OpenBSD to the exclusion list for 'remounts' in mount type
On systems without "-o remount", use "-o update" except for AIX.
(#21869) Fix recursion in cert expiration check

During every authenticated request, the expiration date of the involved
certificates is checked. However, if the localhost cert is loaded when the CA
cert is not present an authenticated request will be initiated to download the
CA cert. This triggers another expiration check for authenticated requests,
which loads the localhost cert, which initiates another authenticated request
to download the CA cert... and so on until stack space is exhausted.

This patch skips the expiration check for the localhost cert if the CA cert is
missing.
(maint) Handle empty or malformed JSON lockfiles

If a JSON lockfile was empty or had malformed JSON, it would raise a
PSON::ParserError and could lead to application failures with an unclear
cause. This commit changes the JSON lockfile behavior to treat empty or
malformed file contents to be nil and generate warnings when the file
contents are malformed JSON.
(#23236) Deprecate Puppet::Util::SUIDManager.run_and_capture

This deprecates run_and_capture from SUIDManager for
Puppet::Util::Execution.execute(). Run and capture is returning $CHILDSTATUS
where execute returns an exit status as part of output. This means that run and
capture could have potential issues when being used, especially with Windows
which is known to have issues due to the truncation of exit codes greater than
256.
(#7244) Add a Tempfile.open that unlinks tempfile early

Tempfile.open, at least under Ruby 1.8, only does a File#close;
File#unlink is deferred to a lambda that executes in a finalizer when
the file is garbage collected.  This can lead to issues, as it did with
Puppet::SSL::AutosignCommand code, where root opens a tempfile, and
the finalizer doesn't happen until after we've dropped
privileges...leading to an almost impossible to find permission failure.

This commit adds a Puppet::FileSystem::Tempfile with an open that
ensures we close and unlink before returning to the caller.  And we
update the autosign_command code to use it.
Merge branch 'maint/7244/add-tempfile-open-for-autosign'

* maint/7244/add-tempfile-open-for-autosign:
  (#7244) Add a Tempfile.open that unlinks tempfile early
Merge pull request #2098 from ferventcoder/ticket/master/23236-Mark-SUIDManager-run_and_capture-deprecated

(#23236) Deprecate Puppet::Util::SUIDManager.run_and_capture
(maint) Adds vcloud pooling to the win*all beaker node definitions

Closes PR #2100
Merge branch 'maint/stable/use_vcloud_pooling_api' into stable

* maint/stable/use_vcloud_pooling_api:
  (maint) Adds vcloud pooling to the win*all beaker node definitions
Pack extension requests in a single sequence

The ASN.1 description of extension requests could be incorrectly read
that extensions should be packed in individual sequences, while in fact
the extensions themselves are sequences and should be all packed in a
single sequence. This commit fixes how CSRs create and return extension
requests.
Merge pull request #2101 from adrienthebo/defect/csr-extreq-pack-single-seq

Pack extension requests in a single sequence
Maint: Edit and clarify the autosign setting's docs
Maint: Complete and clarify the csr_attributes setting's docs

This was missing information about the extension_requests key.
(#18931) Deprecate instead of remove original windows behavior

The original windows behavior was to attempt to translate posix mode to
the windows file.  Although we want deprecate this behavior, this
previous work on #18931 was removing it entirely.

This patch returns original behavior and marks it as deprecated for
future removal.
Merge pull request #2103 from nfagerlund/autosign_docs

Autosign docs
(#18931) Only issue deprecation when owner/group/mode not specified

This updates the current behavior to only issue the deprecation message if
 owner, group, or mode is unspecified. When all three are specified, it should
 not issue the deprecation as it shouldn't be copying remote permissions.

Without this the deprecation message would come up when someone has specified
 group/owner/mode and would not be subject to copying remote source
 permissions, thus not subject to the message itself.
(#18931) Clarify deprecation warning for source file perms to windows

Specify a little more clearly that for Window's agents we are
deprecating the copying of permissions set on the source file on the
puppet master.  This is as opposed to mode, owner, group settings on the
File resource itself.
Merge branch 'issue/18931/return-existing-windows-behavior'