check_pgsql: Added support for executing queries.

The query result (the double value of the first column in the first row, to be
precise) will be checked against threshold ranges specified using the -C and
-W options.

Note that this also allows to query PostgreSQL internal values using the
information available from the database daemon's "statistics collector" -- see
the chapter "Monitoring Database Activity" in the PostgreSQL manual for
details.
check_pgsql: Fixed query perfdata output for empty warn/crit ranges.

Previously, "(null)" was printed (when using GNU's libc). This has been
changed to print the empty string instead.
check_pgsql: Use PQconnectdb() rather than PQsetdbLogin().

This is more flexible and the recommended way to connect to a PostgreSQL
database.

Also, the verbose output now includes detailed information about the
connection.
check_pgsql: Allow UNIX socket directories as hostname as well.

PostgreSQL accepts the directory name of its UNIX socket as hostname as well,
e.g. /var/run/postgresql/.
check_pgsql: Removed -4/-6 flags from help output.

These options are not currently supported.
check_pgsql: Added support for the -o command line option.

This option may be used to specify further connection parameters to be passed
to PQconnectdb(). For example, this may be used to specify a service name in
pg_service.conf to be used for additional connection parameters: -o
'service=<name>' or to specify the SSL mode: -o 'sslmode=require'.

See the chapter "libpq - C Library" in the PostgreSQL manual for details.
check_pgsql: Updated copyright.
check_pgsql: Leave 'min' value in query perfdata empty.

There is no reasonable default value for that.
check_pgsql: Determine connection time in µs-resolution.

… thus, treat "elapsed time" and the thresholds as floating point values.
Don't prepend "^Inst" or append a space to the "include", "exclude", or
"critical" regular expressions. Instead, check for lines beginning
with "Inst" using strncmp and apply the regular expressions only when
such lines are found.

Fixes Debian bug #522812, along the lines suggested by the bug
submitter, Justin T Pryzby.
Fix SourceForge bug 1904965 - check_apt: SECURITY_RE is not correct

For the default security upgrade detection regular expression, match
"Debian-Security" in package description when it's anywhere after the
first parenthesis (not just the second space-delimited word). For
example:

... (4.0.1-5.4 Debian:6.0.6/stable, Debian-Security:6.0/stable ...
Tests for check_apt

Add a hidden "--input-file" option to check_apt (modelled on
check_procs) so that it can take files with sample apt output as input.

Add tests for my SECURITY_RE fix (debian3) and for the include, exclude
and critical options.
check_disk: option to ignore reserved space

This commit add a runtime option to ignore the root-reserved space
when calculating perfdata.

Before / after:
./check_disk -w 2% -c 1% /home
./check_disk -w 2% -c 1% -f /home
DISK CRITICAL - free space: /home 272 MB (1% inode=83%);| /home=17551MB;18401;18589;0;18777
DISK CRITICAL - free space: /home 272 MB (1% inode=83%);| /home=17551MB;17466;17644;0;17823

Well, it doesn't really give me more space :) but the perfdata are a
little bit more coherent.

Note that there are still a rounding issue on the percent calculation
(cf calculate_percent() comments, taken from coreutils 'df' command).
272/17823 -> 1.526%

Since the warning/critical/min/max data are usually not saved in RRD DB,
you can activate the option without seeing landslides in the graphs.
Make check_snmp backwards compatible in how it parses thresholds

Once upon a time, check_snmp used to accept inverse ranges in the
format of '2:1' to mean "alert if value is inside this range".

Since commit 7cb3ae09334796f3b54e4e6438e38c2cc679b360, ranges such
as those have instead triggered the error "Range format incorrect"
and resulted in an UNKNOWN warning state. This patch attempts to
fix the situation so that the old-style ranges continues to mean
exactly what the once did and people with lots of snmp checks can
avoid a bazillion false positives from their environments.

Signed-off-by: Andreas Ericsson <ae@op5.se>
lib/utils_base.c: Stop dumping core on bad args to check_snmp

Since the state patch introduction, we've been freeing uninitialized
memory in lib/utils_base.c::np_cleanup(), which caused coredumps
with check_snmp when illegal threshold ranges (for example) were
passed, or when we called 'die' without having read any state.

This patch fixes it by replacing the malloc() calls in there (all of
them, since using malloc() is almost always an error) with calloc().

malloc() either doesn't initialize the memory at all, or taints it
with a special marker so it can tell us when we're free()'ing memory
that hasn't been initialized. calloc() explicitly initializes the
allocated memory to nul bytes, which is a zero-cost operation when
we get the memory from the kernel (which alread does that) and almost
always desirable everywhere else.

Signed-off-by: Andreas Ericsson <ae@op5.se>
plugins/check_snmp: Show snmp error when we fail to parse its output

Dying without a hint of what went wrong is just plain annoying. With
this patch we at least get a hint.

While at it, we fix the string offset so the output we're interested
in doesn't keep the equal sign that snmpget prints.

Signed-off-by: Andreas Ericsson <ae@op5.se>
Add scripts that update man pages in drupal
Update  tools

- fix sfwebcron (tool updating sf developer guidelines)
- remove obsolete snapshot script
Update NEWS for bd78299 - check_snmp reverse ranges fix
Fix sfwebcron probe file

The initial file was created in the user's home and later tested in the
doc directory. Instead, just rsync if the file is missing.

Also add some temporary files to gitignore/make clean