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.
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.
check_fping: IPv6 support

Add command line options -4 and -6 (--use-ipv4 and
--use-ipv6) to check_fping. IPv4 is used by default,
maintaining backwards compatibility with older
check_fping versions. IPv6 support requires the
fping6 program.

The implementation is really just an imitation of
check_ping IPv6 support: Plugin command line option
-4/-6 designates whether to run fping/fping6.

Please note that especially the changes to
configure.in might be all wrong - I don't know
what's the proper autoconf way, patching
configure.in just seemed to work for me.
Updated check_mysql.c to take client options file and group parameters
check_snmp: Dynamically grow all data structures

Before this patch, there was a constant, MAX_OIDS, that determined the
amount of slots most (but not all - see labels) array data structures
would have. It was set to 8.

Some users would like to use more than that, but rather than bumping the
constant, let's use the same type of logic we already use for labels -
grow the space 8 slots at a time. This will allow us to potentially
support an infinite amount of oids - or at least as many as the
packetsize on the SNMP server allows, which is usually significantly
smaller than infinity, yet often larger than 8.

Signed-off-by: Robin Sonefors <robin.sonefors@op5.com>
check_snmp: Close potential for using uninitialized memory

This was reported by clang, and in order for it to understand attributes
properly, I had to modify the macro that checks for non-gcc compilers.

Signed-off-by: Robin Sonefors <robin.sonefors@op5.com>
ported use whrandom to random
working on ubuntu precise12.04
added support for client authentication via SSL
Made verbose output of check_sensors compilant
Fixed SF.net bug #3571331, check_http converts semicolon to newline in -k

This commit fixes sourceforge.net bug id 3571331.
The semicolon was defined as input delimiter for multiple values in the -k arguments.
Due to the fact the semicolon is a valid character for HTTP header fields this input delimiter function was removed.
It is still possible to pass multiple header fields via multiple -k (like described in helptext).
check_apt now correctly exits when apt-get return != 0

This commit fixes an issue with check_apt where check_apt doesn't exit
with the appropriate return code when apt-get returned a non-zero value.