Fixed #2737 - The zone provider needs to get acquainted with OpenSolaris
Workaround #2668 - Compress facts so that the request size limit triggers less often

This is not the right fix, but more a hackish workaround.

Since 0.25, the facts are transmitted as GET parameters when a
node asks for a catalog. Most proxies or webserver have a size limit
which is sometimes reached. In this case the request is denied
and the node can't get its catalog.

The idea is to compress facts (some non-scientific studies show a
57% fact size decrease for an average node) when transmitting
those when asking for a catalog.

Signed-off-by: Brice Figureau <brice-puppet@daysofwonder.com>
Fix #2691 - Collection AR request should not include params if querying with tags

f9516d introduced a change in the way the user tags are persisted
to the database: user tags are now treated as regular tags (they are
stored to the tags table).
Thus this commit changed the AR collector request to also look at the
tags tables when collecting.

Unfortunately this added a performance regression since tag request
were still importing the resources parameters tables and AR was
issuing a large request which was returning all the resource parameters
joined with the tags.

This commit fixes the AR request to join to the needed table, instead
of doing an include. Including (ie eager loading) parameter values was
not working for resource parameters anyway since at least 0.24 because
searching by parameter add a constraint to the joins and only the
searched parameter was returned instead of all parameter for a given
exported resource. So on a performance standpoint this new code should
be as fast 0.24 was.

Signed-off-by: Brice Figureau <brice-puppet@daysofwonder.com>
Fixed #2750 - Set :cacrl to nil instead of 'false' in puppetd

The latter is deprecated and was keeping puppetd from starting.

Also added a test and fixed a typo in another test.

Signed-off-by: John A. Barbuto <jbarbuto@corp.sourceforge.com>
Ticket #2665: Regexp exception on ++ in package names

This affects several providers:
dpkg, rug, up2date, urpmi

Fixed by escaping the package names with Regexp.escape

Patch by Jesse Wolf

Signed-off-by: Markus Roberts <Markus@reality.com>
conf/redhat/*.init: Use -p option to killproc

If a puppetd run was started manually and 'service puppet stop' was run
the killproc function used would kill the manually started puppetd.  On
Fedora and newer RHEL (>= 5) we now use the -p option to prevent this.

This fixes #2751 (Red Hat initscripts kill an independently started
puppetd/puppetmasterd)

Signed-off-by: Todd Zullinger <tmz@pobox.com>
Use notice() in the versioncmp() docs

Use of notify() is an error, so replace it with notice, which is a
function.  Alternately, notify { msg => '2.6-1 is > than 2.4.5' } could
be used.

Signed-off-by: Todd Zullinger <tmz@pobox.com>
Bug #1742 Invalid params to --color outputs 'nil'

This patches fixes a bug where setting an invalid option for "--color"
caused the word "nil" to be printed on every line of the log, instead
of printing out log messages.
Invalid color options now just produce uncolored output.
It seems to me that this isn't important enough to issue a warning
about an invalid setting.

Signed-off-by: Jesse Wolfe <jes5199@gmail.com>
Bug #1908 cron environment should allow empty vals

Change regexp to allow cron environment => "MAILTO="

Signed-off-by: Jesse Wolfe <jes5199@gmail.com>
Bug #2534 Raise error if property appears twice

This patch changes Puppet::Parser::Resource to check if it has been
passed two Puppet::Parser::Resource::Param objects with the same name.

Signed-off-by: Jesse Wolfe <jes5199@gmail.com>
Revised partial fix for #2661 and related issues

If setup code for a process depends on network connectivity
it needs to be protected with a rescue clause as much as the
main body of the process.

Further, Timeout exceptions aren't under StandardError and thus
aren't caught by an un-typed rescue clause.  This doesn't matter
if we've morphed the exception, but will cause the program to
fail if we haven't.

There are many places where these concerns _might_ cause a problem
but in most cases they never will in practice; this patch addesses
the two cases where I have been able to confirm that it actually
can cause the client daemon to exit and two more where I suspect
(but can not prove) that it could.

I'd be willing to push this patch as it stands, as it at least
fixes demonstrable problems.  A more general solution would be
nice.
Re-fixed #2750 - Stop disabling the CRL or checking for a disabled CRL

This was deprecated in commit 1cfb0215 and was keeping puppetd from starting in listen mode.

Signed-off-by: John A. Barbuto <jbarbuto@corp.sourceforge.com>
Fix #2753 - Do not "global allow" plugins/modules mount if some rules have been parsed

When fixing #2424, we were adding a global allow (ie allow(*)) to
the plugins/modules mount.
Unfortunately global allow always win against any other rules that
can be defined in fileserver.conf.

This patch makes sure we add those global allow entries only if
we didn't get any rules from fileserver.conf

Signed-off-by: Brice Figureau <brice-puppet@daysofwonder.com>
Fixed typo in lib/puppet/indirector/ldap.rb
Fixing some recently broken Scope tests

Signed-off-by: Luke Kanies <luke@madstop.com>
Fixing #2752 - "require" loads "include"

Signed-off-by: Luke Kanies <luke@madstop.com>
Fixing #2689 - file owner warnings are reduced

We now only warn when there's an actual change to make,
and we only make one warning per process run.

Signed-off-by: Luke Kanies <luke@madstop.com>
Updated CHANGELOG
Follow-on for #2724 - Adding an external node classifier

Adds an ext/regexp_nodes/ directory containing a regexp-based
classifier and some example files for it.
Al Hoang's patch for #2781, removing obsolete when/: syntax

This is just Al's patch with removal of trailing ";"s.

Signed-off-by: Markus Roberts <Markus@reality.com>