Compare commits

..

No commits in common. "master" and "upstream/1.4.16+git20130911" have entirely different histories.

726 changed files with 62386 additions and 103350 deletions

View file

@ -1,6 +1,6 @@
This file contains the origin of code copied verbatim into some or all of the Monitoring Plugins. This file contains the origin of code copied verbatim into some or all of the Nagios plugins.
The Monitoring Plugins team thanks the original authors. The NagiosPlugin team thanks the original authors.
Copied code is cited in the source by indented comments of the form Copied code is cited in the source by indented comments of the form
@ -20,7 +20,7 @@ Using the DLPI support on SysV systems to get the host MAC address in check_dhcp
Stenberg, Daniel Stenberg, Daniel
Copyright (c) 1996 - 2004, Daniel Stenberg, <daniel@haxx.se> Copyright (c) 1996 - 2004, Daniel Stenberg, <daniel@haxx.se>
http://curl.haxx.se/ http://curl.haxx.se/
Use of duplication of macros in m4/np_curl.m4 (slightly adapted for m4/uriparser.m4 too) Use of duplication of macros in m4/np_curl.m4
Coreutils team Coreutils team
Copyright (C) 91, 1995-2004 Free Software Foundation, Inc. Copyright (C) 91, 1995-2004 Free Software Foundation, Inc.
@ -31,9 +31,3 @@ Gnulib team
Copyright (C) 2001, 2003, 2004, 2006 Free Software Foundation, Inc Copyright (C) 2001, 2003, 2004, 2006 Free Software Foundation, Inc
http://www.gnu.org/software/gnulib/ http://www.gnu.org/software/gnulib/
Use of lib files that originally were used from coreutils Use of lib files that originally were used from coreutils
Copyright (c) 2009-2014 Kazuho Oku, Tokuhiro Matsuno, Daisuke Murase,
Shigeo Mitsunari
picohttpparser
https://github.com/h2o/picohttpparser
Use of the library for HTTP header parsing in check_curl.

10
AUTHORS
View file

@ -1,6 +1,6 @@
The Monitoring Plugins are brought to you by the Monitoring Plugins Development Team. The Nagios Plugins are brought to you by the Nagios Plugins Development Team.
Jeremy T. Bouse Jeremy T Bouse
Peter Bray Peter Bray
Gavin Carr Gavin Carr
Karl DeBisschop Karl DeBisschop
@ -11,16 +11,10 @@ Subhendu Ghosh
Thomas Guyot-Sionnest Thomas Guyot-Sionnest
Stanley Hopcroft Stanley Hopcroft
Matthew Kent Matthew Kent
Sam Kottler
Harper Mann Harper Mann
Benoit Mortier Benoit Mortier
Sven Nierlein Sven Nierlein
Eric Stanley
Nathan Vonnahme Nathan Vonnahme
Ton Voon Ton Voon
Jan Wagner
Holger Weiss Holger Weiss
Michael Wirtgen Michael Wirtgen
Oliver Skibbe
Andreas Baumann
Lorenz Kästle

32
BUGS Normal file
View file

@ -0,0 +1,32 @@
This file lists the major bugs from the Nagios Plugins page on Sourceforge
at http://sourceforge.net/tracker/?group_id=29880&atid=397597. These are not
necessarily verified as errors.
For the 1.4.16 release:
3535511 - check_snmp memory corruption with many OIDs/labels/units
3434735 - check_http failing with proxy server
3028955 - check_users always reports 1 user connected in French
3003419 - check_snmp converts negative values to positive
2991170 - check_nt segfaults on unexpected server response
2826570 - check_http does not work with some HTTPS servers
2823005 - check_swap returns OK if no swap activated
2786808 - check_http asks for HTTP/1.1, but doesn't understand chunked
2555782 - check_imap fails with SSL3
2550254 - check_ldap with starttls requires hostname to match cert name
2315953 - check_ping: timeouts when reverse name resolution times out
2075933 - check_disk segfault on freebsd 7 if using -p option
1984255 - check_swap not built on Solaris 10 and HP-UX 11.11, 11.23
1984240 - check_tcp Segmentation fault on HP-UX 11.23
1939578 - check_jabber: Always returns WARNING with Openfire server
1939529 - check_tcp: Expiring SSL certs produce confusing messages
1928399 - check_procs METRIC_CPU should ignore kernel processes on FreeBSD
1904965 - check_apt: SECURITY_RE is not correct
1681516 - output too verbose for various checks
1523748 - check_disk should error if warn range is subset of critical
1469468 - signal handler in popen.c is broken
1381604 - Perlsec breaks any perl plugin with perl 5.8.x
1373801 - check_ping timeout on Mandrake 10.1
1370031 - check_disk_smb requires DNS agree with NetBIOS names
1225470 - check_swap perf data incorrect
1090549 - check_dhcp ignores DHCP replies

4
CODING
View file

@ -12,8 +12,8 @@ Foundation Coding standards (which are currently available at
http://www.gnu.org/prep/standards_toc.html). We also follow most of http://www.gnu.org/prep/standards_toc.html). We also follow most of
the FSF guidelines. Developers may suggest deviations from the FSF the FSF guidelines. Developers may suggest deviations from the FSF
style recommendations, which will be considered by open discussion on style recommendations, which will be considered by open discussion on
the Monitoring Plugins devel mailing list. Any such deviations will the nagiosplug-devel mailing list. Any such deviations will apply to
apply to the entire code base to ensure consistency. the entire code base to ensure consistency.
Currently, the exceptions to FSF recommendations are roughly equivalent Currently, the exceptions to FSF recommendations are roughly equivalent
to GNU indent with invoked as 'indent -ts 2 -br'. Specifically, the to GNU indent with invoked as 'indent -ts 2 -br'. Specifically, the

16157
ChangeLog

File diff suppressed because it is too large Load diff

48
FAQ
View file

@ -15,10 +15,12 @@ A: All plugins that comply with minimal development guideline for
this project include detailed version information. When executed this project include detailed version information. When executed
with the '-V' option, a version string will be printed: with the '-V' option, a version string will be printed:
check_radius v1.4.16 (monitoring-plugins 1.4.16) check_radius (nagios-plugins 1.3.0-alpha1) 1.11
All bug reports and help requests should reference this Note that this string include both the assigned package release
information. name and the CVS-generated revision for the individual plugin.
Authors should strictly adhere to this format. All bug reports
and help requests should reference this information.
Q: What information do I need to include when asking for help or Q: What information do I need to include when asking for help or
@ -29,6 +31,42 @@ A: At a minimum, the output from 'uname -a' and the version string
problem and any solution/patch. problem and any solution/patch.
Q: I'm using Redhat Linux (or some other RPM-based distribution).
Which packages should I install?
A: The package nagios-plugins-<version>.<arch>.rpm contains only
those plugins that should work on any POSIX compliant system. In
other words, you should be able to install this package on your
system, no matter what else is or in not installed.
However, most of us have more complex systems than barebones
POSIX. We tried creating a variety of separate packages so
each dependency could be installed cleanly, but many people
found that this resulted in too many packages. So in the end,
all the non-POSIX plugins were folded into one RPM
(nagios-plugins-<version>.<arch>.rpm). Most people will need to
use RPM's '--nodeps' option to install this package.
Q: My system uses the .deb package format. What packages should I
install?
A: We strive for cooperation between all packagers and developers.
The answers for .deb are the same as for RPM, after changing the
package name suffixes accordingly.
Q: I prefer to build my own RPMs. Do I need to install all of the
various dependencies?
A: Beginning with the 1.2.9-1 release, you may run
rpm --define 'custom 1' -ta nagios-plugins-<release>.tar.gz
In prior releases, you must unpack the tarball and build the
RPM using nagios-custom.spec with 'rpm -ba'.
Q: I get an error like Q: I get an error like
Warning: Return code of 127 for check of service 'PING' on host 'anyhost' was out of bounds. Warning: Return code of 127 for check of service 'PING' on host 'anyhost' was out of bounds.
@ -48,8 +86,8 @@ A: Commonly, system administrators will make security as tight as
Q: I have a plugin to offer. What can I do? Q: I have a plugin to offer. What can I do?
A: You can make it available on MonitoringExchange (http://monitoringexchange.org) A: You can make it available on NagiosExchange (http://nagiosexchange.org)
where other people can find it for use. where other people can find it for use.
You can also get feedback on improving the plugin via the You can also get feedback on improving the plugin via the
devel@monitoring-plugins.org mailing list. nagiosplug-devel@lists.sourceforge.net mailing list.

318
INSTALL
View file

@ -1,8 +1,8 @@
Installation Instructions Installation Instructions
************************* *************************
Copyright (C) 1994-1996, 1999-2002, 2004-2016 Free Software Copyright (C) 1994-1996, 1999-2002, 2004-2013 Free Software Foundation,
Foundation, Inc. Inc.
Copying and distribution of this file, with or without modification, Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright are permitted in any medium without royalty provided the copyright
@ -12,96 +12,97 @@ without warranty of any kind.
Basic Installation Basic Installation
================== ==================
Briefly, the shell command './configure && make && make install' Briefly, the shell commands `./configure; make; make install' should
should configure, build, and install this package. The following configure, build, and install this package. The following
more-detailed instructions are generic; see the 'README' file for more-detailed instructions are generic; see the `README' file for
instructions specific to this package. Some packages provide this instructions specific to this package. Some packages provide this
'INSTALL' file but do not implement all of the features documented `INSTALL' file but do not implement all of the features documented
below. The lack of an optional feature in a given package is not below. The lack of an optional feature in a given package is not
necessarily a bug. More recommendations for GNU packages can be found necessarily a bug. More recommendations for GNU packages can be found
in *note Makefile Conventions: (standards)Makefile Conventions. in *note Makefile Conventions: (standards)Makefile Conventions.
The 'configure' shell script attempts to guess correct values for The `configure' shell script attempts to guess correct values for
various system-dependent variables used during compilation. It uses various system-dependent variables used during compilation. It uses
those values to create a 'Makefile' in each directory of the package. those values to create a `Makefile' in each directory of the package.
It may also create one or more '.h' files containing system-dependent It may also create one or more `.h' files containing system-dependent
definitions. Finally, it creates a shell script 'config.status' that definitions. Finally, it creates a shell script `config.status' that
you can run in the future to recreate the current configuration, and a you can run in the future to recreate the current configuration, and a
file 'config.log' containing compiler output (useful mainly for file `config.log' containing compiler output (useful mainly for
debugging 'configure'). debugging `configure').
It can also use an optional file (typically called 'config.cache' and It can also use an optional file (typically called `config.cache'
enabled with '--cache-file=config.cache' or simply '-C') that saves the and enabled with `--cache-file=config.cache' or simply `-C') that saves
results of its tests to speed up reconfiguring. Caching is disabled by the results of its tests to speed up reconfiguring. Caching is
default to prevent problems with accidental use of stale cache files. disabled by default to prevent problems with accidental use of stale
cache files.
If you need to do unusual things to compile the package, please try If you need to do unusual things to compile the package, please try
to figure out how 'configure' could check whether to do them, and mail to figure out how `configure' could check whether to do them, and mail
diffs or instructions to the address given in the 'README' so they can diffs or instructions to the address given in the `README' so they can
be considered for the next release. If you are using the cache, and at be considered for the next release. If you are using the cache, and at
some point 'config.cache' contains results you don't want to keep, you some point `config.cache' contains results you don't want to keep, you
may remove or edit it. may remove or edit it.
The file 'configure.ac' (or 'configure.in') is used to create The file `configure.ac' (or `configure.in') is used to create
'configure' by a program called 'autoconf'. You need 'configure.ac' if `configure' by a program called `autoconf'. You need `configure.ac' if
you want to change it or regenerate 'configure' using a newer version of you want to change it or regenerate `configure' using a newer version
'autoconf'. of `autoconf'.
The simplest way to compile this package is: The simplest way to compile this package is:
1. 'cd' to the directory containing the package's source code and type 1. `cd' to the directory containing the package's source code and type
'./configure' to configure the package for your system. `./configure' to configure the package for your system.
Running 'configure' might take a while. While running, it prints Running `configure' might take a while. While running, it prints
some messages telling which features it is checking for. some messages telling which features it is checking for.
2. Type 'make' to compile the package. 2. Type `make' to compile the package.
3. Optionally, type 'make check' to run any self-tests that come with 3. Optionally, type `make check' to run any self-tests that come with
the package, generally using the just-built uninstalled binaries. the package, generally using the just-built uninstalled binaries.
4. Type 'make install' to install the programs and any data files and 4. Type `make install' to install the programs and any data files and
documentation. When installing into a prefix owned by root, it is documentation. When installing into a prefix owned by root, it is
recommended that the package be configured and built as a regular recommended that the package be configured and built as a regular
user, and only the 'make install' phase executed with root user, and only the `make install' phase executed with root
privileges. privileges.
5. Optionally, type 'make installcheck' to repeat any self-tests, but 5. Optionally, type `make installcheck' to repeat any self-tests, but
this time using the binaries in their final installed location. this time using the binaries in their final installed location.
This target does not install anything. Running this target as a This target does not install anything. Running this target as a
regular user, particularly if the prior 'make install' required regular user, particularly if the prior `make install' required
root privileges, verifies that the installation completed root privileges, verifies that the installation completed
correctly. correctly.
6. You can remove the program binaries and object files from the 6. You can remove the program binaries and object files from the
source code directory by typing 'make clean'. To also remove the source code directory by typing `make clean'. To also remove the
files that 'configure' created (so you can compile the package for files that `configure' created (so you can compile the package for
a different kind of computer), type 'make distclean'. There is a different kind of computer), type `make distclean'. There is
also a 'make maintainer-clean' target, but that is intended mainly also a `make maintainer-clean' target, but that is intended mainly
for the package's developers. If you use it, you may have to get for the package's developers. If you use it, you may have to get
all sorts of other programs in order to regenerate files that came all sorts of other programs in order to regenerate files that came
with the distribution. with the distribution.
7. Often, you can also type 'make uninstall' to remove the installed 7. Often, you can also type `make uninstall' to remove the installed
files again. In practice, not all packages have tested that files again. In practice, not all packages have tested that
uninstallation works correctly, even though it is required by the uninstallation works correctly, even though it is required by the
GNU Coding Standards. GNU Coding Standards.
8. Some packages, particularly those that use Automake, provide 'make 8. Some packages, particularly those that use Automake, provide `make
distcheck', which can by used by developers to test that all other distcheck', which can by used by developers to test that all other
targets like 'make install' and 'make uninstall' work correctly. targets like `make install' and `make uninstall' work correctly.
This target is generally not run by end users. This target is generally not run by end users.
Compilers and Options Compilers and Options
===================== =====================
Some systems require unusual options for compilation or linking that Some systems require unusual options for compilation or linking that
the 'configure' script does not know about. Run './configure --help' the `configure' script does not know about. Run `./configure --help'
for details on some of the pertinent environment variables. for details on some of the pertinent environment variables.
You can give 'configure' initial values for configuration parameters You can give `configure' initial values for configuration parameters
by setting variables in the command line or in the environment. Here is by setting variables in the command line or in the environment. Here
an example: is an example:
./configure CC=c99 CFLAGS=-g LIBS=-lposix ./configure CC=c99 CFLAGS=-g LIBS=-lposix
@ -112,21 +113,21 @@ Compiling For Multiple Architectures
You can compile the package for more than one kind of computer at the You can compile the package for more than one kind of computer at the
same time, by placing the object files for each architecture in their same time, by placing the object files for each architecture in their
own directory. To do this, you can use GNU 'make'. 'cd' to the own directory. To do this, you can use GNU `make'. `cd' to the
directory where you want the object files and executables to go and run directory where you want the object files and executables to go and run
the 'configure' script. 'configure' automatically checks for the source the `configure' script. `configure' automatically checks for the
code in the directory that 'configure' is in and in '..'. This is known source code in the directory that `configure' is in and in `..'. This
as a "VPATH" build. is known as a "VPATH" build.
With a non-GNU 'make', it is safer to compile the package for one With a non-GNU `make', it is safer to compile the package for one
architecture at a time in the source code directory. After you have architecture at a time in the source code directory. After you have
installed the package for one architecture, use 'make distclean' before installed the package for one architecture, use `make distclean' before
reconfiguring for another architecture. reconfiguring for another architecture.
On MacOS X 10.5 and later systems, you can create libraries and On MacOS X 10.5 and later systems, you can create libraries and
executables that work on multiple system types--known as "fat" or executables that work on multiple system types--known as "fat" or
"universal" binaries--by specifying multiple '-arch' options to the "universal" binaries--by specifying multiple `-arch' options to the
compiler but only a single '-arch' option to the preprocessor. Like compiler but only a single `-arch' option to the preprocessor. Like
this: this:
./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
@ -135,104 +136,105 @@ this:
This is not guaranteed to produce working output in all cases, you This is not guaranteed to produce working output in all cases, you
may have to build one architecture at a time and combine the results may have to build one architecture at a time and combine the results
using the 'lipo' tool if you have problems. using the `lipo' tool if you have problems.
Installation Names Installation Names
================== ==================
By default, 'make install' installs the package's commands under By default, `make install' installs the package's commands under
'/usr/local/bin', include files under '/usr/local/include', etc. You `/usr/local/bin', include files under `/usr/local/include', etc. You
can specify an installation prefix other than '/usr/local' by giving can specify an installation prefix other than `/usr/local' by giving
'configure' the option '--prefix=PREFIX', where PREFIX must be an `configure' the option `--prefix=PREFIX', where PREFIX must be an
absolute file name. absolute file name.
You can specify separate installation prefixes for You can specify separate installation prefixes for
architecture-specific files and architecture-independent files. If you architecture-specific files and architecture-independent files. If you
pass the option '--exec-prefix=PREFIX' to 'configure', the package uses pass the option `--exec-prefix=PREFIX' to `configure', the package uses
PREFIX as the prefix for installing programs and libraries. PREFIX as the prefix for installing programs and libraries.
Documentation and other data files still use the regular prefix. Documentation and other data files still use the regular prefix.
In addition, if you use an unusual directory layout you can give In addition, if you use an unusual directory layout you can give
options like '--bindir=DIR' to specify different values for particular options like `--bindir=DIR' to specify different values for particular
kinds of files. Run 'configure --help' for a list of the directories kinds of files. Run `configure --help' for a list of the directories
you can set and what kinds of files go in them. In general, the default you can set and what kinds of files go in them. In general, the
for these options is expressed in terms of '${prefix}', so that default for these options is expressed in terms of `${prefix}', so that
specifying just '--prefix' will affect all of the other directory specifying just `--prefix' will affect all of the other directory
specifications that were not explicitly provided. specifications that were not explicitly provided.
The most portable way to affect installation locations is to pass the The most portable way to affect installation locations is to pass the
correct locations to 'configure'; however, many packages provide one or correct locations to `configure'; however, many packages provide one or
both of the following shortcuts of passing variable assignments to the both of the following shortcuts of passing variable assignments to the
'make install' command line to change installation locations without `make install' command line to change installation locations without
having to reconfigure or recompile. having to reconfigure or recompile.
The first method involves providing an override variable for each The first method involves providing an override variable for each
affected directory. For example, 'make install affected directory. For example, `make install
prefix=/alternate/directory' will choose an alternate location for all prefix=/alternate/directory' will choose an alternate location for all
directory configuration variables that were expressed in terms of directory configuration variables that were expressed in terms of
'${prefix}'. Any directories that were specified during 'configure', `${prefix}'. Any directories that were specified during `configure',
but not in terms of '${prefix}', must each be overridden at install time but not in terms of `${prefix}', must each be overridden at install
for the entire installation to be relocated. The approach of makefile time for the entire installation to be relocated. The approach of
variable overrides for each directory variable is required by the GNU makefile variable overrides for each directory variable is required by
Coding Standards, and ideally causes no recompilation. However, some the GNU Coding Standards, and ideally causes no recompilation.
platforms have known limitations with the semantics of shared libraries However, some platforms have known limitations with the semantics of
that end up requiring recompilation when using this method, particularly shared libraries that end up requiring recompilation when using this
noticeable in packages that use GNU Libtool. method, particularly noticeable in packages that use GNU Libtool.
The second method involves providing the 'DESTDIR' variable. For The second method involves providing the `DESTDIR' variable. For
example, 'make install DESTDIR=/alternate/directory' will prepend example, `make install DESTDIR=/alternate/directory' will prepend
'/alternate/directory' before all installation names. The approach of `/alternate/directory' before all installation names. The approach of
'DESTDIR' overrides is not required by the GNU Coding Standards, and `DESTDIR' overrides is not required by the GNU Coding Standards, and
does not work on platforms that have drive letters. On the other hand, does not work on platforms that have drive letters. On the other hand,
it does better at avoiding recompilation issues, and works well even it does better at avoiding recompilation issues, and works well even
when some directory options were not specified in terms of '${prefix}' when some directory options were not specified in terms of `${prefix}'
at 'configure' time. at `configure' time.
Optional Features Optional Features
================= =================
If the package supports it, you can cause programs to be installed If the package supports it, you can cause programs to be installed
with an extra prefix or suffix on their names by giving 'configure' the with an extra prefix or suffix on their names by giving `configure' the
option '--program-prefix=PREFIX' or '--program-suffix=SUFFIX'. option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
Some packages pay attention to '--enable-FEATURE' options to Some packages pay attention to `--enable-FEATURE' options to
'configure', where FEATURE indicates an optional part of the package. `configure', where FEATURE indicates an optional part of the package.
They may also pay attention to '--with-PACKAGE' options, where PACKAGE They may also pay attention to `--with-PACKAGE' options, where PACKAGE
is something like 'gnu-as' or 'x' (for the X Window System). The is something like `gnu-as' or `x' (for the X Window System). The
'README' should mention any '--enable-' and '--with-' options that the `README' should mention any `--enable-' and `--with-' options that the
package recognizes. package recognizes.
For packages that use the X Window System, 'configure' can usually For packages that use the X Window System, `configure' can usually
find the X include and library files automatically, but if it doesn't, find the X include and library files automatically, but if it doesn't,
you can use the 'configure' options '--x-includes=DIR' and you can use the `configure' options `--x-includes=DIR' and
'--x-libraries=DIR' to specify their locations. `--x-libraries=DIR' to specify their locations.
Some packages offer the ability to configure how verbose the Some packages offer the ability to configure how verbose the
execution of 'make' will be. For these packages, running './configure execution of `make' will be. For these packages, running `./configure
--enable-silent-rules' sets the default to minimal output, which can be --enable-silent-rules' sets the default to minimal output, which can be
overridden with 'make V=1'; while running './configure overridden with `make V=1'; while running `./configure
--disable-silent-rules' sets the default to verbose, which can be --disable-silent-rules' sets the default to verbose, which can be
overridden with 'make V=0'. overridden with `make V=0'.
Particular systems Particular systems
================== ==================
On HP-UX, the default C compiler is not ANSI C compatible. If GNU CC On HP-UX, the default C compiler is not ANSI C compatible. If GNU
is not installed, it is recommended to use the following options in CC is not installed, it is recommended to use the following options in
order to use an ANSI C compiler: order to use an ANSI C compiler:
./configure CC="cc -Ae -D_XOPEN_SOURCE=500" ./configure CC="cc -Ae -D_XOPEN_SOURCE=500"
and if that doesn't work, install pre-built binaries of GCC for HP-UX. and if that doesn't work, install pre-built binaries of GCC for HP-UX.
HP-UX 'make' updates targets which have the same time stamps as their HP-UX `make' updates targets which have the same time stamps as
prerequisites, which makes it generally unusable when shipped generated their prerequisites, which makes it generally unusable when shipped
files such as 'configure' are involved. Use GNU 'make' instead. generated files such as `configure' are involved. Use GNU `make'
instead.
On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot
parse its '<wchar.h>' header file. The option '-nodtk' can be used as a parse its `<wchar.h>' header file. The option `-nodtk' can be used as
workaround. If GNU CC is not installed, it is therefore recommended to a workaround. If GNU CC is not installed, it is therefore recommended
try to try
./configure CC="cc" ./configure CC="cc"
@ -240,26 +242,26 @@ and if that doesn't work, try
./configure CC="cc -nodtk" ./configure CC="cc -nodtk"
On Solaris, don't put '/usr/ucb' early in your 'PATH'. This On Solaris, don't put `/usr/ucb' early in your `PATH'. This
directory contains several dysfunctional programs; working variants of directory contains several dysfunctional programs; working variants of
these programs are available in '/usr/bin'. So, if you need '/usr/ucb' these programs are available in `/usr/bin'. So, if you need `/usr/ucb'
in your 'PATH', put it _after_ '/usr/bin'. in your `PATH', put it _after_ `/usr/bin'.
On Haiku, software installed for all users goes in '/boot/common', On Haiku, software installed for all users goes in `/boot/common',
not '/usr/local'. It is recommended to use the following options: not `/usr/local'. It is recommended to use the following options:
./configure --prefix=/boot/common ./configure --prefix=/boot/common
Specifying the System Type Specifying the System Type
========================== ==========================
There may be some features 'configure' cannot figure out There may be some features `configure' cannot figure out
automatically, but needs to determine by the type of machine the package automatically, but needs to determine by the type of machine the package
will run on. Usually, assuming the package is built to be run on the will run on. Usually, assuming the package is built to be run on the
_same_ architectures, 'configure' can figure that out, but if it prints _same_ architectures, `configure' can figure that out, but if it prints
a message saying it cannot guess the machine type, give it the a message saying it cannot guess the machine type, give it the
'--build=TYPE' option. TYPE can either be a short name for the system `--build=TYPE' option. TYPE can either be a short name for the system
type, such as 'sun4', or a canonical name which has the form: type, such as `sun4', or a canonical name which has the form:
CPU-COMPANY-SYSTEM CPU-COMPANY-SYSTEM
@ -268,101 +270,101 @@ where SYSTEM can have one of these forms:
OS OS
KERNEL-OS KERNEL-OS
See the file 'config.sub' for the possible values of each field. If See the file `config.sub' for the possible values of each field. If
'config.sub' isn't included in this package, then this package doesn't `config.sub' isn't included in this package, then this package doesn't
need to know the machine type. need to know the machine type.
If you are _building_ compiler tools for cross-compiling, you should If you are _building_ compiler tools for cross-compiling, you should
use the option '--target=TYPE' to select the type of system they will use the option `--target=TYPE' to select the type of system they will
produce code for. produce code for.
If you want to _use_ a cross compiler, that generates code for a If you want to _use_ a cross compiler, that generates code for a
platform different from the build platform, you should specify the platform different from the build platform, you should specify the
"host" platform (i.e., that on which the generated programs will "host" platform (i.e., that on which the generated programs will
eventually be run) with '--host=TYPE'. eventually be run) with `--host=TYPE'.
Sharing Defaults Sharing Defaults
================ ================
If you want to set default values for 'configure' scripts to share, If you want to set default values for `configure' scripts to share,
you can create a site shell script called 'config.site' that gives you can create a site shell script called `config.site' that gives
default values for variables like 'CC', 'cache_file', and 'prefix'. default values for variables like `CC', `cache_file', and `prefix'.
'configure' looks for 'PREFIX/share/config.site' if it exists, then `configure' looks for `PREFIX/share/config.site' if it exists, then
'PREFIX/etc/config.site' if it exists. Or, you can set the `PREFIX/etc/config.site' if it exists. Or, you can set the
'CONFIG_SITE' environment variable to the location of the site script. `CONFIG_SITE' environment variable to the location of the site script.
A warning: not all 'configure' scripts look for a site script. A warning: not all `configure' scripts look for a site script.
Defining Variables Defining Variables
================== ==================
Variables not defined in a site shell script can be set in the Variables not defined in a site shell script can be set in the
environment passed to 'configure'. However, some packages may run environment passed to `configure'. However, some packages may run
configure again during the build, and the customized values of these configure again during the build, and the customized values of these
variables may be lost. In order to avoid this problem, you should set variables may be lost. In order to avoid this problem, you should set
them in the 'configure' command line, using 'VAR=value'. For example: them in the `configure' command line, using `VAR=value'. For example:
./configure CC=/usr/local2/bin/gcc ./configure CC=/usr/local2/bin/gcc
causes the specified 'gcc' to be used as the C compiler (unless it is causes the specified `gcc' to be used as the C compiler (unless it is
overridden in the site shell script). overridden in the site shell script).
Unfortunately, this technique does not work for 'CONFIG_SHELL' due to an Unfortunately, this technique does not work for `CONFIG_SHELL' due to
Autoconf limitation. Until the limitation is lifted, you can use this an Autoconf limitation. Until the limitation is lifted, you can use
workaround: this workaround:
CONFIG_SHELL=/bin/bash ./configure CONFIG_SHELL=/bin/bash CONFIG_SHELL=/bin/bash ./configure CONFIG_SHELL=/bin/bash
'configure' Invocation `configure' Invocation
====================== ======================
'configure' recognizes the following options to control how it `configure' recognizes the following options to control how it
operates. operates.
'--help' `--help'
'-h' `-h'
Print a summary of all of the options to 'configure', and exit. Print a summary of all of the options to `configure', and exit.
'--help=short' `--help=short'
'--help=recursive' `--help=recursive'
Print a summary of the options unique to this package's Print a summary of the options unique to this package's
'configure', and exit. The 'short' variant lists options used only `configure', and exit. The `short' variant lists options used
in the top level, while the 'recursive' variant lists options also only in the top level, while the `recursive' variant lists options
present in any nested packages. also present in any nested packages.
'--version' `--version'
'-V' `-V'
Print the version of Autoconf used to generate the 'configure' Print the version of Autoconf used to generate the `configure'
script, and exit. script, and exit.
'--cache-file=FILE' `--cache-file=FILE'
Enable the cache: use and save the results of the tests in FILE, Enable the cache: use and save the results of the tests in FILE,
traditionally 'config.cache'. FILE defaults to '/dev/null' to traditionally `config.cache'. FILE defaults to `/dev/null' to
disable caching. disable caching.
'--config-cache' `--config-cache'
'-C' `-C'
Alias for '--cache-file=config.cache'. Alias for `--cache-file=config.cache'.
'--quiet' `--quiet'
'--silent' `--silent'
'-q' `-q'
Do not print messages saying which checks are being made. To Do not print messages saying which checks are being made. To
suppress all normal output, redirect it to '/dev/null' (any error suppress all normal output, redirect it to `/dev/null' (any error
messages will still be shown). messages will still be shown).
'--srcdir=DIR' `--srcdir=DIR'
Look for the package's source code in directory DIR. Usually Look for the package's source code in directory DIR. Usually
'configure' can determine that directory automatically. `configure' can determine that directory automatically.
'--prefix=DIR' `--prefix=DIR'
Use DIR as the installation prefix. *note Installation Names:: for Use DIR as the installation prefix. *note Installation Names::
more details, including other options available for fine-tuning the for more details, including other options available for fine-tuning
installation locations. the installation locations.
'--no-create' `--no-create'
'-n' `-n'
Run the configure checks, but stop before creating any output Run the configure checks, but stop before creating any output
files. files.
'configure' also accepts some other, not widely useful, options. Run `configure' also accepts some other, not widely useful, options. Run
'configure --help' for more details. `configure --help' for more details.

10
LEGAL Normal file
View file

@ -0,0 +1,10 @@
All source code, binaries, documentation, and information contained
in this distribution are provided AS IS with NO WARRANTY OF ANY KIND,
INCLUDING THE WARRANTY OF DESIGN, MERCHANTABILITY, AND FITNESS FOR
A PARTICULAR PURPOSE.
Nagios and the Nagios logo are trademarks of Ethan Galstad. All
other trademarks, servicemarks, registered trademarks, and
registered servicemarks are the property of their respective owner(s).

View file

@ -3,9 +3,9 @@
SUBDIRS = gl tap lib plugins plugins-scripts plugins-root po @PERLMODS_DIR@ SUBDIRS = gl tap lib plugins plugins-scripts plugins-root po @PERLMODS_DIR@
EXTRA_DIST = config.rpath \ EXTRA_DIST = config.rpath \
ABOUT-NLS ACKNOWLEDGEMENTS AUTHORS CODING ChangeLog FAQ NEWS \ ABOUT-NLS ACKNOWLEDGEMENTS AUTHORS BUGS CODING FAQ LEGAL NEWS \
NP-VERSION-GEN REQUIREMENTS SUPPORT THANKS \ NP-VERSION-GEN REQUIREMENTS SUPPORT THANKS \
NPTest.pm pkg \ NPTest.pm pkg nagios-plugins.spec \
config_test/Makefile config_test/run_tests config_test/child_test.c \ config_test/Makefile config_test/run_tests config_test/child_test.c \
tools/build_perl_modules \ tools/build_perl_modules \
tools/tinderbox_build tools/tinderbox_build
@ -15,13 +15,6 @@ ACLOCAL_AMFLAGS = -I gl/m4 -I m4
localedir = $(datadir)/locale localedir = $(datadir)/locale
DEFS = -DLOCALEDIR=\"$(localedir)\" DEFS = -DLOCALEDIR=\"$(localedir)\"
#
# The ChangeLog file is auto-generated from the Git history. We let it depend
# on NP-VERSION-GEN, as we bump our version number in that file.
#
ChangeLog: NP-VERSION-GEN
$(top_srcdir)/tools/generate-change-log > $@
dist-hook: dist-hook:
$(MAKE) THANKS $(MAKE) THANKS
echo ${VERSION} >$(distdir)/release echo ${VERSION} >$(distdir)/release
@ -34,7 +27,6 @@ test test-debug:
if test "$(PERLMODS_DIR)" != ""; then cd && $(MAKE) $@; fi if test "$(PERLMODS_DIR)" != ""; then cd && $(MAKE) $@; fi
cd plugins && $(MAKE) $@ cd plugins && $(MAKE) $@
cd plugins-scripts && $(MAKE) $@ cd plugins-scripts && $(MAKE) $@
cd plugins-root && $(MAKE) $@
# Solaris pkgmk # Solaris pkgmk
BUILDDIR = build-solaris BUILDDIR = build-solaris
@ -52,7 +44,7 @@ solpkg:
cd $(BUILDDIR) && $(PERL) ../$(PKGSCRIPT) ../$(PACKDIR) cd $(BUILDDIR) && $(PERL) ../$(PKGSCRIPT) ../$(PACKDIR)
THANKS: THANKS.in THANKS: THANKS.in
@echo "This software is brought to you by the Monitoring Plugins Development Team. However," > $@ @echo "This software is brought to you by the Nagios Plugins Development Team. However," > $@
@echo "there have been many contributors to this project. Everyone below has helped in " >> $@ @echo "there have been many contributors to this project. Everyone below has helped in " >> $@
@echo "raising bug reports, creating patches or contributing new plugins." >> $@ @echo "raising bug reports, creating patches or contributing new plugins." >> $@
@echo "" >> $@ @echo "" >> $@

File diff suppressed because it is too large Load diff

517
NEWS
View file

@ -1,389 +1,20 @@
This file documents the major additions and syntax changes between releases. This file documents the major additions and syntax changes between releases.
2.3.5 18th Oct 2023 ...
FIXES
* Include maxfd.h in lib Makefile
2.3.4 18th Oct 2023
ENHANCEMENTS
* check_curl: added --cookie-jar and doing proper cleanup of libcurl
* check_curl: Include all IPs from getaddrinfo() in curl DNS cache
* check_dhcp: Add dhcp rogue detection
* check_disk: add ignore-missing option to return OK for missing fs
* check_disk_smb: allow checking 0-sized resource (ex. IPC$)
* check_disk: The options to include or exclude specific file systems now allow the usage of regex(7)
* check_icmp: Add support to Jitter, MOS and Score
* check_mysql: Detect running mysqldump and handle it more gracefully
* check_procs: Implement --exclude-process to exclude specific processes
* check_smtp: add new longoption --tls
* check_smtp: Add option to prefix PROXY header
* check_smtp: Add support for SMTP over TLS
* check_smtp: Add support for SNI
* check_snmp: Implement option to ignore mib file parsing errors
* check_users: prefer systemd-logind over utmp
FIXES
* check_disk: Display SI units correctly
* check_ircd: use pack_sockaddr_in rather than hand-rolled
* check_log/check_oracle/check_sensors: fixed the outputs of the help functionality
* check_mysql: Add mysql_close to avoid spamming the server logs
* check_smtp: add missing -r option in usage
* check_snmp: disable multiplier when unused
* check_wave: Use compile time determined path to snmpget
GENERAL
* Sync with the Gnulib code 668c0b8ffa
* Set autoconf prerequisite version to 2.64
* Remove sha1 and use sha256 in some parts of the plugin structure
* A lot of compiler warnings were fixed
* Some code was refactored a little bit
2.3.3 2nd Feb 2023
ENHANCEMENTS
using PRId64 and PRIu64 instead of %ld directly
check_http: Make faster with larger files
check_snmp: add 'multiplier' to modify current value
check_http: Implement chunked encoding decoding
check_http/check_curl: add chunked encoding test
check_log: Added --exclude to exclude patterns
check_log: Add tests
check_disk: Clarify usage possibilities
FIXES
fixed two PRId64 to PRIu64 in perfdata_uint64
check_pgsql: Removing is_pg_dbname altogether,using postgres API.
check_http: Remove superfluous CRLF in HTTP-Requests
check_curl: detect ipv6
check_icmp: fix parsing help/version long options
check_http: fix test plan
check_disk: Find accessible mount path if multiple are available
check_apt: Fix unknown escape sequence error output
check_curl: fix checking large bodys
check_snmp: Improve tests for check_snmp & multiply option
check_snmp: always apply format when applying multiplier
check_http: Use real booleans instead of ints
check_http: Document process_arguments a little bit better
check_http: Remove dead code
check_http: Fix several bug in the implementation of unchunking
check_http: Reformat a part to increase readability
check_apt: Put upgrade options in the root sections
check_apt: Fix comment
check_apt: Use real booleans
check_mailq: Fixing nullmailer regex
check_snmp: Fix regex matches
check_log: Fixed a bug when using --all
check_log: Cleaned up duplicated code in the args
check_http: Fix memory reallocation error in chunk decoding logic
check_http: Add space for ending NULL byte in array for chunked encoding
2.3.2 20th Oct 2022
GENERAL
Use netcat-openbsd for debian explicitly (by @RincewindsHat #1704)
Replace egrep with grep -E (by @RincewindsHat #1791)
Use silent automake by default (by @RincewindsHat #1747)
SINGLE PLUGINS
check_by_ssh: added option to exit with an warning, if there is output on STDERR (by @nafets #1301)
check_by_ssh: Add "-U" flag (#1123). (by @archiecobbs #1774)
check_by_ssh: Let ssh decide if a host is valid, enables usage of ssh .config file (by @RincewindsHat #1691)
check_curl: Add an option to check_curl to verify the peer certificate & host using the system CA's (by @bazzisoft #1669)
check_curl: fixed -ffollow for HTTP/2.0 (Fixes #1685): added major_version parsing to PicoHTTPParser (by @andreasbaumann #1742)
check_curl: fixes check_curl: "CRITICAL - Cannot retrieve certificate subject." (by @andreasbaumann #1689)
check_curl: fix if http header contains leading spaces (by @sni #1666)
check_curl: Update check_curl.c to display a specific human-readable error message where possible (by @bazzisoft #1668)
check_curl: verify certificates option should not force SSL to be used (by @bazzisoft #1688)
check_disk: Description for -M was the wrong way around (by @RincewindsHat #1746)
check_disk: Fixing the stuff that is broken on btrfs (by @waja #1388)
check_disk: Fix perfdata for big values for check disk (by @RincewindsHat #1714)
check_disk_smb: Add configfile feature (by @Napsty #1402)
check_disk_smb: Add timeout (by @cdruee #1770)
check_dns: Add --expect-nxdomain (by @Jonny007-MKD #1623)
check_dns: split multiple IP addresses passed in one -a argument (by @DerDakon #1649)
check_file_age: Make size parameter a little bit more intelligible (by @RincewindsHat #1730)
check_fping: Implements 'host-alive' mode (Closes. #1027) (by @waja #1740)
check_game: Update Url to qstat (by @RincewindsHat #1725)
check_http: changed 'STATE_CRITICAL' to 'STATE_WARNING' for infinite loop (by @xFuture603 #1690)
check_http: Increase regexp limit (by @hydrapolic #1566)
check_http: Support http redirect (by @waja #1449)
check_icmp: buffer offerflow (by @RincewindsHat #1733)
check_icmp: delay set_source_ip() until address_family is detected (by @ghciv6 #1735)
check_icmp: Fix "Invalid Argument" from sendmsg() under FreeBSD 13.1 and "setsockopt failed" for TTL setting (by @eriksejr #1771)
check_icmp: Fix pkt perfdata in check_host mode (by @sjoegren #1721)
check_ldap: Allows check_ldap to read password from environment variable (by @mullumaus #1724)
check_load: add LOAD prefix to load plugin (by @haraldj #1694)
check_load: Display total and scaled load values if check_load scales the values (by number of CPUs by @RincewindsHat #1778)
check_log: Missing oldlog now aborts check_log (by @RincewindsHat #1732)
check_mailq: Add mailq -C option for config dir or config file (by @leeclemens #1490)
check_mailq: Check mailq domain specific warnings (by @RincewindsHat #1731)
check_mailq: Fix regexp for nullmailer "mailq" output (by @darksoul42 #1493)
check_mysql: fix segfaults with mysql-connector-c #1562 (by @ghciv6 #1644)
check_pgsql: add --queryname parameter to check_pgsql (by @datamuc #1741)
check_ping: Do not show RTA if no connection was possible (by @RincewindsHat #1697)
check_ping: understang ping6 output from iputils package (by @glensc #1412)
check_proc: Fix check proc ps detection (by @sni #1712)
check_procs: exchange needle and haystack in strstr() for proper st… (by @wolfgangkarall #1654)
check_smtp: add -L flag to support LMTP (LHLO instead of HELO/EHLO). (by @ghen2 #1715)
check_snmp: Added option for null zero length string exit codes (by @FracKenA #1496)
check_snmp: fix performance thresholds when using multiple oids (by @sni #1722)
check_snmp fix segfaults (by @adrb #1589)
check_snmp: put the "c" (to mark a counter) after the perfdata value (by @lausser #1465)
check_swap: fix parsing swap values (by @sni #1780)
check_swap: Fix perfdata for check swap (by @RincewindsHat #1707)
check_swap: Fix unit for total in perfdata (by @RincewindsHat #1779)
check_swap: Handle cached swap (by @mdavranche #1642)
check_swap: Small fix to threshold validation and style (indentation) fixes (by @RincewindsHat #1723)
check_ups: Fix possible overflow in check_ups (by @phibos #1727)
check_uptime: Add option to report uptime in days instead of seconds (by @amotl #1750)
check_uptime: Fix/improve output message "Uptime is ..." (by @amotl #1751)
MULTIPLE PLUGINS
check_http, check_curl: added --max-redirs=N option (feature #1684) (by @andreasbaumann #1744)
check_http, check_curl: Enhancement --continue-after-certificate (backport from nagios-plugins) (by @andreasbaumann #1762)
check_http, check_curl: Remove check_http and check_curl test which are somehow always failing (by @RincewindsHat #1777)
check_log, check_oracle, check_sensors: Several fixes shellcheck complaining about (by @waja #1459)
sslutils: use chain from client certificates (by @tobiaswiese #1664)
NON FUNCTIONAL CHANGES
Trivial source code whitespace formatting fixes to standard. (by @ziesemer #1424)
docs: fix simple typo, conspicuosly -> conspicuously (by @timgates42 #1652)
Migrate to GitHub actions (by @jacobbaungard #1686)
Point to Icinga Exchange instead of dead Monitoring Exchange (by @RincewindsHat #1737)
github actions: fix check_users test case (by @sni #1713)
Add CodeQL checks (by @phibos #1682)
Fix some QL problems (by @RincewindsHat #1729)
Update CodeQL and update runner before installing (by @RincewindsHat #1775)
check_disk: Check disk compiler warnings (by @RincewindsHat #1758)
check_disk: Trivial printf fix and a little bit of code style (by @RincewindsHat #1695)
check_http: Docs: make -C obvious (by @stblassitude #1554)
check_ifoperstatus: Re-attach a comment to where it actually belongs (by @peternewman #1699)
check_ircd: Restrict the nickname length of the test user for check_ircd (by @RincewindsHat #1710)
check_load: Check load compiler warnings (by @RincewindsHat #1759)
check_log: Modernize check log (by @RincewindsHat #1692)
check_mailq: remove duplicate W=i/C=i args in check_mailq.pl (by @ichdasich #1755)
check_ntp: Check ntp remove unused variables (by @RincewindsHat #1781)
check_pgsql: Using snprintf which honors the buffers size and guarantees null termination. (Closes: #1601) (by @waja #1663)
check_procs: Fix double percentage sign in usage (by @RincewindsHat #1743)
check_sensors.sh: Make shellcheck happier (by @RincewindsHat #1679)
check_snmp: Fixed option description authpassword -> authpasswd + whitespaces (by @RincewindsHat #1676)
check_swap: Check swap compiler warnings (by @RincewindsHat #1756)
2.3.1 10 April 2021
ENHANCEMENTS
check_curl: Add an option to verify the peer certificate & host using the system CA's
FIXES
check_icmp: fix simple typo, conspicuosly -> conspicuously
check_curl: fixed help, usage and errors for TLS 1.3
check_curl: fixed a potential buffer overflow in url buffer
check_dns: split multiple IP addresses passed in one -a argument
check_curl: added string_statuscode function for printing HTTP/1.1 and HTTP/2 correctly
check_curl: fix crash if http header contains leading spaces
check_curl: display a specific human-readable error message where possible
check_pgsql: Using snprintf which honors the buffers size and guarantees null termination.
check_snmp: put the "c" (to mark a counter) after the perfdata value
check_http: Increase regexp limit
check_http: make -C obvious
check_curl: Increase regexp limit (to 1024 as in check_http)
check_curl: make -C obvious (from check_http)
check_curl: backported --show-body/-B to print body (from check_http)
2.3 10th December 2020
ENHANCEMENTS
check_dns: allow 'expected address' (-a) to be specified in CIDR notation
(IPv4 only).
check_dns: allow for IPv6 RDNS
check_dns: Accept CIDR
check_dns: allow unsorted addresses
check_dns: allow forcing complete match of all addresses
check_dns: option to expect NXDOMAIN
check_apt: add --only-critical switch
check_apt: add -l/--list option to print packages
check_file_age: add range checking
check_file_age: enable to test for maximum file size
check_apt: adding packages-warning option
check_load: Adding top consuming processes option
check_http: Adding Proxy-Authorization and extra headers
check_snmp: make calculation of timeout value in help output more clear
check_uptime: new plugin for checking uptime to see how long the system is running
check_curl: check_http replacement based on libcurl
check_http: Allow user to specify HTTP method after proxy CONNECT
check_http: Add new flag --show-body/-B to print body
check_cluster: Added data argument validation
check_icmp: Add IPv6 support
check_icmp: Automatically detect IP protocol
check_icmp: emit error if multiple protocol version
check_disk: add support to display inodes usage in perfdata
check_hpjd: Added -D option to disable warning on 'out of paper'
check_http: support the --show-body/-B flag when --expect is used
check_mysql: allow mariadbclient to be used
check_tcp: add --sni
check_dns: detect unreachable dns service in nslookup output
FIXES
Fix regression where check_dhcp was rereading response in a tight loop
check_dns: fix error detection on sles nslookup
check_disk_smb: fix timeout issue
check_swap: repaired "-n" behaviour
check_icmp: Correctly set address_family on lookup
check_icmp: Do not overwrite -4,-6 on lookup
check_smtp: initializes n before it is used
check_dns: fix typo in parameter description
check_by_ssh: fix child process leak on timeouts
check_mysql: Allow sockets to be specified to -H
check_procs: improve command examples for 'at least' processes
check_swap: repaired "-n" behaviour
check_disk: include -P switch in help
check_mailq: restore accidentally removed options
2.2 29th November 2016
ENHANCEMENTS
The check_http -S/--ssl option now accepts the arguments "1.1" and "1.2"
to force TLSv1.1 and TLSv1.2 connections, respectively
The check_http -S/--ssl option now allows for specifying the desired
protocol with a "+" suffix to also accept newer versions
Let check_http check HTTPS web sites via proxies
check_http: add timeout to performance data as max value
check_http: report certificate expiry date in UTC
check_snmp: add IPv6 support
check_snmp's performance data now also includes warning/critical
thresholds
New check_snmp -N option to specify SNMPv3 context name
Let check_smtp's -D option imply -S
Let check_smtp's -e option match against the full SMTP response
check_dig: expected response is now case-insensitive
New check_mailq -s option which tells the plugin to use sudo(8)
New check_nt -l parameters: seconds|minutes|hours|days
New -W/-C option for check_ldap to check number of entries
check_users: add support for range thresholds
check_fping now auto-detects IPv6 addresses
check_radius now supports the radcli library
Support OpenSSL 1.1
FIXES
check_http: fix host header port handling
Let check_real terminate lines with CRLF when talking to the server, as
mandated by RFC 2326
Fix check_procs on HP-UX
check_smtp's -e/--expect option can now be combined with -S/--starttls
Fix incorrect performance data thresholds emitted by check_ups
Don't let check_procs miss some processes on busy Solaris systems
WARNINGS
The format of the performance data emitted by check_mrtgtraf has been
changed to comply with the development guidelines
check_ssh now returns CRITICAL for protocol/version errors
If a plugin is invoked with -h/--help or -V/--version, the exit status
is now UNKNOWN
The superseded check_ntp.pl was removed, please use check_ntp_peer or
check_ntp_time instead
2.1.2 16th October 2015
FIXES
Fix incorrect performance data thresholds emitted by check_ups
Fix check_dhcp's option parsing to not crash with certain arguments
Fix check_snmp using correct timeout
2.1.1 2nd December 2014
FIXES
Fix check_ntp's jitter checking
Fix check_ntp's handling of invalid server responses
Fix check_apt's handling of invalid regular expressions
Fix check_real's server response processing
Fix backslash escaping in check_tcp's --help output
2.1 15th October 2014
ENHANCEMENTS
New check_hpjd -p option for port specification
New ./configure --with-qmail-qstat-command option to specify the path to
qmail-qstat(8)
New check_ifstatus -n option to ignore interfaces by name
check_ntp_peer has now specific state output for each metric
New check_mysql -n option to ignore authentication failures
Added IP and port or socket name to error messages
New check_ntp_time -o option to add expected offset
check_disk shows now troubled partitions in verbose mode
check_dig has now support for drill and dig
check_dig has now support for -6 option
Add performance data to check_file_age
FIXES
Fix check_jabber to work with Openfire servers
Fix check_oracle bad string matching when testing TNS server
Fixed check_ifstatus performance data output
Fixed expire time output for sslutils
check_dns now verifies if the answer is returning from the queried
server
Fix check_by_ssh to accept --hostname as argument
WARNINGS
This release doesn't ship with an RPM spec file, please contribute to
PR #1283 if you are interested in it
2.0 11th July 2014
ENHANCEMENTS
check_mailq now supports auto detection of qmail, postfix, exim and nullmailer with
fallback to sendmail
check_ide_smart now defaults to plugin output, original output appended with -v
Extra-Opts are now enabled by default, see:
https://www.monitoring-plugins.org/doc/extra-opts.html
check_swap now supports a configurable state when there is no swap
check_radius now supports the FreeRADIUS Client library
New check_mysql_query -f option to specify a client options file
New check_mysql_query -g option to specify a client options group
Add performance data to check_mysql_query
New check_file_age -i/--ignore-missing option to return OK on nonexistent files
Make check_ping, check_users, and check_disk work on Windows
New check_ssh -P option to specify the expected SSH protocol version
check_dns now emits the warning and critical thresholds with the performance data
FIXES
Don't let e.g. check_http's -C option reset SSL version if e.g. -S 1 -C 5 is specified
Don't have check_http's -N option expect an argument
check_ide_smart could disable offline auto tests but could not re-enable them.
For this reason all SMART command modes have been disabled.
check_dig: fix wrong IPv6 arguments order
check_dig: make sure not to give up too early when a timeout is specified with -t
check_log: don't stumble over log lines that include a "%" character
check_nt: add UPTIME to perfdata
Handle SNMPv3 noAuthNoPriv properly with check_snmp
Fix compilation with GnuTLS
WARNINGS
New default installation prefix: /usr/local instead of /usr/local/nagios
check_snmp now evaluates negative values properly, which means it might return CRITICAL
in cases where it used to return OK. If this is undesired, the warning/critical
threshold(s) must be fixed by specifying e.g. ~:100 instead of 100
check_procs now ignores its parent process to avoid unexpected results when invoked via
certain shells
utils.sh no longer defines ECH
check_ide_smart -q/--quiet and -n/--nagios (Nagios-compatible output) are now deprecated
but accepted for backward-compatibility
check_ide_smart -0/--auto-off, -1/--auto-on and -i/--immediate: options have
been disabled because they were broken
State retention: the NAGIOS_PLUGIN_STATE_DIRECTORY environment variable has been
renamed MP_STATE_PATH. The old variable will continue to work in v2.0.x
Add the UID of the invoking user to the state retention file path. This helps solving
permission issues when different users run the same plugin
check_swap used to allow returning OK on a system without swap when only percent thresholds
were used. This is no longer the case and one must now use -n/--no-swap=<state>
The Perl and Shell plugins now use the PATH specified via ./configure's --trusted-path
option, or "/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin" by default
1.5 2nd October 2013
ENHANCEMENTS ENHANCEMENTS
New check_dbi plugin for checking an (SQL) database using DBI New check_dbi plugin for checking an (SQL) database using DBI
Let OpenSSL load its configuration file (see the OPENSSL_config(3) man page) Let OpenSSL load its configuration file (see the OPENSSL_config(3) man page)
Add performance data to check_apt Add performance data to check_apt
Add performance data to check_procs Add performance data to check_procs
Added -4/-6 options to check_dig Added -4/-6 options to check_dig (Ville Mattila)
New check_oracle --connect option to perform real login New check_oracle --connect option to perform real login
New check_nagios -t option to override the default timeout New check_nagios -t option to override the default timeout
New check_disk -f/--freespace-ignore-reserved option to ignore space reserved for root New check_disk -f/--freespace-ignore-reserved option to ignore space reserved for root
New check_disk -N/--include-type option to limit the filesystem types to check New check_disk -N/--include-type option to limit the filesystem types to check
Allow for building the plugins in parallel Allow for building the plugins in parallel
Add --without-{dbi,ldap,radius} options to ./configure Add --without-{dbi,ldap,radius} options to ./configure
Made Verbose output of check_sensors compliant Made Verbose output of check_sensors compliant (Gabriele Tozzi)
New switch -E/--extended-perfdata for check_http to print additional performance data New switch -E/--extended-perfdata for check_http to print additional performance data (Sebastian Nohn)
New check_http -d option to specify a string to expect within the response headers New check_http -d option to specify a string to expect within the response headers
New check_http -J/-K options for client certificate authentication support New check_http -J/-K options for client certificate authentication support
Add support for executing queries to check_pgsql Add support for executing queries to check_pgsql
@ -395,10 +26,10 @@ This file documents the major additions and syntax changes between releases.
New check_procs -k option to ignore kernel threads (on Linux) New check_procs -k option to ignore kernel threads (on Linux)
Let check_procs use /proc/<PID>/exe (if available) instead of getpid(2), unless -T is specified Let check_procs use /proc/<PID>/exe (if available) instead of getpid(2), unless -T is specified
Let check_mysql support SSL Let check_mysql support SSL
Let check_mysql add performance metrics for all checks Let check_mysql add perfromance metrics for all checks
New check_mysql -f option to specify a client options file New check_mysql -f option to specify a client options file
New check_mysql -g option to specify a client options group New check_mysql -g option to specify a client options group
New check_snmp --offset option to allow for adding/subtracting an offset value to sensor data New check_snmp --offset option to allow for adding/substracting an offset value to sensor data
Let check_snmp support an arbitrary number of OIDs Let check_snmp support an arbitrary number of OIDs
Let check_ide_smart support NetBSD Let check_ide_smart support NetBSD
@ -406,47 +37,46 @@ This file documents the major additions and syntax changes between releases.
Change the MAIL FROM command generated by check_smtp to be RFC compliant Change the MAIL FROM command generated by check_smtp to be RFC compliant
Fix compilation of check_http without SSL support Fix compilation of check_http without SSL support
Fix check_snmp reversed threshold ranges (backward-compatibility) Fix check_snmp reversed threshold ranges (backward-compatibility)
Fix check_snmp memory violation when using more than 8 oids Fix check_snmp memory violation when using more than 8 oids (Robin Sonefors)
Fix check_apt security regular expression Fix check_apt security regular expression (Alex Bradley)
Fix check_http handling extra header (-k) containing semicolons Fix check_http handling extra header (-k) containing semicolons (Richard Leitner)
Fix check_apt handling unknown exit codes from apt-get Fix check_apt handling unknown exit codes from apt-get (Richard Leitner)
Fix deprecated imports of check_nmap.py Fix deprecated imports of check_nmap.py (Fabio Rueda)
WARNINGS WARNINGS
check_http behaviour of -k/--header changed since it does not separate multiple headers by semicolons anymore. Use multiple -k switches instead. check_http behaviour of -k/--header changed since it does not seperate multiple headers by semicolons anymore. Use multiple -k switches instead.
check_http's --proxy_authorization option is now called --proxy-authorization (it was always documented this way) check_http's --proxy_authorization option is now called --proxy-authorization (it was always documented this way)
The contrib directory has been removed from this distribution
1.4.16 27th June 2012 1.4.16 27th June 2012
ENHANCEMENTS ENHANCEMENTS
check_nt UPTIME accepts warning/critical thresholds check_nt UPTIME accepts warning/critical thresholds (Ryan Kelly)
check_disk_smb now allows spaces in share names (#990948, #1370031, Debian #601699) check_disk_smb now allows spaces in share names (#990948, #1370031, Debian #601699)
check_http now uses standard threshold functions (enables floating point and ranges) check_http now uses standard threshold functions (enables floating point and ranges)
check_http now checks for and prints the certificate cn (hostname) in SSL certificate checks check_http now checks for and prints the certificate cn (hostname) in SSL certificate checks (Stéphane Urbanovski)
check_http now supports an optional -S/--ssl value to choose the SSL protocol version (#3066166) check_http now supports an optional -S/--ssl value to choose the SSL protocol version (#3066166 - Jason Lunn)
Add perfdata to check_ssh (#3244097) Add perfdata to check_ssh (#3244097 - Marco Beck)
New option to check_smtp to ignore failures when sending QUIT (#3358348) New option to check_smtp to ignore failures when sending QUIT (#3358348 - Duncan Ferguson)
New check_by_ssh -F option which allows for specifying an alternative ssh_config(5) file (#2895334) New check_by_ssh -F option which allows for specifying an alternative ssh_config(5) file (#2895334 - Sven Nierlein)
check_sensors now detects faulty sensors unless --ignore-fault is specified check_sensors now detects faulty sensors unless --ignore-fault is specified (Jan Wagner)
utils.sh now provides a check_range function utils.sh now provides a check_range function (Alex Griffin)
Improved the performance of check_users Improved the performance of check_users (Marc Remy)
Add perfdata to check_disk_smb (Debian #654259) Add perfdata to check_disk_smb (Debian #654259 - Charles-Henri Larose)
Updated Nagios::Plugin perl module Updated Nagios::Plugin perl module
Add warning threshold to certificate expiration checks of check_tcp/http/smtp Add warning threshold to certificate expiration checks of check_tcp/http/smtp (William Leibzon)
Add --perf-oids option for check_snmp Add --perf-oids option for check_snmp (Jochen Bern)
FIXES FIXES
Fix check_disk free space calculation if blocksizes differ within a disk group (#2973603) Fix check_disk free space calculation if blocksizes differ within a disk group (Bekar - #2973603)
check_disk_smb now handles NT_STATUS_ACCESS_DENIED properly (Debian #601696) check_disk_smb now handles NT_STATUS_ACCESS_DENIED properly (Debian #601696)
Make check_snmp work more like v1.4.14 with regard to using special values (Timeticks, STRING) as numeric thresholds Make check_snmp work more like v1.4.14 with regard to using special values (Timeticks, STRING) as numeric thresholds
Fix check_ldap overriding the port when --ssl was specified after -p Fix check_ldap overriding the port when --ssl was specified after -p
Fix check_procs where regex input of '|' would get displayed in output - now replaced with ',' Fix check_procs where regex input of '|' would get displayed in output - now replaced with ','
Fix segfault in check_host when hostname returns multiple IP addresses Fix segfault in check_host when hostname returns multiple IP addresses (Sebastian Harl)
Fix check_smtp and check_tcp where duplicate messages were displayed for certificate errors Fix check_smtp and check_tcp where duplicate messages were displayed for certificate errors
Fix check_ping's parsing of ping6(1) output (#1894850, Debian #514588, Debian #662638) Fix check_ping's parsing of ping6(1) output (#1894850, Debian #514588, Debian #662638 - Matej Vela)
Fix a check_dhcp bug which was triggered by checking Windows 2003 DHCP servers (#3503921) Fix a check_dhcp bug which was triggered by checking Windows 2003 DHCP servers (#3503921)
Disable RFC4507 support, to work around SSL negotiation issues with (at least) some Tomcat versions Disable RFC4507 support, to work around SSL negotiation issues with (at least) some Tomcat versions
Fix performance data label containing spaces in check_snmp Fix performance data label containing spaces in check_snmp (Jochen Bern)
1.4.15 27th July 2010 1.4.15 27th July 2010
ENHANCEMENTS ENHANCEMENTS
@ -456,30 +86,30 @@ This file documents the major additions and syntax changes between releases.
New check_snmp --rate option to store differences between invocations. Saves state in PREFIX/var/{plugin} New check_snmp --rate option to store differences between invocations. Saves state in PREFIX/var/{plugin}
check_snmp -l label option now also changes the perfdata label. See WARNINGS check_snmp -l label option now also changes the perfdata label. See WARNINGS
check_snmp has an --invert-search option which reverses status of the string and regexp searches check_snmp has an --invert-search option which reverses status of the string and regexp searches
check_http now displays the missing search string and the URL in the output when failed (#2999924) check_http now displays the missing search string and the URL in the output when failed (Duncan Ferguson - #2999924)
Updated Nagios::Plugin perl module Updated Nagios::Plugin perl module
Updated gnulib to June 2010 Updated gnulib to June 2010
FIXES FIXES
Fix check_ircd binding to wrong interface (#668778) Fix check_ircd binding to wrong interface (#668778)
Add proxy-authorization option to check_http (#1323230, #2863925) Add proxy-authorization option to check_http (Marcel Kuiper - #1323230, Bryan Irvine - #2863925)
check_icmp now increment the sequence counter in each packet check_icmp now increment the sequence counter in each packet
Fix usage of repeated -o options in check_snmp Fix usage of repeated -o options in check_snmp
Try to detect arguments passed via --with-ping[6]-command and set options accordingly (#2908236) Try to detect arguments passed via --with-ping[6]-command and set options accordingly (#2908236)
Fix memory leak in check_http for large pages (#2957455) Fix memory leak in check_http for large pages (Jimmy Bergman - #2957455)
Fix compilation with GCC 2.96 (#2977105) Fix compilation with GCC 2.96 (Konstantin Khomoutov - #2977105)
Fix regression introduced in #1867716 where partially valid performance strings would not be printed anymore Fix regression introduced in #1867716 where partially valid performance strings would not be printed anymore
Fix regression in check_http ssl checks on some servers - make SNI an option Fix regression in check_http ssl checks on some servers - make SNI an option
Fix guest mode support in check_disk_smb Fix guest mode support in check_disk_smb
Fix check_disk_smb and check_ircd failures when run via ePN Fix check_disk_smb and check_ircd failures when run via ePN
check_ldap now allows for specifying an empty LDAP base check_ldap now allows for specifying an empty LDAP base
Fix compilation error of pst3 in Solaris 8 Fix compilation error of pst3 in Solaris 8
Fix check_radius returning OK on unexpected results (#2911752) Fix check_radius returning OK on unexpected results (Craig Leres - #2911752)
Fix translations when extra-opts aren't enabled (#2832884) Fix translations when extra-opts aren't enabled (Jan Wagner - #2832884)
Fix parsing of multi-line strings in check_snmp (broken in 1.4.14) and enhance output in such case (#2832451) Fix parsing of multi-line strings in check_snmp (broken in 1.4.14) and enhance output in such case (#2832451)
Fix detection of pst3 64-bit compile flags with Sun CC Fix detection of pst3 64-bit compile flags with Sun CC
Fix cmd_run overwriting the environment, which would break some commands that needed it Fix cmd_run overwriting the environment, which would break some commands that needed it
Allow check_ifstatus to accept version=2c - used to only allow version=2 Allow check_ifstatus to accept version=2c - used to only allow version=2 (Brian Landers)
Fix examples in check_disk, where it implied was possible to suffix unit values to warn/crit parameters Fix examples in check_disk, where it implied was possible to suffix unit values to warn/crit parameters
WARNINGS WARNINGS
@ -492,71 +122,71 @@ This file documents the major additions and syntax changes between releases.
check_http has options to specify the HTTP method (#2155152) check_http has options to specify the HTTP method (#2155152)
check_users thresholds were not working exactly as documented (>= rather than >) check_users thresholds were not working exactly as documented (>= rather than >)
Updated tinderbox_build script to point to new tinderbox server Updated tinderbox_build script to point to new tinderbox server
check_ifoperstatus -n flag now works as expected (#1569488) check_ifoperstatus -n flag now works as expected (sf.net #1569488)
check_ifoperstatus now supports ifType based lookup for ifIndex check_ifoperstatus now supports ifType based lookup for ifIndex
check_ups now sends a LOGOUT string (Debian #387001) check_ups now sends a LOGOUT string (debian bug #387001)
Extra-opts (C plugins) now allows both '#' and ';' for comments (like N::P) Extra-opts (C plugins) now allows both '#' and ';' for comments (like N::P)
Extra-opts (C plugins) does not allow trailing comments anymore (like N::P) Extra-opts (C plugins) does not allow trailing comments anymore (like N::P)
Fixed dependency issue on libtap when ./configure --enable-libtap used. Warning: will install libtap Fixed dependency issue on libtap when ./configure --enable-libtap used. Warning: will install libtap
Fixed segfault in extra-opts under some circumstance when reading multiple sections Fixed segfault in extra-opts under some circumstance when reading multiple sections
Fix long options parsing in check_disk, check_dns, check_mrtg, check_mrtgtraf and check_tcp Fix long options parsing in check_disk, check_dns, check_mrtg, check_mrtgtraf and check_tcp
Add missing long options for check_nt (for use with extra-opts) Add missing long options for check_nt (for use with extra-opts)
check_icmp now reports min and max round trip time perfdata check_icmp now reports min and max round trip time perfdata (Steve Rader)
Fixed check_http bug where additional headers with redirection caused a segfault (2089159) Fixed check_http bug where additional headers with redirection caused a segfault (Dieter Van de Walle - 2089159)
check_disk: make autofs mount paths specified with -p before we determine the mount list check_disk: make autofs mount paths specified with -p before we determine the mount list (Erik Welch)
Fixed buffer overflow in check_ntp/check_ntp_peer (#1999319, Ubuntu #291265) Fixed buffer overflow in check_ntp/check_ntp_peer (#1999319, Ubuntu #291265)
Re-bundled libtap as a built-in library (--enable-libtap): detects system library as pre-1.4.13 and does not install the built-in library anymore Re-bundled libtap as a built-in library (--enable-libtap): detects system library as pre-1.4.13 and does not install the built-in library anymore
Fixed check_mrtg returning UNKNOWN instead of OK (#2378068) Fixed check_mrtg returning UNKNOWN instead of OK (bug #2378068)
Fixed check_http behaviour: all check are now performed as long as a valid response is returned (#1460312) Fixed check_http behaviour: all check are now performed as long as a valid response is returned (sf.net #1460312)
check_http --onredirect=sticky follows using the same IP address (#2550208) check_http --onredirect=sticky follows using the same IP address (sf.net #2550208)
check_http --onredirect=stickyport also follows the same port check_http --onredirect=stickyport also follows the same port
Fixed coredump from check_nt when invalid drive is specified (#2179754) Fixed coredump from check_nt when invalid drive is specified (#2179754 - Olli Hauer)
Fixed crash from check_nt when -H unspecified or given multiple times (#2731755, Debian #521097) Fixed crash from check_nt when -H unspecified or given multiple times (sf.net #2731755, debian #521097)
Fixed passing of quotes in OID for check_snmp (#1985230) Fixed passing of quotes in OID for check_snmp (#1985230 - Jan Wagner, patch by John Barbuto)
Fixed check_http sending HTTP/1.0 with v1.1 headers (#2638765) Fixed check_http sending HTTP/1.0 with v1.1 headers (#2638765)
Fixed check_http not timing-out on redirects Fixed check_http not timing-out on redirects
Fixed negate not printing the real timeout in ALRM handler when left to default Fixed negate not printing the real timeout in ALRM handler when left to default
negate timeout result is now configurable negate timeout result is now configurable
Fixed segfault in check_mysql with old slaves (#2696823) Fixed segfault in check_mysql with old slaves (#2696823 - Oskar Ahner)
check_nt can return UNKNOWN on timeouts (-u) check_nt can return UNKNOWN on timeouts (-u)
Fixed typos for check_disk Fixed typos for check_disk (Chris Pepper)
Fixed check_mysql* not using password set in my.cnf (#2531905) - Specify an empty password explicitly if you need to override it. Fixed check_mysql* not using password set in my.cnf (#2531905 - Ben Timby) - Specify an empty password explicitly if you need to override it.
Fixed awk subst.in/subst script path error (#2722832) Fixed awk subst.in/subst script path error (#2722832 - Martin Foster)
check_http: Add SSL/TLS hostname extension support (SNI) - (#1939022) check_http: Add SSL/TLS hostname extension support (SNI) - (#1939022 - Joe Presbrey)
Fixed wrong perfdata label for output traffic in check_mrtgtraf (#2654308) Fixed wrong perfdata label for output traffic in check_mrtgtraf (#2654308 - Gavin Williams)
Fixed check_by_ssh interpretation of quotes in -C parameter (#1985246, #2268675) Fixed check_by_ssh interpretation of quotes in -C parameter (#1985246, #2268675)
check_snmp now supports standard threshold ranges and doubles (floating numbers) in thresholds check_snmp now supports standard threshold ranges and doubles (floating numbers) in thresholds
check_fping now supports passing target timeout and interval to fping (#2347686) check_fping now supports passing target timeout and interval to fping (#2347686 - Martin Foster)
Fixed SNMPv3 behaviour of check_ifoperstatus and check_ifstatus. Added -P to define privprotocol (#2343438) Fixed SNMPv3 behaviour of check_ifoperstatus and check_ifstatus. Added -P to define privprotocol (#2343438 - Robin Schroeder)
check_ifoperstatus and check_ifstatus are now more user-friendly in case of missing arguments check_ifoperstatus and check_ifstatus are now more user-friendly in case of missing arguments
pst3 compile fix for Sun Studio Compiler pst3 compile fix for Sun Studio Compiler (Grant Byers)
1.4.13 25th Sept 2008 1.4.13 25th Sept 2008
Fix Debian bug #460097: check_http --max-age broken Fix Debian bug #460097: check_http --max-age broken (Hilko Bengen)
Optimised pst3 for systems with large number of processes Optimised pst3 for systems with large number of processes (Duncan Ferguson)
Updated Nagios::Plugin to 0.27 Updated Nagios::Plugin to 0.27
Fix Debian bug #479013: check_dig's -l is mandatory now (#1986306) Fix Debian bug #479013: check_dig's -l is mandatory now (sf.net #1986306)
check_dig now returns CRITICAL instead of WARNING when no answer section is found check_dig now returns CRITICAL instead of WARNING when no answer section is found
check_procs now captures stderr in external command and adds to plugin output check_procs now captures stderr in external command and adds to plugin output
check_snmp now only prints perfdata for non numeric values (#1867716) check_snmp now only prints perfdata for non numeric values (#1867716)
check_icmp now supports packet size modification check_icmp now supports packet size modification
check_http -e now accepts a comma-delimited list of expected status codes check_http -e now accepts a comma-delimited list of expected status codes (Sven Nierlein)
libtap now included with this distribution for easier testing. Run ./configure with --enable-libtap libtap now included with this distribution for easier testing. Run ./configure with --enable-libtap
check_ntp_peer/check_ntp_time used to show port in --help but ignored the argument - now implemented check_ntp_peer/check_ntp_time used to show port in --help but ignored the argument - now implemented
Fix possible segfault in check_ntp_peer with deliberately invalid packets Fix possible segfault in check_ntp_peer with deliberately invalid packets
1.4.12 27th May 2008 1.4.12 27th May 2008
Added ./check_nt -v INSTANCES to count number of instances Added ./check_nt -v INSTANCES to count number of instances (Alessandro Ren)
New check_icmp -s option to specify the source IP address New check_icmp -s option to specify the source IP address
check_dns now sorts addresses for testing results for more than one returned IP check_dns now sorts addresses for testing results for more than one returned IP (Matthias Urlichs)
Fix segfault in check_ntp_time and (deprecated) check_ntp (#1862300) Fix segfault in check_ntp_time and (deprecated) check_ntp (Bug #1862300)
check_disk should now work with large file systems (2TB+) on all archs that supports it check_disk should now work with large file systems (2TB+) on all archs that supports it
Fixed check_disk disk usage calculation when using --group=NAME (related to #1348746) Fixed check_disk disk usage calculation when using --group=NAME (related to bug #1348746)
Fix help text of check_ntp* (#1880095) Fix help text of check_ntp* (Bug #1880095)
Fix bugs and flaws in best offset server selection of check_ntp_time and (deprecated) check_ntp Fix bugs and flaws in best offset server selection of check_ntp_time and (deprecated) check_ntp
check_ntp_peer now checks for the LI_ALARM flag check_ntp_peer now checks for the LI_ALARM flag
Sync to latest Gnulib (includes new floorf function) Sync to latest Gnulib (includes new floorf function)
check_pgsql now successfully builds with postgres lib v8.3 (#1878972) check_pgsql now successfully builds with postgres lib v8.3 (Bug #1878972)
check_procs now accepts --ereg-argument-array for a regular expression match to the argument array check_procs now accepts --ereg-argument-array for a regular expression match to the argument array
Reverted back to using pst3 for Solaris systems. Fixed issues re: -m64 needed to compile on 64bit systems Reverted back to using pst3 for Solaris systems. Fixed issues re: -m64 needed to compile on 64bit systems
If applicable, Gettext linked dynamically instead of statically If applicable, Gettext linked dynamically instead of statically
@ -564,9 +194,9 @@ This file documents the major additions and syntax changes between releases.
check_ntp and check_ntp_peer now show proper jitter/stratum thresholds longopts in --help check_ntp and check_ntp_peer now show proper jitter/stratum thresholds longopts in --help
check_dns now allow to repeat -a to match multiple possibly returned address (common with load balancers) check_dns now allow to repeat -a to match multiple possibly returned address (common with load balancers)
check_mysql and check_radius now try clearing password in processlist just like check_mysql_query check_mysql and check_radius now try clearing password in processlist just like check_mysql_query
check_mysql and check_mysql_query now support sockets explicitly (-s, --socket) check_mysql and check_mysql_query now support sockets explicitely (-s, --socket)
negate now has the ability to replace the status text as well (-s, --substitute) negate now has the ability to replace the status text as well (-s, --substitute)
Added performance data to check_ping Added performance data to check_ping (Christian Schneemann)
Added support for --extra-opts in all C plugins (disabled by default, see configure --help) Added support for --extra-opts in all C plugins (disabled by default, see configure --help)
Fixed passive option in check_by_ssh Fixed passive option in check_by_ssh
On non-skipped stderr, check_by_ssh now returns UNKNOWN or worse (result from command) instead of always UNKNOWN. On non-skipped stderr, check_by_ssh now returns UNKNOWN or worse (result from command) instead of always UNKNOWN.
@ -585,9 +215,9 @@ This file documents the major additions and syntax changes between releases.
is "-1" as the default range starts at 0. See Examples in --help output. is "-1" as the default range starts at 0. See Examples in --help output.
Fixed broken usage2 in check_snmp and check_cluster Fixed broken usage2 in check_snmp and check_cluster
check_cluster now accepts all valid characters in its thresholds ("-", "@", "~") check_cluster now accepts all valid characters in its thresholds ("-", "@", "~")
Fixed check_disk reporting OK if disk usage grows over 100% (#1348746). Fixed check_disk reporting OK if disk usage grows over 100% (bug #1348746).
The problem happens to be in Gnulib but a workaround have been implemented in check_disk.c The problem happens to be in Gnulib but a workaround have been implemented in check_disk.c
Fixed check_load argument handling when not passing triplets (#1831890) Fixed check_load argument handling when not passing triplets (bug #1831890)
Fixed buffer overflow in check_snmp (CVE-2007-5623) Fixed buffer overflow in check_snmp (CVE-2007-5623)
Tinderbox builds now runs tests in a verbose mode Tinderbox builds now runs tests in a verbose mode
Updated Nagios::Plugin to 0.22 Updated Nagios::Plugin to 0.22
@ -604,7 +234,7 @@ This file documents the major additions and syntax changes between releases.
New check_disk option -L: Only check local filesystems, but call stat() on remote ones, too. New check_disk option -L: Only check local filesystems, but call stat() on remote ones, too.
Thus accessibility of remote filesystems can be checked without any threshold comparison. Thus accessibility of remote filesystems can be checked without any threshold comparison.
Check_disk's --help now prints some examples for the new features introduced in 1.4.8 Check_disk's --help now prints some examples for the new features introduced in 1.4.8
New check_disk -i/-I option to ignore paths/partitions based on regular expressions New check_disk -i/-I option to ignore pathes/partitions based on regular expressions
New check_disk -A option to select all filesystems explicitly New check_disk -A option to select all filesystems explicitly
WARNING: check_disk's -E option must now be passed before -p or -r/-R arguments WARNING: check_disk's -E option must now be passed before -p or -r/-R arguments
Passing -E after -p or -r results in UNKNOWN state, now Passing -E after -p or -r results in UNKNOWN state, now
@ -653,11 +283,11 @@ This file documents the major additions and syntax changes between releases.
Fixed MKINSTALLDIRS problem in po/ Fixed MKINSTALLDIRS problem in po/
./configure now detects if possible to compile check_mysql ./configure now detects if possible to compile check_mysql
Fixed broken HELO in check_smtp Fixed broken HELO in check_smtp
check_icmp now allows to set a minimum number of hosts required for success (-m) check_icmp now allows to set a minimum number of hosts required for successs (-m)
check_icmp fix for *BSD when running for long time check_icmp fix for *BSD when running for long time
check_ping times out 1 second quicker if host is unreachable check_ping times out 1 second quicker if host is unreachable
Root plugins installed with world executable Root plugins installed with world executable
check_sybase from contrib now maintained in MonitoringExchange check_sybase from contrib now maintained in NagiosExchange
--with-nagios-user/group reinstated ./configure option --with-nagios-user/group reinstated ./configure option
New --without-world-permissions ./configure option New --without-world-permissions ./configure option
@ -681,7 +311,7 @@ This file documents the major additions and syntax changes between releases.
New C based check_ntp. The perl version is now deprecated. New C based check_ntp. The perl version is now deprecated.
New check_apt plugin New check_apt plugin
Notice: plugins in contrib/ will start to be removed from this distribution. Notice: plugins in contrib/ will start to be removed from this distribution.
Please check at http://www.monitoringexchange.org for contributed plugins Please check at http://www.nagiosexchange.org for contributed plugins
Major bug fixes to check_disk where values were incorrectly calculated and alerted on. Major bug fixes to check_disk where values were incorrectly calculated and alerted on.
check_udp2 removed. check_udp is now linked to check_tcp.c check_udp2 removed. check_udp is now linked to check_tcp.c
check_mailq now errors if the sub-program run returns non-zero return code. This would appear check_mailq now errors if the sub-program run returns non-zero return code. This would appear
@ -711,3 +341,4 @@ This file documents the major additions and syntax changes between releases.
check_swap % thresholds changed to measure amount free, instead of amount used check_swap % thresholds changed to measure amount free, instead of amount used
check_disk syntax changes for -p, -m/-M, defaults to MB instead of kB check_disk syntax changes for -p, -m/-M, defaults to MB instead of kB
check_procs -C expects no path for the command name check_procs -C expects no path for the command name

View file

@ -6,7 +6,7 @@
SRC_ROOT=`dirname $0` SRC_ROOT=`dirname $0`
NPVF=NP-VERSION-FILE NPVF=NP-VERSION-FILE
DEF_VER=2.3.5 DEF_VER=1.4.16.git
LF=' LF='
' '

370
NPTest.pm
View file

@ -1,12 +1,12 @@
package NPTest; package NPTest;
# #
# Helper Functions for testing Monitoring Plugins # Helper Functions for testing Nagios Plugins
# #
require Exporter; require Exporter;
@ISA = qw(Exporter); @ISA = qw(Exporter);
@EXPORT = qw(getTestParameter checkCmd skipMissingCmd skipMsg); @EXPORT = qw(getTestParameter checkCmd skipMissingCmd);
@EXPORT_OK = qw(DetermineTestHarnessDirectory TestsFrom SetCacheFilename); @EXPORT_OK = qw(DetermineTestHarnessDirectory TestsFrom SetCacheFilename);
use strict; use strict;
@ -25,21 +25,21 @@ $VERSION = "1556."; # must be all one line, for MakeMaker
=head1 NAME =head1 NAME
NPTest - Simplify the testing of Monitoring Plugins NPTest - Simplify the testing of Nagios Plugins
=head1 DESCRIPTION =head1 DESCRIPTION
This modules provides convenience functions to assist in the testing This modules provides convenience functions to assist in the testing
of Monitoring Plugins, making the testing code easier to read and write; of Nagios Plugins, making the testing code easier to read and write;
hopefully encouraging the development of a more complete test suite for hopefully encouraging the development of a more complete test suite for
the Monitoring Plugins. It is based on the patterns of testing seen in the the Nagios Plugins. It is based on the patterns of testing seen in the
1.4.0 release, and continues to use the L<Test> module as the basis of 1.4.0 release, and continues to use the L<Test> module as the basis of
testing. testing.
=head1 FUNCTIONS =head1 FUNCTIONS
This module defines four public functions, C<getTestParameter(...)>, This module defines three public functions, C<getTestParameter(...)>,
C<checkCmd(...)>, C<skipMissingCmd(...)> and C<skipMsg(...)>. These are exported by C<checkCmd(...)> and C<skipMissingCmd(...)>. These are exported by
default via the C<use NPTest;> statement. default via the C<use NPTest;> statement.
=over =over
@ -53,8 +53,8 @@ developer to interactively request test parameter information from the
user. The user can accept the developer's default value or reply "none" user. The user can accept the developer's default value or reply "none"
which will then be returned as "" for the test to skip if appropriate. which will then be returned as "" for the test to skip if appropriate.
If a parameter needs to be entered and the test is run without a tty If a parameter needs to be entered and the test is run without a tty
attached (such as a cronjob), the parameter will be assigned as if it attached (such as a cronjob), the parameter will be assigned as if it
was "none". Tests can check for the parameter and skip if not set. was "none". Tests can check for the parameter and skip if not set.
Responses are stored in an external, file-based cache so subsequent test Responses are stored in an external, file-based cache so subsequent test
@ -62,6 +62,17 @@ runs will use these values. The user is able to change the values by
amending the values in the file /var/tmp/NPTest.cache, or by setting amending the values in the file /var/tmp/NPTest.cache, or by setting
the appropriate environment variable before running the test. the appropriate environment variable before running the test.
The option exists to store parameters in a scoped means, allowing a
test harness to a localise a parameter should the need arise. This
allows a parameter of the same name to exist in a test harness
specific scope, while not affecting the globally scoped parameter. The
scoping identifier is the name of the test harness sans the trailing
".t". All cache searches first look to a scoped parameter before
looking for the parameter at global scope. Thus for a test harness
called "check_disk.t" requesting the parameter "mountpoint_valid", the
cache is first searched for "check_disk"/"mountpoint_valid", if this
fails, then a search is conducted for "mountpoint_valid".
To facilitate quick testing setup, it is possible to accept all the To facilitate quick testing setup, it is possible to accept all the
developer provided defaults by setting the environment variable developer provided defaults by setting the environment variable
"NPTEST_ACCEPTDEFAULT" to "1" (or any other perl truth value). Note "NPTEST_ACCEPTDEFAULT" to "1" (or any other perl truth value). Note
@ -81,7 +92,7 @@ Testing of results would be done in your test script, not in this module.
This function is obsolete. Use C<testCmd()> instead. This function is obsolete. Use C<testCmd()> instead.
This function attempts to encompass the majority of test styles used This function attempts to encompass the majority of test styles used
in testing Monitoring Plugins. As each plug-in is a separate command, the in testing Nagios Plugins. As each plug-in is a separate command, the
typical tests we wish to perform are against the exit status of the typical tests we wish to perform are against the exit status of the
command and the output (if any) it generated. Simplifying these tests command and the output (if any) it generated. Simplifying these tests
into a single function call, makes the test harness easier to read and into a single function call, makes the test harness easier to read and
@ -121,7 +132,7 @@ of either C<Test::ok(...)> or C<Test::skip(...)>, so remember this
when counting the number of tests to place in the C<Test::plan(...)> when counting the number of tests to place in the C<Test::plan(...)>
call. call.
Many Monitoring Plugins test network services, some of which may not be Many Nagios Plugins test network services, some of which may not be
present on all systems. To cater for this, C<checkCmd(...)> allows the present on all systems. To cater for this, C<checkCmd(...)> allows the
tester to define exceptions based on the command's exit status. These tester to define exceptions based on the command's exit status. These
exceptions are provided to skip tests if the test case developer exceptions are provided to skip tests if the test case developer
@ -151,14 +162,14 @@ of testing against a set of desired exit status values.
=item * =item *
Firstly, if C<$desiredExitStatus> is a reference to an array of exit Firstly, if C<$desiredExitStatus> is a reference to an array of exit
statuses, if the actual exit status of the command is present in the stati, if the actual exit status of the command is present in the
array, it is used in the call to C<Test::ok(...)> when testing the array, it is used in the call to C<Test::ok(...)> when testing the
exit status. exit status.
=item * =item *
Alternatively, if C<$desiredExitStatus> is a reference to a hash of Alternatively, if C<$desiredExitStatus> is a reference to a hash of
exit statuses(mapped to the strings "continue" or "skip"), similar exit stati (mapped to the strings "continue" or "skip"), similar
processing to the above occurs with the side affect of determining if processing to the above occurs with the side affect of determining if
any generated output testing should proceed. Note: only the string any generated output testing should proceed. Note: only the string
"skip" will result in generated output testing being skipped. "skip" will result in generated output testing being skipped.
@ -174,15 +185,6 @@ of times.
=back =back
=item C<skipMsg(...)>
If for any reason the test harness must C<Test::skip()> some
or all of the tests in a given test harness this function provides a
simple iterator to issue an appropriate message the requested number
of times.
=back
=head1 SEE ALSO =head1 SEE ALSO
L<Test> L<Test>
@ -197,7 +199,7 @@ Copyright (c) 2005 Peter Bray. All rights reserved.
This package is free software and is provided "as is" without express This package is free software and is provided "as is" without express
or implied warranty. It may be used, redistributed and/or modified or implied warranty. It may be used, redistributed and/or modified
under the same terms as the Monitoring Plugins release. under the same terms as the Nagios Plugins release.
=cut =cut
@ -207,7 +209,7 @@ under the same terms as the Monitoring Plugins release.
my( %CACHE ) = (); my( %CACHE ) = ();
# I'm not really sure whether to house a site-specific cache inside # I'm not really sure wether to house a site-specific cache inside
# or outside of the extracted source / build tree - lets default to outside # or outside of the extracted source / build tree - lets default to outside
my( $CACHEFILENAME ) = ( exists( $ENV{'NPTEST_CACHE'} ) && $ENV{'NPTEST_CACHE'} ) my( $CACHEFILENAME ) = ( exists( $ENV{'NPTEST_CACHE'} ) && $ENV{'NPTEST_CACHE'} )
? $ENV{'NPTEST_CACHE'} : "/var/tmp/NPTest.cache"; # "../Cache.pdd"; ? $ENV{'NPTEST_CACHE'} : "/var/tmp/NPTest.cache"; # "../Cache.pdd";
@ -238,26 +240,26 @@ sub checkCmd
{ {
if ( scalar( grep { $_ == $exitStatus } @{$desiredExitStatus} ) ) if ( scalar( grep { $_ == $exitStatus } @{$desiredExitStatus} ) )
{ {
$desiredExitStatus = $exitStatus; $desiredExitStatus = $exitStatus;
} }
else else
{ {
$desiredExitStatus = -1; $desiredExitStatus = -1;
} }
} }
elsif ( ref $desiredExitStatus eq "HASH" ) elsif ( ref $desiredExitStatus eq "HASH" )
{ {
if ( exists( ${$desiredExitStatus}{$exitStatus} ) ) if ( exists( ${$desiredExitStatus}{$exitStatus} ) )
{ {
if ( defined( ${$desiredExitStatus}{$exitStatus} ) ) if ( defined( ${$desiredExitStatus}{$exitStatus} ) )
{ {
$testOutput = ${$desiredExitStatus}{$exitStatus}; $testOutput = ${$desiredExitStatus}{$exitStatus};
} }
$desiredExitStatus = $exitStatus; $desiredExitStatus = $exitStatus;
} }
else else
{ {
$desiredExitStatus = -1; $desiredExitStatus = -1;
} }
} }
@ -302,65 +304,78 @@ sub skipMissingCmd
return $testStatus; return $testStatus;
} }
sub skipMsg sub getTestParameter
{ {
my( $msg, $count ) = @_; my( $param, $envvar, $default, $brief, $scoped );
my $new_style;
if (scalar @_ <= 3) {
($param, $brief, $default) = @_;
$envvar = $param;
$new_style = 1;
} else {
( $param, $envvar, $default, $brief, $scoped ) = @_;
$new_style = 0;
}
my $testStatus; # Apply default values for optional arguments
$scoped = ( defined( $scoped ) && $scoped );
for ( 1 .. $count ) my $testharness = basename( (caller(0))[1], ".t" ); # used for scoping
if ( defined( $envvar ) && exists( $ENV{$envvar} ) && $ENV{$envvar} )
{ {
$testStatus += skip( $msg, 1 ); return $ENV{$envvar};
} }
return $testStatus; my $cachedValue = SearchCache( $param, $testharness );
} if ( defined( $cachedValue ) )
{
sub getTestParameter { # This save required to convert to new style because the key required is
my($param, $description, $default) = @_; # changing to the environment variable
if ($new_style == 0) {
if($param !~ m/^NP_[A-Z0-9_]+$/mx) { SetCacheParameter( $envvar, undef, $cachedValue );
die("parameter should be all uppercase and start with NP_ (requested from ".(caller(0))[1].")"); }
}
return $ENV{$param} if $ENV{$param};
my $cachedValue = SearchCache($param);
if(defined $cachedValue) {
return $cachedValue; return $cachedValue;
} }
if($ENV{'NPTEST_ACCEPTDEFAULT'}) { my $defaultValid = ( defined( $default ) && $default );
return $default if $default; my $autoAcceptDefault = ( exists( $ENV{'NPTEST_ACCEPTDEFAULT'} ) && $ENV{'NPTEST_ACCEPTDEFAULT'} );
return "";
if ( $autoAcceptDefault && $defaultValid )
{
return $default;
} }
# Set "none" if no terminal attached (eg, tinderbox build servers when new variables set) # Set "none" if no terminal attached (eg, tinderbox build servers when new variables set)
return "" unless (-t STDIN); return "" unless (-t STDERR);
my $userResponse = ""; my $userResponse = "";
while($userResponse eq "") {
while ( $userResponse eq "" )
{
print STDERR "\n"; print STDERR "\n";
print STDERR "Test File : ".(caller(0))[1]."\n"; print STDERR "Test Harness : $testharness\n";
print STDERR "Test Parameter : $param\n"; print STDERR "Test Parameter : $param\n";
print STDERR "Description : $description\n"; print STDERR "Environment Variable : $envvar\n" if ($param ne $envvar);
print STDERR "Enter value (or 'none') ", ($default ? "[${default}]" : "[]"), " => "; print STDERR "Brief Description : $brief\n";
print STDERR "Enter value (or 'none') ", ($defaultValid ? "[${default}]" : "[]"), " => ";
$userResponse = <STDIN>; $userResponse = <STDIN>;
$userResponse = "" if ! defined( $userResponse ); # Handle EOF $userResponse = "" if ! defined( $userResponse ); # Handle EOF
chomp($userResponse); chomp( $userResponse );
if($default && $userResponse eq "") { if ( $defaultValid && $userResponse eq "" )
{
$userResponse = $default; $userResponse = $default;
} }
} }
print STDERR "\n"; print STDERR "\n";
if($userResponse =~ /^(na|none)$/) { if ($userResponse =~ /^(na|none)$/) {
$userResponse = ""; $userResponse = "";
} }
# store user responses # define all user responses at global scope
SetCacheParameter($param, $userResponse); SetCacheParameter( $param, ( $scoped ? $testharness : undef ), $userResponse );
return $userResponse; return $userResponse;
} }
@ -369,20 +384,37 @@ sub getTestParameter {
# Internal Cache Management Functions # Internal Cache Management Functions
# #
sub SearchCache { sub SearchCache
my($param) = @_; {
my( $param, $scope ) = @_;
LoadCache(); LoadCache();
if(exists $CACHE{$param}) { if ( exists( $CACHE{$scope} ) && exists( $CACHE{$scope}{$param} ) )
{
return $CACHE{$scope}{$param};
}
if ( exists( $CACHE{$param} ) )
{
return $CACHE{$param}; return $CACHE{$param};
} }
return undef; # Need this to say "nothing found" return undef; # Need this to say "nothing found"
} }
sub SetCacheParameter { sub SetCacheParameter
my($param, $value) = @_; {
$CACHE{$param} = $value; my( $param, $scope, $value ) = @_;
if ( defined( $scope ) )
{
$CACHE{$scope}{$param} = $value;
}
else
{
$CACHE{$param} = $value;
}
SaveCache(); SaveCache();
} }
@ -390,7 +422,6 @@ sub LoadCache
{ {
return if exists( $CACHE{'_cache_loaded_'} ); return if exists( $CACHE{'_cache_loaded_'} );
my $fileContents = "";
if ( -f $CACHEFILENAME ) if ( -f $CACHEFILENAME )
{ {
my( $fileHandle ) = new IO::File; my( $fileHandle ) = new IO::File;
@ -401,50 +432,40 @@ sub LoadCache
return; return;
} }
$fileContents = join("", <$fileHandle>); my( $fileContents ) = join( "\n", <$fileHandle> );
$fileHandle->close(); $fileHandle->close();
chomp($fileContents);
my( $contentsRef ) = eval $fileContents; my( $contentsRef ) = eval $fileContents;
%CACHE = %{$contentsRef} if (defined($contentsRef)); %CACHE = %{$contentsRef};
} }
$CACHE{'_cache_loaded_'} = 1; $CACHE{'_cache_loaded_'} = 1;
$CACHE{'_original_cache'} = $fileContents;
} }
sub SaveCache sub SaveCache
{ {
delete $CACHE{'_cache_loaded_'}; delete $CACHE{'_cache_loaded_'};
my $oldFileContents = delete $CACHE{'_original_cache'};
# clean up old style params my( $fileHandle ) = new IO::File;
for my $key (keys %CACHE) {
delete $CACHE{$key} if $key !~ m/^NP_[A-Z0-9_]+$/mx; if ( ! $fileHandle->open( "> ${CACHEFILENAME}" ) )
{
print STDERR "NPTest::LoadCache() : Problem saving ${CACHEFILENAME} : $!\n";
return;
} }
my($dataDumper) = new Data::Dumper([\%CACHE]); my( $dataDumper ) = new Data::Dumper( [ \%CACHE ] );
$dataDumper->Terse(1); $dataDumper->Terse(1);
$dataDumper->Sortkeys(1);
my $data = $dataDumper->Dump();
$data =~ s/^\s+/ /gmx; # make sure all systems use same amount of whitespace
$data =~ s/^\s+}/}/gmx;
chomp($data);
if($oldFileContents ne $data) { print $fileHandle $dataDumper->Dump();
my($fileHandle) = new IO::File;
if (!$fileHandle->open( "> ${CACHEFILENAME}")) {
print STDERR "NPTest::SaveCache() : Problem saving ${CACHEFILENAME} : $!\n";
return;
}
print $fileHandle $data;
$fileHandle->close();
}
$CACHE{'_cache_loaded_'} = 1; $fileHandle->close();
$CACHE{'_original_cache'} = $data;
$CACHE{'_cache_loaded_'} = 1;
} }
# #
@ -467,35 +488,26 @@ sub SetCacheFilename
sub DetermineTestHarnessDirectory sub DetermineTestHarnessDirectory
{ {
my( @userSupplied ) = @_; my( $userSupplied ) = @_;
my @dirs;
# User Supplied # User Supplied
if ( @userSupplied > 0 ) if ( defined( $userSupplied ) && $userSupplied )
{ {
for my $u ( @userSupplied ) if ( -d $userSupplied )
{ {
if ( -d $u ) return $userSupplied;
{ }
push ( @dirs, $u ); else
} {
return undef; # userSupplied is invalid -> FAIL
} }
} }
# Simple Cases: "t" and tests are subdirectories of the current directory # Simple Case : "t" is a subdirectory of the current directory
if ( -d "./t" ) if ( -d "./t" )
{ {
push ( @dirs, "./t"); return "./t";
} }
if ( -d "./tests" )
{
push ( @dirs, "./tests");
}
if ( @dirs > 0 )
{
return @dirs;
}
# To be honest I don't understand which case satisfies the # To be honest I don't understand which case satisfies the
# original code in test.pl : when $tstdir == `pwd` w.r.t. # original code in test.pl : when $tstdir == `pwd` w.r.t.
@ -508,7 +520,7 @@ sub DetermineTestHarnessDirectory
if ( $pwd =~ m|/t$| ) if ( $pwd =~ m|/t$| )
{ {
push ( @dirs, $pwd ); return $pwd;
# The alternate that might work better is # The alternate that might work better is
# chdir( ".." ); # chdir( ".." );
@ -517,7 +529,7 @@ sub DetermineTestHarnessDirectory
# to be tested is in the current directory (ie "./check_disk ....") # to be tested is in the current directory (ie "./check_disk ....")
} }
return @dirs; return undef;
} }
sub TestsFrom sub TestsFrom
@ -543,12 +555,12 @@ sub TestsFrom
{ {
if ( $excludeIfAppMissing ) if ( $excludeIfAppMissing )
{ {
$application = basename( $filename, ".t" ); $application = basename( $filename, ".t" );
if ( ! -e $application and ! -e $application.'.pm' ) if ( ! -e $application )
{ {
print STDERR "No application (${application}) found for test harness (${filename})\n"; print STDERR "No application (${application}) found for test harness (${filename})\n";
next; next;
} }
} }
push @tests, "${directory}/${filename}"; push @tests, "${directory}/${filename}";
} }
@ -561,83 +573,67 @@ sub TestsFrom
# All the new object oriented stuff below # All the new object oriented stuff below
sub new { sub new {
my $type = shift; my $type = shift;
my $self = {}; my $self = {};
return bless $self, $type; return bless $self, $type;
} }
# Accessors # Accessors
sub return_code { sub return_code {
my $self = shift; my $self = shift;
if (@_) { if (@_) {
return $self->{return_code} = shift; return $self->{return_code} = shift;
} else { } else {
return $self->{return_code}; return $self->{return_code};
} }
} }
sub output { sub output {
my $self = shift; my $self = shift;
if (@_) { if (@_) {
return $self->{output} = shift; return $self->{output} = shift;
} else { } else {
return $self->{output}; return $self->{output};
} }
} }
sub perf_output { sub perf_output {
my $self = shift; my $self = shift;
$_ = $self->{output}; $_ = $self->{output};
/\|(.*)$/; /\|(.*)$/;
return $1 || ""; return $1 || "";
} }
sub only_output { sub only_output {
my $self = shift; my $self = shift;
$_ = $self->{output}; $_ = $self->{output};
/(.*?)\|/; /(.*?)\|/;
return $1 || ""; return $1 || "";
} }
sub testCmd { sub testCmd {
my $class = shift; my $class = shift;
my $command = shift or die "No command passed to testCmd"; my $command = shift or die "No command passed to testCmd";
my $timeout = shift || 120; my $object = $class->new;
my $object = $class->new;
my $output = `$command`;
$object->return_code($? >> 8);
$_ = $? & 127;
if ($_) {
die "Got signal $_ for command $command";
}
chomp $output;
$object->output($output);
local $SIG{'ALRM'} = sub { die("timeout in command: $command"); }; my ($pkg, $file, $line) = caller(0);
alarm($timeout); # no test should take longer than 120 seconds print "Testing: $command", $/;
if ($ENV{'NPTEST_DEBUG'}) {
print "testCmd: Called from line $line in $file", $/;
print "Output: ", $object->output, $/;
print "Return code: ", $object->return_code, $/;
}
my $output = `$command`; return $object;
$object->return_code($? >> 8);
$_ = $? & 127;
if ($_) {
die "Got signal $_ for command $command";
}
chomp $output;
$object->output($output);
alarm(0);
my ($pkg, $file, $line) = caller(0);
print "Testing: $command", $/;
if ($ENV{'NPTEST_DEBUG'}) {
print "testCmd: Called from line $line in $file", $/;
print "Output: ", $object->output, $/;
print "Return code: ", $object->return_code, $/;
}
return $object;
}
# do we have ipv6
sub has_ipv6 {
# assume ipv6 if a ping6 to labs.consol.de works
`ping6 -c 1 2a03:3680:0:2::21 2>&1`;
if($? == 0) {
return 1;
}
return;
} }
1; 1;

170
README
View file

@ -1,98 +1,110 @@
Monitoring Plugins Nagios Plugins README
================== ---------------------
* For instructions on installing these plugins for use with your monitoring * For instructions on installing these plugins for use with Nagios,
system, see below. In addition, generic instructions for the GNU see below. In addition, generic instructions for the GNU toolchain
toolchain can be found in the `INSTALL` file. can be found in the INSTALL file.
* For major changes between releases, read the `NEWS` file. * For major changes between releases, read the NEWS file.
* For information on detailed changes that have been made or plugins * For information on detailed changes that have been made or plugins
that have been added, read the `ChangeLog` file. that have been added, read the Changelog file.
* Some plugins require that you have additional programs or * Some plugins require that you have additional programs and/or
libraries installed on your system before they can be used. Plugins that libraries installed on your system before they can be used. Plugins
are dependent on other programs/libraries that are missing are usually not that are dependent on other programs/libraries that are missing are
compiled. Read the `REQUIREMENTS` file for more information. usually not compiled. Read the REQUIREMENTS file for more information.
* Individual plugins are self-documenting. All plugins that comply with * For a list of outstanding bugs for this release, see the BUGS file.
* Individual plugins are self documenting. All plugins that comply with
the basic guidelines for development will provide detailed help when the basic guidelines for development will provide detailed help when
invoked with the `-h` or `--help` options. invoked with the '-h' or '--help' options.
You can check the latest plugins at: * The file command.cfg contains example configurations for many of the
plugins
* <https://www.monitoring-plugins.org/> * The win32 subdir contains plugins specific to the Win32 platform.
These are scripts or binaries.
Send an email to <help@monitoring-plugins.org> for assistance. Please You can check for the latest plugins at:
include the OS type and version that you are using. Also, run the plugin http://sourceforge.net/projects/nagiosplug/
with the `-vvv` option and provide the resulting version information. Of
course, there may be additional diagnostic information required as well.
Use good judgment.
Send an email to <devel@monitoring-plugins.org> for developer discussions. Send mail to nagiosplug-help@lists.sourceforge.net for assistance. Please
include the OS type and version that you are using. Also, run the plugin with
the '-vvv' option and provide the resulting version information. Of course,
there may be additional diagnostic information required as well. Use good
judgment.
For patch submissions and bug reports, please use the appropriate resources Send mail to nagiosplug-devel@lists.sourceforge.net for developer discussions.
at:
* <https://github.com/monitoring-plugins> For patch submissions and bug reports, please use the appropriate resources at
http://sourceforge.net/projects/nagiosplug/ (navigate to the bug tool and/or
patch tool from the summary page). Patches should be relative to the current
CVS head (development), or to the head of the current stable branch. Also,
please include version information for your OS and the plugin(s) your are
patching/reporting.
Installation Instructions
-------------------------
1. If you are using the Git tree, you will need m4, gettext, automake, and
autoconf. To start out, run:
./tools/setup
For more detail, see the developer guidelines at
<https://www.monitoring-plugins.org/doc/guidelines.html>.
2. Run the configure script to initialize variables and create a Makefile,
etc.
./configure --prefix=BASEDIRECTORY --with-cgiurl=SOMEURL
Replace `BASEDIRECTORY` with the path of the directory under which your
monitoring system is installed (default is `/usr/local`), and replace
`SOMEURL` with the path used to access the monitoring system CGIs with a
web browser (default is `/nagios/cgi-bin`).
3. Compile the plugins with the following command:
make
4. Install the compiled plugins and plugin scripts with the following
command:
make install
The installation procedure will attempt to place the plugins in a
`libexec/` subdirectory in the base directory you specified with the
`--prefix` argument to the configure script.
5. There are some plugins that require setuid. If you run make install as
a non-root user, they will not be installed. To install, switch to root
and run:
make install-root
That's it! If you have any problems or questions, feel free to send an
email to <help@monitoring-plugins.org>.
License Notice Nagios Plugins Quick-and-Dirty Installation Instructions
-------------- --------------------------------------------------------
You can redistribute and/or modify this software under the terms of the GNU 0) If you are using the CVS tree, you will need m4, gettext, automake, and autoconf.
General Public License as published by the Free Software Foundation; either To start out, run ./tools/setup
version 3 of the License, or (at your option) any later version; with the
additional exemption that compiling, linking, and/or using OpenSSL is
allowed.
This software is distributed in the hope that it will be useful, but WITHOUT For more detail, see the developer guidelines at
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or http://nagiosplug.sourceforge.net/developer-guidelines.html.
FITNESS FOR A PARTICULAR PURPOSE.
See the `COPYING` file for the complete text of the GNU General Public
License, version 3. 1) Run the configure script to initialize variables and create a Makefile, etc.
./configure --prefix=BASEDIRECTORY --with-cgiurl=SOMEURL
a) Replace BASEDIRECTORY with the path of the directory under which Nagios
is installed (default is '/usr/local/nagios')
b) Replace CGIURL with the path used to access the Nagios CGIs with
a web browser (default is '/nagios/cgi-bin')
2) Compile the plugins with the following command:
make
3) Install the compiled plugins and plugin scripts with the following command:
make install
The installation procedure will attempt to place the plugins in a
'libexec/' subdirectory in the base directory you specified with
the --prefix argument to the configure script.
4) There are some plugins that require setuid. If you run make install as
a non root user, they will not be installed. To install, switch to root and
run:
make install-root
5) Verify that your host configuration file (hosts.cfg) for Nagios contains
the correct paths to the new plugins.
That's it! If you have any problems or questions, feel free send mail
to nagiosplug-help@lists.sourceforge.net
LICENSE STUFF
-------------
This software is released under the GNU Public License with the additional
exemption that compiling, linking and/or using OpenSSL is allowed.
See the COPYING file for the complete GPL text.
--
Nagios Plugins Team

View file

@ -1,4 +1,4 @@
Monitoring Plugins Requirements Nagios Plugin Requirements
-------------------------- --------------------------
Some plugins require that you have additional programs and/or Some plugins require that you have additional programs and/or
@ -11,22 +11,6 @@ check_ldaps, check_http --ssl, check_tcp --ssl, check_smtp --starttls
- Requires openssl or gnutls libraries for SSL connections - Requires openssl or gnutls libraries for SSL connections
http://www.openssl.org, http://www.gnu.org/software/gnutls http://www.openssl.org, http://www.gnu.org/software/gnutls
check_curl:
- Requires libcurl 7.15.2 or later
http://www.haxx.se
- --ssl/-S and -C requires OpenSSL for certificate checks, otherwise
libcurl must be quite new to support CURLINFO_CERTINFO with
GnuTLS and NSS libraries:
- 7.42.0 or newer for GnuTLS
- 7.34.0 or newer for NSS
GnuTLS is known to create problems on some distributions with
self-signed certificate chains
http://www.openssl.org, http://www.gnu.org/software/gnutls,
http://www.mozilla.org/projects/security/pki/nss/,
other SSL implementations are currently not supported
- uriparser 0.7.5 or later
https://uriparser.github.io/
check_fping: check_fping:
- Requires the fping utility distributed with SATAN. Either - Requires the fping utility distributed with SATAN. Either
download and install SATAN or grab the fping program from download and install SATAN or grab the fping program from
@ -66,18 +50,14 @@ check_dbi:
http://libdbi.sourceforge.net/ http://libdbi.sourceforge.net/
check_radius: check_radius:
- Requires the radcli library available from: - Requires the radiusclient-ng library available from:
http://radcli.github.io/radcli/ http://developer.berlios.de/projects/radiusclient-ng/
- As an alternative, the FreeRADIUS Client library may be used:
http://freeradius.org/freeradius-client/
- As another alternative, the radiusclient-ng library may be used:
http://sourceforge.net/projects/radiusclient-ng.berlios/
- This plugin also works with the original radiusclient library from - This plugin also works with the original radiusclient library from
ftp://ftp.cityline.net/pub/radiusclient/ ftp://ftp.cityline.net/pub/radiusclient/
RPM (rpmfind): radiusclient 0.3.2, radiusclient-devel-0.3.2 RPM (rpmfind): radiusclient 0.3.2, radiusclient-devel-0.3.2
However, you probably want to use either radcli or the FreeRADIUS Unless you're using a distro-maintained version of this library you
Client library, as both radiusclient and radiusclient-ng are probably want to use radiusclient-ng. The original radiusclient library is
unmaintained and have known issues. unmaintained and has many known issues, particularly with 64bit systems.
check_snmp: check_snmp:
- Requires the NET-SNMP package available from - Requires the NET-SNMP package available from

35
SUPPORT
View file

@ -1,14 +1,14 @@
SUPPORT SUPPORT
Using the mailing lists and issue tracker at GitHub are the Using the mailing lists and tracker databases at SourceForge are the
best ways to obtain direct support for the Monitoring Plugins. There may best ways to obtain direct support for the Nagios Plugins. There may
also be commercial support options available to you -- check also be commercial support options available to you -- check
http://www.nagios.org/ to track the current status of commercial http://www.nagios.org/ to track the current status of commercial
support offerings. support offerings.
There are two mailing lists associated with Monitoring Plugins development: There are two mailing lists associated with Nagios Plugin development:
'help' (mailto:help@monitoring-plugins.org), and 'devel' 'help' (mailto:nagiosplug-help@lists.sourceforge.net), and 'devel'
(mailto:help@monitoring-plugins.org). Unless you are fairly (mailto:nagiosplug-devel@lists.sourceforge.net). Unless you are fairly
certain you have found a bug or that you are requesting a new feature, certain you have found a bug or that you are requesting a new feature,
please direct support requests to 'help'. please direct support requests to 'help'.
@ -18,15 +18,14 @@ their time to fix bug and provide feature requests, it is generally in
you interest to do a modest amount of legwork before posting to either you interest to do a modest amount of legwork before posting to either
of these lists. of these lists.
Plugins that are in the contrib directories are provided as-is. We will Plugins that are in the contrib directories are provided as-is. We will
try to help, but sometimes the plugins have dependencies that the monitoring-plugin try to help, but sometimes the plugins have dependencies that the nagios-plugin
developers do not have access to. You may be able to try the authors developers do not have access to. You may be able to try the authors
directly. directly.
In brief, always provide the version of the software that you are In brief, always provide the version of the software that you are
using, and when requesting features or reporting bugs, first check to using, and when requesting features or reporting bugs, first check to
see that the issue has not already been addressed in the current Git see that the issue has not already been addressed in the CVS tree.
code.
GETTING HELP GETTING HELP
@ -34,7 +33,7 @@ Requests to 'help' require posting the version number of the
plugin. The best place to include the version information is in the plugin. The best place to include the version information is in the
subject. A good post would have a subject like: subject. A good post would have a subject like:
Can I use SSL with check_imap (monitoring-plugins 1.3.0-beta2) 1.12 Can I use SSL with check_imap (nagios-plugins 1.3.0-beta2) 1.12
If you do not include the version of the plugin, you risk having your If you do not include the version of the plugin, you risk having your
post silently ignored. post silently ignored.
@ -48,19 +47,19 @@ REPORTING BUGS AND SUBMITTING PATCHES
Bug reports, investigations of possible bugs, feature requests, and Bug reports, investigations of possible bugs, feature requests, and
patch submissions should be submitted to the development list at patch submissions should be submitted to the development list at
mailto:devel@monitoring-plugins.org. Please raise an issue first mailto:nagiosplug-devel@lists.sourceforge.net. Please raise a tracker first
in GitHub, otherwise your email is likely to be missed over time. in Sourceforge, otherwise your email is likely to be missed over time.
You should identify the version, preferably in the subject line. You should identify the version, preferably in the subject line.
However, to best use developer resources, it is suggested that you However, to best use developer resources, it is suggested that you
reference your report to one of the following sources: reference your report to one of the following sources:
1) The most recent release, including beta's 1) The most recent release, including beta's
2) The current snapshots (there's a link provided on 2) The twice-daily snapshots (there's a link provided on
https://www.monitoring-plugins.org/download.html) http://nagiosplug.sourceforge.net)
3) The current Git code from GitHub 3) The current CVS tree from sourceforge
(This does not mean you should run any of these sources in a (This does not mean you should run any of these sources in a
production environment - the latter two you clearly should production environment - the latter two you clearly should
@ -70,7 +69,7 @@ which are most recent.)
From experience, I know that most bugs can be fixed with only a few From experience, I know that most bugs can be fixed with only a few
more moments work than it takes to determine if the bug is still more moments work than it takes to determine if the bug is still
present in the Git tree. If you can save a developer the expense of present in the CVS tree. If you can save a developer the expense of
that time, you ensure that bugs are fixed more rapidly, and thus you that time, you ensure that bugs are fixed more rapidly, and thus you
ensure your problem resolution is reflected in a stable release more ensure your problem resolution is reflected in a stable release more
quickly. quickly.

145
THANKS
View file

@ -1,104 +1,67 @@
This software is brought to you by the Monitoring Plugins Development Team. However, This software is brought to you by the Nagios Plugins Development Team. However,
there have been many contributors to this project. Everyone below has helped in there have been many contributors to this project. Everyone below has helped in
raising bug reports, creating patches or contributing new plugins. raising bug reports, creating patches or contributing new plugins.
Arkadiusz Miśkiewicz
dag rob?le dag rob?le
Matthias Döhler
Marc Sánchez
Wolfgang Karall-Ahlborn
Thoralf Rickert-Wendt
Diego Elio Pettenò
Nicolai Søborg
Elan Ruusamäe
Matthias Hähnel
fabiodds
Aksel Sjögren
Randy O'Meara Randy O'Meara
fabiodds
Diego Elio Pettenò
Oskar Ahner Oskar Ahner
Lance Albertson Lance Albertson
David Alden David Alden
Patrick Allen
Paul Allen
Rodger Allen Rodger Allen
Paul Allen
Patrick Allen
Felipe Gustavo de Almeida Felipe Gustavo de Almeida
Michael Almond Michael Almond
Michael Anthon Michael Anthon
Bernd Apfel
Bernd Arnold
Paula Arnold Paula Arnold
Kondoros Attila Kondoros Attila
Daniel Austin Daniel Austin
Karol Babioch
Markus Baertschi Markus Baertschi
Bradley Baetz Bradley Baetz
Michael Bakker Michael Bakker
Nobuhiro Ban Nobuhiro Ban
John Barbuto John Barbuto
Andreas Baumann
Jeremy Baumgartner Jeremy Baumgartner
Marco Beck Marco Beck
Rolf Eike Beer
Andreas Behal Andreas Behal
Lutz Behnke Lutz Behnke
Marlo Bell Marlo Bell
Simon Bellwood Simon Bellwood
Hilko Bengen Hilko Bengen
Jason Benguerel
Allan Bennett Allan Bennett
Booker C. Bense
Björn Berg
Guy Van Den Bergh Guy Van Den Bergh
Andrew Berglund
Jimmy Bergman Jimmy Bergman
Jochen Bern Jochen Bern
Tom Bertelston Tom Bertelston
Stefan Bethke
Gunnar Beutner
Prathamesh Bhanuse
Daniel Bimschas Daniel Bimschas
Jeffery Blank Jeffery Blank
Tom De Blende Tom De Blende
Robert Bohne
Eric Bollengier Eric Bollengier
Aurelien Bompard Aurelien Bompard
Stéphane Bortzmeyer
Alex Bradley Alex Bradley
Andy Brist
Richard Brodie Richard Brodie
Dominique Broeglin
Matthew Brown Matthew Brown
Tobias Brox Tobias Brox
Tilmann Bubeck
Dick van den Burg Dick van den Burg
Jason Burnett Jason Burnett
Lucas Bussey
Grant Byers Grant Byers
Carlos Canau Carlos Canau
Jethro Carr
Jim Carroll Jim Carroll
Ian Cass Ian Cass
Arnold Cavazos Arnold Cavazos
Patrick Cervicek
Alex Chaffee Alex Chaffee
Yannick Charton
Stephane Chazelas Stephane Chazelas
Eric Chen Eric Chen
Alwyn Cherrington Alwyn Cherrington
Lee Clemens
Ben Clewett Ben Clewett
Jean-Claude Computing
Lionel Cons
Ollie Cook
Garry Cook Garry Cook
Charlie Cook Charlie Cook
Luca Corti Ollie Cook
Greg Cox
Jason Crawford Jason Crawford
David Croft David Croft
Ken D
Robert Dale Robert Dale
Vincent Danjean
Rok Debevc Rok Debevc
Marcos Della Marcos Della
Phil Dibowitz Phil Dibowitz
@ -108,32 +71,25 @@ Andy Doran
Emmanuel Dreyfus Emmanuel Dreyfus
Rainer Duffner Rainer Duffner
Ian Duggan Ian Duggan
Daniël van Eeden
Edwin Eefting Edwin Eefting
Jason Ellison Jason Ellison
Andrew Elwell Andrew Elwell
Mike Emigh Mike Emigh
Johannes Engel
Hans Engelen Hans Engelen
Matthew Ericson Matthew Ericson
Andreas Ericsson Andreas Ericsson
Heiti Ernits Heiti Ernits
Ragnar Hojland Espinosa Ragnar Hojland Espinosa
Klaus Ethgen
O'Shaughnessy Evans O'Shaughnessy Evans
Merijn Evertse Merijn Evertse
Karl Ewald Karl Ewald
Mikael Falkvidd
Guido Falsi
Paul Farrall Paul Farrall
Reuben Farrelly Reuben Farrelly
Mark Favas Mark Favas
Duncan Ferguson Duncan Ferguson
Juan Carlos Fernandez
Paulo Afonso Graner Fessel Paulo Afonso Graner Fessel
Paulo Fessel Paulo Fessel
James Fidell James Fidell
Tobias Fiebig
Roman Fiedler Roman Fiedler
Johan Fischer Johan Fischer
Bernhard Fischer Bernhard Fischer
@ -142,88 +98,57 @@ Martin Foster
Felix Frank Felix Frank
Dann Frazier Dann Frazier
Rick Frey Rick Frey
John C. Frickson
Markus Frosch
Matt Garrett Matt Garrett
Tim Gates
Sven Geggus
Jonas Genannt
Robby Giffin Robby Giffin
Flo Gleixner Flo Gleixner
Florian Gleixner Florian Gleixner
Evgeni Golov
Joseph Gooch
Aravind Gottipati Aravind Gottipati
Kev Green Kev Green
Steve Greenland Steve Greenland
Roberto Greiner
Olaf Greis Olaf Greis
Alex Griffin Alex Griffin
Chris Grim Chris Grim
Steven Grimm Steven Grimm
Lorenz Gruenwald
Sebastien Guay Sebastien Guay
Linda Guo
Jon Hallett Jon Hallett
Steve Hanselman Steve Hanselman
Ask Bjoern Hansen Ask Bjoern Hansen
Jacob Hansen
Sebastian Harl Sebastian Harl
Michael Haro Michael Haro
Olli Hauer Olli Hauer
Gunnar Hellekson Gunnar Hellekson
Stuart Henderson
Geert Hendrickx
Sebastian Herbszt
Johannes Herlitz Johannes Herlitz
Ian Holsman Ian Holsman
Peter Hoogendijk Peter Hoogendijk
Jason Hoos Jason Hoos
Richard Edward Horner Richard Edward Horner
Chester Hosey Chester Hosey
Marc Huffnagle
Kostyantyn Hushchyn
Bob Ingraham Bob Ingraham
Cire Iriarte Cire Iriarte
Bryan Irvine Bryan Irvine
Valdimir Ivaschenko Valdimir Ivaschenko
Harald Jenny Harald Jenny
Mark Jewiss Mark Jewiss
Simon Kainz
Nikita Kalabukhov Nikita Kalabukhov
Frank Kannemann Frank Kannemann
Roy Sigurd Karlsbakk Roy Sigurd Karlsbakk
Anders Kaseorg Anders Kaseorg
Jason Kau Jason Kau
Mark Keisler
Ryan Kelly Ryan Kelly
Matthew Kent
Matthieu Kermagoret
Bo Kersey Bo Kersey
Konstantin Khomoutov Konstantin Khomoutov
Serhan Kiymaz Serhan Kiymaz
Alexander A. Klimov
Denis Knauf Denis Knauf
Harald Koch
Tilman Koschnick Tilman Koschnick
John Koyle John Koyle
Michael Kraus
Steven Kreuzer Steven Kreuzer
Julius Kriukas
Christoph Kron Christoph Kron
Frederic Krueger
Claudio Kuenzler
Marcel Kuiper Marcel Kuiper
Christian Kujau
Thorsten Kukuk
Alexander Kulak Alexander Kulak
Bill Kunkel Bill Kunkel
Thomas Kurschel
Brian Landers Brian Landers
Stephane Lapie
Pascal Larisch Pascal Larisch
Charles-Henri Larose Charles-Henri Larose
Tim Laszlo
Gerhard Lausser Gerhard Lausser
Lynne Lawrence Lynne Lawrence
Sakari Lehtonen Sakari Lehtonen
@ -231,20 +156,12 @@ William Leibzon
Pedro Leite Pedro Leite
Richard Leitner Richard Leitner
Craig Leres Craig Leres
Laurent Licour
Oskar Liljeblad
Joerg Linge
Jan Lipphaus Jan Lipphaus
Anton Lofgren
Florian Lohoff
Larry Low Larry Low
Jacob Lundqvist Jacob Lundqvist
Jason Lunn Jason Lunn
Davide Madrisan
Guenther Mair Guenther Mair
Pawel Malachowski Pawel Malachowski
Gerardo Malazdrewicz
Ricardo Maraschini
Michael Markstaller Michael Markstaller
John Marquart John Marquart
Jason Martin Jason Martin
@ -254,44 +171,28 @@ Mathieu Masseboeuf
Alexander Matey Alexander Matey
Ville Mattila Ville Mattila
Richard Mayhew Richard Mayhew
Patrick McAndrew
Patrick McCormick Patrick McCormick
Mike McHenry Mike McHenry
Simon Meggle
Stefan Meier Stefan Meier
Michael Melcher
Jan-Piet Mens Jan-Piet Mens
Sven Meyer Sven Meyer
Lars Michelsen
Emil Michles Emil Michles
Christian Mies Christian Mies
Jonathan Milby
Russell Miller Russell Miller
Eric J. Mislivec
Janos Mohacsi Janos Mohacsi
John Morrissey
Andreas Motl
Tomas Mozes
Gerd Mueller Gerd Mueller
Adrian Murphy
Michael Musikhin Michael Musikhin
Damian Myerscough
Jan-Frode Myklebust Jan-Frode Myklebust
Sivakumar Nellurandi Sivakumar Nellurandi
Peter Newman
Truongchinh Nguyen Truongchinh Nguyen
Wolfgang Nieder
Simon L Nielsen Simon L Nielsen
Thomas Nilsen Thomas Nilsen
Sebastian Nohn Sebastian Nohn
Geoff Oakham
Walbert Oberngruber Walbert Oberngruber
Christopher Odenbach
Craig Orsinger Craig Orsinger
Vaclav Ovsik Vaclav Ovsik
Remi Paulmier Remi Paulmier
Tom Payerle Tom Payerle
Nick Peelman
Fabian Pehla Fabian Pehla
Chris Pepper Chris Pepper
Matt Perry Matt Perry
@ -300,24 +201,18 @@ William Pietri
Tomasz Pilat Tomasz Pilat
Myke Place Myke Place
Ari Pollak Ari Pollak
Iustin Pop
Marc Poulin Marc Poulin
Matt Pounsett Matt Pounsett
Peter Pramberger Peter Pramberger
Joe Presbrey Joe Presbrey
Will Preston Will Preston
Platon Pronko
Arnaud Quette Arnaud Quette
Darian Rackham Darian Rackham
Peter Radcliffe
Steve Rader Steve Rader
Olivier 'Babar' Raginel Olivier 'Babar' Raginel
Jean-François Rameau
Phil Randal Phil Randal
Abid Rasheed Abid Rasheed
Patrick Rauscher
Jeremy Reed Jeremy Reed
Spenser Reinhardt
Marc Remy Marc Remy
Alessandro Ren Alessandro Ren
Joe Rhett Joe Rhett
@ -339,40 +234,26 @@ Sven Schaffranneck
Christoph Schell Christoph Schell
Thomas Schimpke Thomas Schimpke
Benjamin Schmid Benjamin Schmid
Christian Schmidt
Sebastian Schmidt
Henning Schmiedehausen Henning Schmiedehausen
Christian Schneemann Christian Schneemann
Cove Schneider Cove Schneider
Enrico Scholz Enrico Scholz
Sebastian Schubert Sebastian Schubert
Christopher Schultz
Kristian Schuster
Franz Schwartau
Russell Scibetti Russell Scibetti
Noel Sebastien Noel Sebastien
Andreas Seemueller
Lonny Selinger Lonny Selinger
Nathan Shafer Nathan Shafer
Tom Shields Tom Shields
Barak Shohat
Sean Shore Sean Shore
Pall Sigurdsson
Antony Simmonds Antony Simmonds
John Sivak John Sivak
Nik Soggia Nik Soggia
Robin Sonefors Robin Sonefors
Erwan Ben Souiden
Bernard Spil
Lars Stavholm Lars Stavholm
Daniel Stirnimann
Nikolay Sturm Nikolay Sturm
David Sullivan David Sullivan
Kjell Sundtjonn Kjell Sundtjonn
Ziya Suzen Ziya Suzen
Christian Tacke
Stefan Taferner
Danijel Tasov
Michael Tiernan Michael Tiernan
Ben Timby Ben Timby
Ronald Tin Ronald Tin
@ -381,45 +262,31 @@ Julien Touche
Gabriele Tozzi Gabriele Tozzi
Kyle Tucker Kyle Tucker
Jerome Tytgat Jerome Tytgat
Daniel Uhlmann
Patrick Uiterwijk
Stéphane Urbanovski Stéphane Urbanovski
Matthias Urlichs Matthias Urlichs
Matteo HCE Valsasna Matteo HCE Valsasna
Jon Vandegrift Jon Vandegrift
Gianluca Varisco
Laurent Vaslin Laurent Vaslin
Matej Vela Matej Vela
Carole Verdon Carole Verdon
Ludse Verhoeven Ludse Verhoeven
Valentin Vidic
Robert August Vincent Robert August Vincent
Dave Viner Dave Viner
Lars Vogdt
Jan Wagner Jan Wagner
Dieter Van de Walle Dieter Van de Walle
John Warburton John Warburton
Christian G Warden Christian G Warden
Erik Wasser Erik Wasser
Stuart Webster Stuart Webster
Steve Weinreich
Erik Welch Erik Welch
Torsten Werner Torsten Werner
Ben Whaley Ben Whaley
Andrew Widdersheim
Adrian Wieczorek Adrian Wieczorek
Tobias Wiese
Sebastian Wiesinger Sebastian Wiesinger
Paul Wiggins Paul Wiggins
Howard Wilkinson Howard Wilkinson
Shawn Wills Shawn Wills
Rob Windsor Rob Windsor
Mario Witte Mario Witte
Alexander Wittig
Tobias Wolf
Brian De Wolf Brian De Wolf
Eric Wunderlin
Patric Wust
Jamie Zawinski Jamie Zawinski
Vadim Zhukov
andrew bezella

3683
aclocal.m4 vendored

File diff suppressed because it is too large Load diff

347
build-aux/compile Executable file
View file

@ -0,0 +1,347 @@
#! /bin/sh
# Wrapper for compilers which do not understand '-c -o'.
scriptversion=2012-10-14.11; # UTC
# Copyright (C) 1999-2013 Free Software Foundation, Inc.
# Written by Tom Tromey <tromey@cygnus.com>.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
# This file is maintained in Automake, please report
# bugs to <bug-automake@gnu.org> or send patches to
# <automake-patches@gnu.org>.
nl='
'
# We need space, tab and new line, in precisely that order. Quoting is
# there to prevent tools from complaining about whitespace usage.
IFS=" "" $nl"
file_conv=
# func_file_conv build_file lazy
# Convert a $build file to $host form and store it in $file
# Currently only supports Windows hosts. If the determined conversion
# type is listed in (the comma separated) LAZY, no conversion will
# take place.
func_file_conv ()
{
file=$1
case $file in
/ | /[!/]*) # absolute file, and not a UNC file
if test -z "$file_conv"; then
# lazily determine how to convert abs files
case `uname -s` in
MINGW*)
file_conv=mingw
;;
CYGWIN*)
file_conv=cygwin
;;
*)
file_conv=wine
;;
esac
fi
case $file_conv/,$2, in
*,$file_conv,*)
;;
mingw/*)
file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
;;
cygwin/*)
file=`cygpath -m "$file" || echo "$file"`
;;
wine/*)
file=`winepath -w "$file" || echo "$file"`
;;
esac
;;
esac
}
# func_cl_dashL linkdir
# Make cl look for libraries in LINKDIR
func_cl_dashL ()
{
func_file_conv "$1"
if test -z "$lib_path"; then
lib_path=$file
else
lib_path="$lib_path;$file"
fi
linker_opts="$linker_opts -LIBPATH:$file"
}
# func_cl_dashl library
# Do a library search-path lookup for cl
func_cl_dashl ()
{
lib=$1
found=no
save_IFS=$IFS
IFS=';'
for dir in $lib_path $LIB
do
IFS=$save_IFS
if $shared && test -f "$dir/$lib.dll.lib"; then
found=yes
lib=$dir/$lib.dll.lib
break
fi
if test -f "$dir/$lib.lib"; then
found=yes
lib=$dir/$lib.lib
break
fi
if test -f "$dir/lib$lib.a"; then
found=yes
lib=$dir/lib$lib.a
break
fi
done
IFS=$save_IFS
if test "$found" != yes; then
lib=$lib.lib
fi
}
# func_cl_wrapper cl arg...
# Adjust compile command to suit cl
func_cl_wrapper ()
{
# Assume a capable shell
lib_path=
shared=:
linker_opts=
for arg
do
if test -n "$eat"; then
eat=
else
case $1 in
-o)
# configure might choose to run compile as 'compile cc -o foo foo.c'.
eat=1
case $2 in
*.o | *.[oO][bB][jJ])
func_file_conv "$2"
set x "$@" -Fo"$file"
shift
;;
*)
func_file_conv "$2"
set x "$@" -Fe"$file"
shift
;;
esac
;;
-I)
eat=1
func_file_conv "$2" mingw
set x "$@" -I"$file"
shift
;;
-I*)
func_file_conv "${1#-I}" mingw
set x "$@" -I"$file"
shift
;;
-l)
eat=1
func_cl_dashl "$2"
set x "$@" "$lib"
shift
;;
-l*)
func_cl_dashl "${1#-l}"
set x "$@" "$lib"
shift
;;
-L)
eat=1
func_cl_dashL "$2"
;;
-L*)
func_cl_dashL "${1#-L}"
;;
-static)
shared=false
;;
-Wl,*)
arg=${1#-Wl,}
save_ifs="$IFS"; IFS=','
for flag in $arg; do
IFS="$save_ifs"
linker_opts="$linker_opts $flag"
done
IFS="$save_ifs"
;;
-Xlinker)
eat=1
linker_opts="$linker_opts $2"
;;
-*)
set x "$@" "$1"
shift
;;
*.cc | *.CC | *.cxx | *.CXX | *.[cC]++)
func_file_conv "$1"
set x "$@" -Tp"$file"
shift
;;
*.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO])
func_file_conv "$1" mingw
set x "$@" "$file"
shift
;;
*)
set x "$@" "$1"
shift
;;
esac
fi
shift
done
if test -n "$linker_opts"; then
linker_opts="-link$linker_opts"
fi
exec "$@" $linker_opts
exit 1
}
eat=
case $1 in
'')
echo "$0: No command. Try '$0 --help' for more information." 1>&2
exit 1;
;;
-h | --h*)
cat <<\EOF
Usage: compile [--help] [--version] PROGRAM [ARGS]
Wrapper for compilers which do not understand '-c -o'.
Remove '-o dest.o' from ARGS, run PROGRAM with the remaining
arguments, and rename the output as expected.
If you are trying to build a whole package this is not the
right script to run: please start by reading the file 'INSTALL'.
Report bugs to <bug-automake@gnu.org>.
EOF
exit $?
;;
-v | --v*)
echo "compile $scriptversion"
exit $?
;;
cl | *[/\\]cl | cl.exe | *[/\\]cl.exe )
func_cl_wrapper "$@" # Doesn't return...
;;
esac
ofile=
cfile=
for arg
do
if test -n "$eat"; then
eat=
else
case $1 in
-o)
# configure might choose to run compile as 'compile cc -o foo foo.c'.
# So we strip '-o arg' only if arg is an object.
eat=1
case $2 in
*.o | *.obj)
ofile=$2
;;
*)
set x "$@" -o "$2"
shift
;;
esac
;;
*.c)
cfile=$1
set x "$@" "$1"
shift
;;
*)
set x "$@" "$1"
shift
;;
esac
fi
shift
done
if test -z "$ofile" || test -z "$cfile"; then
# If no '-o' option was seen then we might have been invoked from a
# pattern rule where we don't need one. That is ok -- this is a
# normal compilation that the losing compiler can handle. If no
# '.c' file was seen then we are probably linking. That is also
# ok.
exec "$@"
fi
# Name of file we expect compiler to create.
cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'`
# Create the lock directory.
# Note: use '[/\\:.-]' here to ensure that we don't use the same name
# that we are using for the .o file. Also, base the name on the expected
# object file name, since that is what matters with a parallel build.
lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d
while true; do
if mkdir "$lockdir" >/dev/null 2>&1; then
break
fi
sleep 1
done
# FIXME: race condition here if user kills between mkdir and trap.
trap "rmdir '$lockdir'; exit 1" 1 2 15
# Run the compile.
"$@"
ret=$?
if test -f "$cofile"; then
test "$cofile" = "$ofile" || mv "$cofile" "$ofile"
elif test -f "${cofile}bj"; then
test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile"
fi
rmdir "$lockdir"
exit $ret
# Local Variables:
# mode: shell-script
# sh-indentation: 2
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-time-zone: "UTC"
# time-stamp-end: "; # UTC"
# End:

858
build-aux/config.guess vendored

File diff suppressed because it is too large Load diff

View file

@ -2,7 +2,7 @@
# Output a system dependent set of variables, describing how to set the # Output a system dependent set of variables, describing how to set the
# run time search path of shared libraries in an executable. # run time search path of shared libraries in an executable.
# #
# Copyright 1996-2023 Free Software Foundation, Inc. # Copyright 1996-2013 Free Software Foundation, Inc.
# Taken from GNU libtool, 2001 # Taken from GNU libtool, 2001
# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996 # Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
# #
@ -367,11 +367,15 @@ else
dgux*) dgux*)
hardcode_libdir_flag_spec='-L$libdir' hardcode_libdir_flag_spec='-L$libdir'
;; ;;
freebsd2.[01]*) freebsd2.2*)
hardcode_libdir_flag_spec='-R$libdir'
hardcode_direct=yes
;;
freebsd2*)
hardcode_direct=yes hardcode_direct=yes
hardcode_minus_L=yes hardcode_minus_L=yes
;; ;;
freebsd* | dragonfly* | midnightbsd*) freebsd* | dragonfly*)
hardcode_libdir_flag_spec='-R$libdir' hardcode_libdir_flag_spec='-R$libdir'
hardcode_direct=yes hardcode_direct=yes
;; ;;
@ -544,11 +548,13 @@ case "$host_os" in
dgux*) dgux*)
library_names_spec='$libname$shrext' library_names_spec='$libname$shrext'
;; ;;
freebsd[23].*) freebsd* | dragonfly*)
library_names_spec='$libname$shrext$versuffix' case "$host_os" in
;; freebsd[123]*)
freebsd* | dragonfly* | midnightbsd*) library_names_spec='$libname$shrext$versuffix' ;;
library_names_spec='$libname$shrext' *)
library_names_spec='$libname$shrext' ;;
esac
;; ;;
gnu*) gnu*)
library_names_spec='$libname$shrext' library_names_spec='$libname$shrext'

332
build-aux/config.sub vendored
View file

@ -1,8 +1,8 @@
#! /bin/sh #! /bin/sh
# Configuration validation subroutine script. # Configuration validation subroutine script.
# Copyright 1992-2018 Free Software Foundation, Inc. # Copyright 1992-2013 Free Software Foundation, Inc.
timestamp='2018-02-22' timestamp='2013-08-10'
# This file is free software; you can redistribute it and/or modify it # This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by # under the terms of the GNU General Public License as published by
@ -15,7 +15,7 @@ timestamp='2018-02-22'
# General Public License for more details. # General Public License for more details.
# #
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with this program; if not, see <https://www.gnu.org/licenses/>. # along with this program; if not, see <http://www.gnu.org/licenses/>.
# #
# As a special exception to the GNU General Public License, if you # As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a # distribute this file as part of a program that contains a
@ -25,7 +25,7 @@ timestamp='2018-02-22'
# of the GNU General Public License, version 3 ("GPLv3"). # of the GNU General Public License, version 3 ("GPLv3").
# Please send patches to <config-patches@gnu.org>. # Please send patches with a ChangeLog entry to config-patches@gnu.org.
# #
# Configuration subroutine to validate and canonicalize a configuration type. # Configuration subroutine to validate and canonicalize a configuration type.
# Supply the specified configuration type as an argument. # Supply the specified configuration type as an argument.
@ -33,7 +33,7 @@ timestamp='2018-02-22'
# Otherwise, we print the canonical config type on stdout and succeed. # Otherwise, we print the canonical config type on stdout and succeed.
# You can get the latest version of this script from: # You can get the latest version of this script from:
# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
# This file is supposed to be the same for all GNU packages # This file is supposed to be the same for all GNU packages
# and recognize all the CPU types, system types and aliases # and recognize all the CPU types, system types and aliases
@ -53,11 +53,12 @@ timestamp='2018-02-22'
me=`echo "$0" | sed -e 's,.*/,,'` me=`echo "$0" | sed -e 's,.*/,,'`
usage="\ usage="\
Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS Usage: $0 [OPTION] CPU-MFR-OPSYS
$0 [OPTION] ALIAS
Canonicalize a configuration name. Canonicalize a configuration name.
Options: Operation modes:
-h, --help print this help, then exit -h, --help print this help, then exit
-t, --time-stamp print date of last modification, then exit -t, --time-stamp print date of last modification, then exit
-v, --version print version number, then exit -v, --version print version number, then exit
@ -67,7 +68,7 @@ Report bugs and patches to <config-patches@gnu.org>."
version="\ version="\
GNU config.sub ($timestamp) GNU config.sub ($timestamp)
Copyright 1992-2018 Free Software Foundation, Inc. Copyright 1992-2013 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@ -94,7 +95,7 @@ while test $# -gt 0 ; do
*local*) *local*)
# First pass through any local machine types. # First pass through any local machine types.
echo "$1" echo $1
exit ;; exit ;;
* ) * )
@ -112,24 +113,24 @@ esac
# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). # Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
# Here we must recognize all the valid KERNEL-OS combinations. # Here we must recognize all the valid KERNEL-OS combinations.
maybe_os=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
case $maybe_os in case $maybe_os in
nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \ knetbsd*-gnu* | netbsd*-gnu* | \
kopensolaris*-gnu* | cloudabi*-eabi* | \ kopensolaris*-gnu* | \
storm-chaos* | os2-emx* | rtmk-nova*) storm-chaos* | os2-emx* | rtmk-nova*)
os=-$maybe_os os=-$maybe_os
basic_machine=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
;; ;;
android-linux) android-linux)
os=-linux-android os=-linux-android
basic_machine=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
;; ;;
*) *)
basic_machine=`echo "$1" | sed 's/-[^-]*$//'` basic_machine=`echo $1 | sed 's/-[^-]*$//'`
if [ "$basic_machine" != "$1" ] if [ $basic_machine != $1 ]
then os=`echo "$1" | sed 's/.*-/-/'` then os=`echo $1 | sed 's/.*-/-/'`
else os=; fi else os=; fi
;; ;;
esac esac
@ -178,44 +179,44 @@ case $os in
;; ;;
-sco6) -sco6)
os=-sco5v6 os=-sco5v6
basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;; ;;
-sco5) -sco5)
os=-sco3.2v5 os=-sco3.2v5
basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;; ;;
-sco4) -sco4)
os=-sco3.2v4 os=-sco3.2v4
basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;; ;;
-sco3.2.[4-9]*) -sco3.2.[4-9]*)
os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;; ;;
-sco3.2v[4-9]*) -sco3.2v[4-9]*)
# Don't forget version if it is 3.2v4 or newer. # Don't forget version if it is 3.2v4 or newer.
basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;; ;;
-sco5v6*) -sco5v6*)
# Don't forget version if it is 3.2v4 or newer. # Don't forget version if it is 3.2v4 or newer.
basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;; ;;
-sco*) -sco*)
os=-sco3.2v2 os=-sco3.2v2
basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;; ;;
-udk*) -udk*)
basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;; ;;
-isc) -isc)
os=-isc2.2 os=-isc2.2
basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;; ;;
-clix*) -clix*)
basic_machine=clipper-intergraph basic_machine=clipper-intergraph
;; ;;
-isc*) -isc*)
basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;; ;;
-lynx*178) -lynx*178)
os=-lynxos178 os=-lynxos178
@ -227,7 +228,10 @@ case $os in
os=-lynxos os=-lynxos
;; ;;
-ptx*) -ptx*)
basic_machine=`echo "$1" | sed -e 's/86-.*/86-sequent/'` basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
;;
-windowsnt*)
os=`echo $os | sed -e 's/windowsnt/winnt/'`
;; ;;
-psos*) -psos*)
os=-psos os=-psos
@ -251,18 +255,16 @@ case $basic_machine in
| arc | arceb \ | arc | arceb \
| arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \ | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
| avr | avr32 \ | avr | avr32 \
| ba \
| be32 | be64 \ | be32 | be64 \
| bfin \ | bfin \
| c4x | c8051 | clipper \ | c4x | c8051 | clipper \
| d10v | d30v | dlx | dsp16xx \ | d10v | d30v | dlx | dsp16xx \
| e2k | epiphany \ | epiphany \
| fido | fr30 | frv | ft32 \ | fido | fr30 | frv \
| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
| hexagon \ | hexagon \
| i370 | i860 | i960 | ia16 | ia64 \ | i370 | i860 | i960 | ia64 \
| ip2k | iq2000 \ | ip2k | iq2000 \
| k1om \
| le32 | le64 \ | le32 | le64 \
| lm32 \ | lm32 \
| m32c | m32r | m32rle | m68000 | m68k | m88k \ | m32c | m32r | m32rle | m68000 | m68k | m88k \
@ -280,10 +282,8 @@ case $basic_machine in
| mips64vr5900 | mips64vr5900el \ | mips64vr5900 | mips64vr5900el \
| mipsisa32 | mipsisa32el \ | mipsisa32 | mipsisa32el \
| mipsisa32r2 | mipsisa32r2el \ | mipsisa32r2 | mipsisa32r2el \
| mipsisa32r6 | mipsisa32r6el \
| mipsisa64 | mipsisa64el \ | mipsisa64 | mipsisa64el \
| mipsisa64r2 | mipsisa64r2el \ | mipsisa64r2 | mipsisa64r2el \
| mipsisa64r6 | mipsisa64r6el \
| mipsisa64sb1 | mipsisa64sb1el \ | mipsisa64sb1 | mipsisa64sb1el \
| mipsisa64sr71k | mipsisa64sr71kel \ | mipsisa64sr71k | mipsisa64sr71kel \
| mipsr5900 | mipsr5900el \ | mipsr5900 | mipsr5900el \
@ -295,15 +295,14 @@ case $basic_machine in
| nds32 | nds32le | nds32be \ | nds32 | nds32le | nds32be \
| nios | nios2 | nios2eb | nios2el \ | nios | nios2 | nios2eb | nios2el \
| ns16k | ns32k \ | ns16k | ns32k \
| open8 | or1k | or1knd | or32 \ | open8 \
| pdp10 | pj | pjl \ | or1k | or32 \
| pdp10 | pdp11 | pj | pjl \
| powerpc | powerpc64 | powerpc64le | powerpcle \ | powerpc | powerpc64 | powerpc64le | powerpcle \
| pru \
| pyramid \ | pyramid \
| riscv32 | riscv64 \
| rl78 | rx \ | rl78 | rx \
| score \ | score \
| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
| sh64 | sh64le \ | sh64 | sh64le \
| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
| sparcv8 | sparcv9 | sparcv9b | sparcv9v \ | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
@ -311,8 +310,7 @@ case $basic_machine in
| tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
| ubicom32 \ | ubicom32 \
| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
| visium \ | we32k \
| wasm32 \
| x86 | xc16x | xstormy16 | xtensa \ | x86 | xc16x | xstormy16 | xtensa \
| z8k | z80) | z8k | z80)
basic_machine=$basic_machine-unknown basic_machine=$basic_machine-unknown
@ -326,14 +324,11 @@ case $basic_machine in
c6x) c6x)
basic_machine=tic6x-unknown basic_machine=tic6x-unknown
;; ;;
leon|leon[3-9]) m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip)
basic_machine=sparc-$basic_machine
;;
m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip)
basic_machine=$basic_machine-unknown basic_machine=$basic_machine-unknown
os=-none os=-none
;; ;;
m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65) m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
;; ;;
ms1) ms1)
basic_machine=mt-unknown basic_machine=mt-unknown
@ -362,7 +357,7 @@ case $basic_machine in
;; ;;
# Object if more than one company name word. # Object if more than one company name word.
*-*-*) *-*-*)
echo Invalid configuration \`"$1"\': machine \`"$basic_machine"\' not recognized 1>&2 echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
exit 1 exit 1
;; ;;
# Recognize the basic CPU types with company name. # Recognize the basic CPU types with company name.
@ -374,20 +369,18 @@ case $basic_machine in
| alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
| arm-* | armbe-* | armle-* | armeb-* | armv*-* \ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \
| avr-* | avr32-* \ | avr-* | avr32-* \
| ba-* \
| be32-* | be64-* \ | be32-* | be64-* \
| bfin-* | bs2000-* \ | bfin-* | bs2000-* \
| c[123]* | c30-* | [cjt]90-* | c4x-* \ | c[123]* | c30-* | [cjt]90-* | c4x-* \
| c8051-* | clipper-* | craynv-* | cydra-* \ | c8051-* | clipper-* | craynv-* | cydra-* \
| d10v-* | d30v-* | dlx-* \ | d10v-* | d30v-* | dlx-* \
| e2k-* | elxsi-* \ | elxsi-* \
| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
| h8300-* | h8500-* \ | h8300-* | h8500-* \
| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
| hexagon-* \ | hexagon-* \
| i*86-* | i860-* | i960-* | ia16-* | ia64-* \ | i*86-* | i860-* | i960-* | ia64-* \
| ip2k-* | iq2000-* \ | ip2k-* | iq2000-* \
| k1om-* \
| le32-* | le64-* \ | le32-* | le64-* \
| lm32-* \ | lm32-* \
| m32c-* | m32r-* | m32rle-* \ | m32c-* | m32r-* | m32rle-* \
@ -407,10 +400,8 @@ case $basic_machine in
| mips64vr5900-* | mips64vr5900el-* \ | mips64vr5900-* | mips64vr5900el-* \
| mipsisa32-* | mipsisa32el-* \ | mipsisa32-* | mipsisa32el-* \
| mipsisa32r2-* | mipsisa32r2el-* \ | mipsisa32r2-* | mipsisa32r2el-* \
| mipsisa32r6-* | mipsisa32r6el-* \
| mipsisa64-* | mipsisa64el-* \ | mipsisa64-* | mipsisa64el-* \
| mipsisa64r2-* | mipsisa64r2el-* \ | mipsisa64r2-* | mipsisa64r2el-* \
| mipsisa64r6-* | mipsisa64r6el-* \
| mipsisa64sb1-* | mipsisa64sb1el-* \ | mipsisa64sb1-* | mipsisa64sb1el-* \
| mipsisa64sr71k-* | mipsisa64sr71kel-* \ | mipsisa64sr71k-* | mipsisa64sr71kel-* \
| mipsr5900-* | mipsr5900el-* \ | mipsr5900-* | mipsr5900el-* \
@ -422,19 +413,16 @@ case $basic_machine in
| nios-* | nios2-* | nios2eb-* | nios2el-* \ | nios-* | nios2-* | nios2eb-* | nios2el-* \
| none-* | np1-* | ns16k-* | ns32k-* \ | none-* | np1-* | ns16k-* | ns32k-* \
| open8-* \ | open8-* \
| or1k*-* \
| orion-* \ | orion-* \
| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
| pru-* \
| pyramid-* \ | pyramid-* \
| riscv32-* | riscv64-* \
| rl78-* | romp-* | rs6000-* | rx-* \ | rl78-* | romp-* | rs6000-* | rx-* \
| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
| sparclite-* \ | sparclite-* \
| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
| tahoe-* \ | tahoe-* \
| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
| tile*-* \ | tile*-* \
@ -442,8 +430,6 @@ case $basic_machine in
| ubicom32-* \ | ubicom32-* \
| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
| vax-* \ | vax-* \
| visium-* \
| wasm32-* \
| we32k-* \ | we32k-* \
| x86-* | x86_64-* | xc16x-* | xps100-* \ | x86-* | x86_64-* | xc16x-* | xps100-* \
| xstormy16-* | xtensa*-* \ | xstormy16-* | xtensa*-* \
@ -457,7 +443,7 @@ case $basic_machine in
# Recognize the various machine names and aliases which stand # Recognize the various machine names and aliases which stand
# for a CPU type and a company and sometimes even an OS. # for a CPU type and a company and sometimes even an OS.
386bsd) 386bsd)
basic_machine=i386-pc basic_machine=i386-unknown
os=-bsd os=-bsd
;; ;;
3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
@ -491,7 +477,7 @@ case $basic_machine in
basic_machine=x86_64-pc basic_machine=x86_64-pc
;; ;;
amd64-*) amd64-*)
basic_machine=x86_64-`echo "$basic_machine" | sed 's/^[^-]*-//'` basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
;; ;;
amdahl) amdahl)
basic_machine=580-amdahl basic_machine=580-amdahl
@ -520,9 +506,6 @@ case $basic_machine in
basic_machine=i386-pc basic_machine=i386-pc
os=-aros os=-aros
;; ;;
asmjs)
basic_machine=asmjs-unknown
;;
aux) aux)
basic_machine=m68k-apple basic_machine=m68k-apple
os=-aux os=-aux
@ -536,7 +519,7 @@ case $basic_machine in
os=-linux os=-linux
;; ;;
blackfin-*) blackfin-*)
basic_machine=bfin-`echo "$basic_machine" | sed 's/^[^-]*-//'` basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
os=-linux os=-linux
;; ;;
bluegene*) bluegene*)
@ -544,13 +527,13 @@ case $basic_machine in
os=-cnk os=-cnk
;; ;;
c54x-*) c54x-*)
basic_machine=tic54x-`echo "$basic_machine" | sed 's/^[^-]*-//'` basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
;; ;;
c55x-*) c55x-*)
basic_machine=tic55x-`echo "$basic_machine" | sed 's/^[^-]*-//'` basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
;; ;;
c6x-*) c6x-*)
basic_machine=tic6x-`echo "$basic_machine" | sed 's/^[^-]*-//'` basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
;; ;;
c90) c90)
basic_machine=c90-cray basic_machine=c90-cray
@ -639,18 +622,10 @@ case $basic_machine in
basic_machine=rs6000-bull basic_machine=rs6000-bull
os=-bosx os=-bosx
;; ;;
dpx2*) dpx2* | dpx2*-bull)
basic_machine=m68k-bull basic_machine=m68k-bull
os=-sysv3 os=-sysv3
;; ;;
e500v[12])
basic_machine=powerpc-unknown
os=$os"spe"
;;
e500v[12]-*)
basic_machine=powerpc-`echo "$basic_machine" | sed 's/^[^-]*-//'`
os=$os"spe"
;;
ebmon29k) ebmon29k)
basic_machine=a29k-amd basic_machine=a29k-amd
os=-ebmon os=-ebmon
@ -740,6 +715,9 @@ case $basic_machine in
hp9k8[0-9][0-9] | hp8[0-9][0-9]) hp9k8[0-9][0-9] | hp8[0-9][0-9])
basic_machine=hppa1.0-hp basic_machine=hppa1.0-hp
;; ;;
hppa-next)
os=-nextstep3
;;
hppaosf) hppaosf)
basic_machine=hppa1.1-hp basic_machine=hppa1.1-hp
os=-osf os=-osf
@ -752,26 +730,26 @@ case $basic_machine in
basic_machine=i370-ibm basic_machine=i370-ibm
;; ;;
i*86v32) i*86v32)
basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
os=-sysv32 os=-sysv32
;; ;;
i*86v4*) i*86v4*)
basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
os=-sysv4 os=-sysv4
;; ;;
i*86v) i*86v)
basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
os=-sysv os=-sysv
;; ;;
i*86sol2) i*86sol2)
basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
os=-solaris2 os=-solaris2
;; ;;
i386mach) i386mach)
basic_machine=i386-mach basic_machine=i386-mach
os=-mach os=-mach
;; ;;
vsta) i386-vsta | vsta)
basic_machine=i386-unknown basic_machine=i386-unknown
os=-vsta os=-vsta
;; ;;
@ -789,17 +767,17 @@ case $basic_machine in
basic_machine=m68k-isi basic_machine=m68k-isi
os=-sysv os=-sysv
;; ;;
leon-*|leon[3-9]-*)
basic_machine=sparc-`echo "$basic_machine" | sed 's/-.*//'`
;;
m68knommu) m68knommu)
basic_machine=m68k-unknown basic_machine=m68k-unknown
os=-linux os=-linux
;; ;;
m68knommu-*) m68knommu-*)
basic_machine=m68k-`echo "$basic_machine" | sed 's/^[^-]*-//'` basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
os=-linux os=-linux
;; ;;
m88k-omron*)
basic_machine=m88k-omron
;;
magnum | m3230) magnum | m3230)
basic_machine=mips-mips basic_machine=mips-mips
os=-sysv os=-sysv
@ -831,10 +809,10 @@ case $basic_machine in
os=-mint os=-mint
;; ;;
mips3*-*) mips3*-*)
basic_machine=`echo "$basic_machine" | sed -e 's/mips3/mips64/'` basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
;; ;;
mips3*) mips3*)
basic_machine=`echo "$basic_machine" | sed -e 's/mips3/mips64/'`-unknown basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
;; ;;
monitor) monitor)
basic_machine=m68k-rom68k basic_machine=m68k-rom68k
@ -844,16 +822,12 @@ case $basic_machine in
basic_machine=powerpc-unknown basic_machine=powerpc-unknown
os=-morphos os=-morphos
;; ;;
moxiebox)
basic_machine=moxie-unknown
os=-moxiebox
;;
msdos) msdos)
basic_machine=i386-pc basic_machine=i386-pc
os=-msdos os=-msdos
;; ;;
ms1-*) ms1-*)
basic_machine=`echo "$basic_machine" | sed -e 's/ms1-/mt-/'` basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
;; ;;
msys) msys)
basic_machine=i686-pc basic_machine=i686-pc
@ -895,7 +869,7 @@ case $basic_machine in
basic_machine=v70-nec basic_machine=v70-nec
os=-sysv os=-sysv
;; ;;
next | m*-next) next | m*-next )
basic_machine=m68k-next basic_machine=m68k-next
case $os in case $os in
-nextstep* ) -nextstep* )
@ -940,12 +914,6 @@ case $basic_machine in
nsr-tandem) nsr-tandem)
basic_machine=nsr-tandem basic_machine=nsr-tandem
;; ;;
nsv-tandem)
basic_machine=nsv-tandem
;;
nsx-tandem)
basic_machine=nsx-tandem
;;
op50n-* | op60c-*) op50n-* | op60c-*)
basic_machine=hppa1.1-oki basic_machine=hppa1.1-oki
os=-proelf os=-proelf
@ -978,7 +946,7 @@ case $basic_machine in
os=-linux os=-linux
;; ;;
parisc-*) parisc-*)
basic_machine=hppa-`echo "$basic_machine" | sed 's/^[^-]*-//'` basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
os=-linux os=-linux
;; ;;
pbd) pbd)
@ -994,7 +962,7 @@ case $basic_machine in
basic_machine=i386-pc basic_machine=i386-pc
;; ;;
pc98-*) pc98-*)
basic_machine=i386-`echo "$basic_machine" | sed 's/^[^-]*-//'` basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
;; ;;
pentium | p5 | k5 | k6 | nexgen | viac3) pentium | p5 | k5 | k6 | nexgen | viac3)
basic_machine=i586-pc basic_machine=i586-pc
@ -1009,16 +977,16 @@ case $basic_machine in
basic_machine=i786-pc basic_machine=i786-pc
;; ;;
pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
basic_machine=i586-`echo "$basic_machine" | sed 's/^[^-]*-//'` basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
;; ;;
pentiumpro-* | p6-* | 6x86-* | athlon-*) pentiumpro-* | p6-* | 6x86-* | athlon-*)
basic_machine=i686-`echo "$basic_machine" | sed 's/^[^-]*-//'` basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
;; ;;
pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
basic_machine=i686-`echo "$basic_machine" | sed 's/^[^-]*-//'` basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
;; ;;
pentium4-*) pentium4-*)
basic_machine=i786-`echo "$basic_machine" | sed 's/^[^-]*-//'` basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
;; ;;
pn) pn)
basic_machine=pn-gould basic_machine=pn-gould
@ -1028,23 +996,23 @@ case $basic_machine in
ppc | ppcbe) basic_machine=powerpc-unknown ppc | ppcbe) basic_machine=powerpc-unknown
;; ;;
ppc-* | ppcbe-*) ppc-* | ppcbe-*)
basic_machine=powerpc-`echo "$basic_machine" | sed 's/^[^-]*-//'` basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
;; ;;
ppcle | powerpclittle) ppcle | powerpclittle | ppc-le | powerpc-little)
basic_machine=powerpcle-unknown basic_machine=powerpcle-unknown
;; ;;
ppcle-* | powerpclittle-*) ppcle-* | powerpclittle-*)
basic_machine=powerpcle-`echo "$basic_machine" | sed 's/^[^-]*-//'` basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
;; ;;
ppc64) basic_machine=powerpc64-unknown ppc64) basic_machine=powerpc64-unknown
;; ;;
ppc64-*) basic_machine=powerpc64-`echo "$basic_machine" | sed 's/^[^-]*-//'` ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
;; ;;
ppc64le | powerpc64little) ppc64le | powerpc64little | ppc64-le | powerpc64-little)
basic_machine=powerpc64le-unknown basic_machine=powerpc64le-unknown
;; ;;
ppc64le-* | powerpc64little-*) ppc64le-* | powerpc64little-*)
basic_machine=powerpc64le-`echo "$basic_machine" | sed 's/^[^-]*-//'` basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
;; ;;
ps2) ps2)
basic_machine=i386-ibm basic_machine=i386-ibm
@ -1098,10 +1066,17 @@ case $basic_machine in
sequent) sequent)
basic_machine=i386-sequent basic_machine=i386-sequent
;; ;;
sh)
basic_machine=sh-hitachi
os=-hms
;;
sh5el) sh5el)
basic_machine=sh5le-unknown basic_machine=sh5le-unknown
;; ;;
simso-wrs) sh64)
basic_machine=sh64-unknown
;;
sparclite-wrs | simso-wrs)
basic_machine=sparclite-wrs basic_machine=sparclite-wrs
os=-vxworks os=-vxworks
;; ;;
@ -1120,7 +1095,7 @@ case $basic_machine in
os=-sysv4 os=-sysv4
;; ;;
strongarm-* | thumb-*) strongarm-* | thumb-*)
basic_machine=arm-`echo "$basic_machine" | sed 's/^[^-]*-//'` basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
;; ;;
sun2) sun2)
basic_machine=m68000-sun basic_machine=m68000-sun
@ -1242,9 +1217,6 @@ case $basic_machine in
basic_machine=hppa1.1-winbond basic_machine=hppa1.1-winbond
os=-proelf os=-proelf
;; ;;
x64)
basic_machine=x86_64-pc
;;
xbox) xbox)
basic_machine=i686-pc basic_machine=i686-pc
os=-mingw32 os=-mingw32
@ -1253,12 +1225,20 @@ case $basic_machine in
basic_machine=xps100-honeywell basic_machine=xps100-honeywell
;; ;;
xscale-* | xscalee[bl]-*) xscale-* | xscalee[bl]-*)
basic_machine=`echo "$basic_machine" | sed 's/^xscale/arm/'` basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
;; ;;
ymp) ymp)
basic_machine=ymp-cray basic_machine=ymp-cray
os=-unicos os=-unicos
;; ;;
z8k-*-coff)
basic_machine=z8k-unknown
os=-sim
;;
z80-*-coff)
basic_machine=z80-unknown
os=-sim
;;
none) none)
basic_machine=none-none basic_machine=none-none
os=-none os=-none
@ -1287,6 +1267,10 @@ case $basic_machine in
vax) vax)
basic_machine=vax-dec basic_machine=vax-dec
;; ;;
pdp10)
# there are many clones, so DEC is not a safe bet
basic_machine=pdp10-unknown
;;
pdp11) pdp11)
basic_machine=pdp11-dec basic_machine=pdp11-dec
;; ;;
@ -1296,6 +1280,9 @@ case $basic_machine in
sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
basic_machine=sh-unknown basic_machine=sh-unknown
;; ;;
sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
basic_machine=sparc-sun
;;
cydra) cydra)
basic_machine=cydra-cydrome basic_machine=cydra-cydrome
;; ;;
@ -1315,7 +1302,7 @@ case $basic_machine in
# Make sure to match an already-canonicalized machine name. # Make sure to match an already-canonicalized machine name.
;; ;;
*) *)
echo Invalid configuration \`"$1"\': machine \`"$basic_machine"\' not recognized 1>&2 echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
exit 1 exit 1
;; ;;
esac esac
@ -1323,10 +1310,10 @@ esac
# Here we canonicalize certain aliases for manufacturers. # Here we canonicalize certain aliases for manufacturers.
case $basic_machine in case $basic_machine in
*-digital*) *-digital*)
basic_machine=`echo "$basic_machine" | sed 's/digital.*/dec/'` basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
;; ;;
*-commodore*) *-commodore*)
basic_machine=`echo "$basic_machine" | sed 's/commodore.*/cbm/'` basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
;; ;;
*) *)
;; ;;
@ -1337,8 +1324,8 @@ esac
if [ x"$os" != x"" ] if [ x"$os" != x"" ]
then then
case $os in case $os in
# First match some system type aliases that might get confused # First match some system type aliases
# with valid system types. # that might get confused with valid system types.
# -solaris* is a basic system type, with this one exception. # -solaris* is a basic system type, with this one exception.
-auroraux) -auroraux)
os=-auroraux os=-auroraux
@ -1349,48 +1336,45 @@ case $os in
-solaris) -solaris)
os=-solaris2 os=-solaris2
;; ;;
-svr4*)
os=-sysv4
;;
-unixware*) -unixware*)
os=-sysv4.2uw os=-sysv4.2uw
;; ;;
-gnu/linux*) -gnu/linux*)
os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
;; ;;
# es1800 is here to avoid being matched by es* (a different OS) # First accept the basic system types.
-es1800*)
os=-ose
;;
# Now accept the basic system types.
# The portable systems comes first. # The portable systems comes first.
# Each alternative MUST end in a * to match a version number. # Each alternative MUST END IN A *, to match a version number.
# -sysv* is not here because it comes later, after sysvr4. # -sysv* is not here because it comes later, after sysvr4.
-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
| -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
| -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
| -sym* | -kopensolaris* | -plan9* \ | -sym* | -kopensolaris* | -plan9* \
| -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
| -aos* | -aros* | -cloudabi* | -sortix* \ | -aos* | -aros* \
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
| -hiux* | -knetbsd* | -mirbsd* | -netbsd* \ | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
| -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \ | -bitrig* | -openbsd* | -solidbsd* \
| -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
| -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
| -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
| -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
| -chorusos* | -chorusrdb* | -cegcc* | -glidix* \ | -chorusos* | -chorusrdb* | -cegcc* \
| -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
| -midipix* | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
| -linux-newlib* | -linux-musl* | -linux-uclibc* \ | -linux-newlib* | -linux-musl* | -linux-uclibc* \
| -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \ | -uxpv* | -beos* | -mpeix* | -udk* \
| -interix* | -uwin* | -mks* | -rhapsody* | -darwin* \ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
| -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
| -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
| -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
| -morphos* | -superux* | -rtmk* | -windiss* \ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
| -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
| -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \ | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
| -onefs* | -tirtos* | -phoenix* | -fuchsia* | -redox* | -bme* \
| -midnightbsd*)
# Remember, each alternative MUST END IN *, to match a version number. # Remember, each alternative MUST END IN *, to match a version number.
;; ;;
-qnx*) -qnx*)
@ -1407,12 +1391,12 @@ case $os in
-nto*) -nto*)
os=`echo $os | sed -e 's|nto|nto-qnx|'` os=`echo $os | sed -e 's|nto|nto-qnx|'`
;; ;;
-sim | -xray | -os68k* | -v88r* \ -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
| -windows* | -osx | -abug | -netware* | -os9* \ | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
| -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
;; ;;
-mac*) -mac*)
os=`echo "$os" | sed -e 's|mac|macos|'` os=`echo $os | sed -e 's|mac|macos|'`
;; ;;
-linux-dietlibc) -linux-dietlibc)
os=-linux-dietlibc os=-linux-dietlibc
@ -1421,10 +1405,10 @@ case $os in
os=`echo $os | sed -e 's|linux|linux-gnu|'` os=`echo $os | sed -e 's|linux|linux-gnu|'`
;; ;;
-sunos5*) -sunos5*)
os=`echo "$os" | sed -e 's|sunos5|solaris2|'` os=`echo $os | sed -e 's|sunos5|solaris2|'`
;; ;;
-sunos6*) -sunos6*)
os=`echo "$os" | sed -e 's|sunos6|solaris3|'` os=`echo $os | sed -e 's|sunos6|solaris3|'`
;; ;;
-opened*) -opened*)
os=-openedition os=-openedition
@ -1435,6 +1419,12 @@ case $os in
-wince*) -wince*)
os=-wince os=-wince
;; ;;
-osfrose*)
os=-osfrose
;;
-osf*)
os=-osf
;;
-utek*) -utek*)
os=-bsd os=-bsd
;; ;;
@ -1459,7 +1449,7 @@ case $os in
-nova*) -nova*)
os=-rtmk-nova os=-rtmk-nova
;; ;;
-ns2) -ns2 )
os=-nextstep2 os=-nextstep2
;; ;;
-nsk*) -nsk*)
@ -1481,7 +1471,7 @@ case $os in
-oss*) -oss*)
os=-sysv3 os=-sysv3
;; ;;
-svr4*) -svr4)
os=-sysv4 os=-sysv4
;; ;;
-svr3) -svr3)
@ -1496,38 +1486,32 @@ case $os in
-ose*) -ose*)
os=-ose os=-ose
;; ;;
-es1800*)
os=-ose
;;
-xenix)
os=-xenix
;;
-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
os=-mint os=-mint
;; ;;
-aros*)
os=-aros
;;
-zvmoe) -zvmoe)
os=-zvmoe os=-zvmoe
;; ;;
-dicos*) -dicos*)
os=-dicos os=-dicos
;; ;;
-pikeos*)
# Until real need of OS specific support for
# particular features comes up, bare metal
# configurations are quite functional.
case $basic_machine in
arm*)
os=-eabi
;;
*)
os=-elf
;;
esac
;;
-nacl*) -nacl*)
;; ;;
-ios)
;;
-none) -none)
;; ;;
*) *)
# Get rid of the `-' at the beginning of $os. # Get rid of the `-' at the beginning of $os.
os=`echo $os | sed 's/[^-]*-//'` os=`echo $os | sed 's/[^-]*-//'`
echo Invalid configuration \`"$1"\': system \`"$os"\' not recognized 1>&2 echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
exit 1 exit 1
;; ;;
esac esac
@ -1608,6 +1592,9 @@ case $basic_machine in
mips*-*) mips*-*)
os=-elf os=-elf
;; ;;
or1k-*)
os=-elf
;;
or32-*) or32-*)
os=-coff os=-coff
;; ;;
@ -1617,12 +1604,12 @@ case $basic_machine in
sparc-* | *-sun) sparc-* | *-sun)
os=-sunos4.1.1 os=-sunos4.1.1
;; ;;
pru-*)
os=-elf
;;
*-be) *-be)
os=-beos os=-beos
;; ;;
*-haiku)
os=-haiku
;;
*-ibm) *-ibm)
os=-aix os=-aix
;; ;;
@ -1662,7 +1649,7 @@ case $basic_machine in
m88k-omron*) m88k-omron*)
os=-luna os=-luna
;; ;;
*-next) *-next )
os=-nextstep os=-nextstep
;; ;;
*-sequent) *-sequent)
@ -1677,6 +1664,9 @@ case $basic_machine in
i370-*) i370-*)
os=-mvs os=-mvs
;; ;;
*-next)
os=-nextstep3
;;
*-gould) *-gould)
os=-sysv os=-sysv
;; ;;
@ -1786,15 +1776,15 @@ case $basic_machine in
vendor=stratus vendor=stratus
;; ;;
esac esac
basic_machine=`echo "$basic_machine" | sed "s/unknown/$vendor/"` basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
;; ;;
esac esac
echo "$basic_machine$os" echo $basic_machine$os
exit exit
# Local variables: # Local variables:
# eval: (add-hook 'write-file-functions 'time-stamp) # eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "timestamp='" # time-stamp-start: "timestamp='"
# time-stamp-format: "%:y-%02m-%02d" # time-stamp-format: "%:y-%02m-%02d"
# time-stamp-end: "'" # time-stamp-end: "'"

View file

@ -1,9 +1,9 @@
#! /bin/sh #! /bin/sh
# depcomp - compile a program generating dependencies as side-effects # depcomp - compile a program generating dependencies as side-effects
scriptversion=2018-03-07.03; # UTC scriptversion=2013-05-30.07; # UTC
# Copyright (C) 1999-2020 Free Software Foundation, Inc. # Copyright (C) 1999-2013 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify # This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
@ -16,7 +16,7 @@ scriptversion=2018-03-07.03; # UTC
# GNU General Public License for more details. # GNU General Public License for more details.
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
# As a special exception to the GNU General Public License, if you # As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a # distribute this file as part of a program that contains a
@ -783,9 +783,9 @@ exit 0
# Local Variables: # Local Variables:
# mode: shell-script # mode: shell-script
# sh-indentation: 2 # sh-indentation: 2
# eval: (add-hook 'before-save-hook 'time-stamp) # eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion=" # time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-time-zone: "UTC0" # time-stamp-time-zone: "UTC"
# time-stamp-end: "; # UTC" # time-stamp-end: "; # UTC"
# End: # End:

View file

@ -1,7 +1,7 @@
#!/bin/sh #!/bin/sh
# install - install a program, script, or datafile # install - install a program, script, or datafile
scriptversion=2020-11-14.01; # UTC scriptversion=2011-11-20.07; # UTC
# This originates from X11R5 (mit/util/scripts/install.sh), which was # This originates from X11R5 (mit/util/scripts/install.sh), which was
# later released in X11R6 (xc/config/util/install.sh) with the # later released in X11R6 (xc/config/util/install.sh) with the
@ -41,15 +41,19 @@ scriptversion=2020-11-14.01; # UTC
# This script is compatible with the BSD install script, but was written # This script is compatible with the BSD install script, but was written
# from scratch. # from scratch.
tab=' '
nl=' nl='
' '
IFS=" $tab$nl" IFS=" "" $nl"
# Set DOITPROG to "echo" to test this script. # set DOITPROG to echo to test this script
# Don't use :- since 4.3BSD and earlier shells don't like it.
doit=${DOITPROG-} doit=${DOITPROG-}
doit_exec=${doit:-exec} if test -z "$doit"; then
doit_exec=exec
else
doit_exec=$doit
fi
# Put in absolute file names if you don't have them in your path; # Put in absolute file names if you don't have them in your path;
# or use environment vars. # or use environment vars.
@ -64,16 +68,22 @@ mvprog=${MVPROG-mv}
rmprog=${RMPROG-rm} rmprog=${RMPROG-rm}
stripprog=${STRIPPROG-strip} stripprog=${STRIPPROG-strip}
posix_glob='?'
initialize_posix_glob='
test "$posix_glob" != "?" || {
if (set -f) 2>/dev/null; then
posix_glob=
else
posix_glob=:
fi
}
'
posix_mkdir= posix_mkdir=
# Desired mode of installed file. # Desired mode of installed file.
mode=0755 mode=0755
# Create dirs (including intermediate dirs) using mode 755.
# This is like GNU 'install' as of coreutils 8.32 (2020).
mkdir_umask=22
backupsuffix=
chgrpcmd= chgrpcmd=
chmodcmd=$chmodprog chmodcmd=$chmodprog
chowncmd= chowncmd=
@ -87,7 +97,7 @@ dir_arg=
dst_arg= dst_arg=
copy_on_change=false copy_on_change=false
is_target_a_directory=possibly no_target_directory=
usage="\ usage="\
Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
@ -104,28 +114,18 @@ Options:
--version display version info and exit. --version display version info and exit.
-c (ignored) -c (ignored)
-C install only if different (preserve data modification time) -C install only if different (preserve the last data modification time)
-d create directories instead of installing files. -d create directories instead of installing files.
-g GROUP $chgrpprog installed files to GROUP. -g GROUP $chgrpprog installed files to GROUP.
-m MODE $chmodprog installed files to MODE. -m MODE $chmodprog installed files to MODE.
-o USER $chownprog installed files to USER. -o USER $chownprog installed files to USER.
-p pass -p to $cpprog.
-s $stripprog installed files. -s $stripprog installed files.
-S SUFFIX attempt to back up existing files, with suffix SUFFIX.
-t DIRECTORY install into DIRECTORY. -t DIRECTORY install into DIRECTORY.
-T report an error if DSTFILE is a directory. -T report an error if DSTFILE is a directory.
Environment variables override the default commands: Environment variables override the default commands:
CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG
RMPROG STRIPPROG RMPROG STRIPPROG
By default, rm is invoked with -f; when overridden with RMPROG,
it's up to you to specify -f if you want it.
If -S is not specified, no backups are attempted.
Email bug reports to bug-automake@gnu.org.
Automake home page: https://www.gnu.org/software/automake/
" "
while test $# -ne 0; do while test $# -ne 0; do
@ -137,62 +137,46 @@ while test $# -ne 0; do
-d) dir_arg=true;; -d) dir_arg=true;;
-g) chgrpcmd="$chgrpprog $2" -g) chgrpcmd="$chgrpprog $2"
shift;; shift;;
--help) echo "$usage"; exit $?;; --help) echo "$usage"; exit $?;;
-m) mode=$2 -m) mode=$2
case $mode in case $mode in
*' '* | *"$tab"* | *"$nl"* | *'*'* | *'?'* | *'['*) *' '* | *' '* | *'
echo "$0: invalid mode: $mode" >&2 '* | *'*'* | *'?'* | *'['*)
exit 1;; echo "$0: invalid mode: $mode" >&2
esac exit 1;;
shift;; esac
shift;;
-o) chowncmd="$chownprog $2" -o) chowncmd="$chownprog $2"
shift;; shift;;
-p) cpprog="$cpprog -p";;
-s) stripcmd=$stripprog;; -s) stripcmd=$stripprog;;
-S) backupsuffix="$2" -t) dst_arg=$2
shift;; # Protect names problematic for 'test' and other utilities.
case $dst_arg in
-* | [=\(\)!]) dst_arg=./$dst_arg;;
esac
shift;;
-t) -T) no_target_directory=true;;
is_target_a_directory=always
dst_arg=$2
# Protect names problematic for 'test' and other utilities.
case $dst_arg in
-* | [=\(\)!]) dst_arg=./$dst_arg;;
esac
shift;;
-T) is_target_a_directory=never;;
--version) echo "$0 $scriptversion"; exit $?;; --version) echo "$0 $scriptversion"; exit $?;;
--) shift --) shift
break;; break;;
-*) echo "$0: invalid option: $1" >&2 -*) echo "$0: invalid option: $1" >&2
exit 1;; exit 1;;
*) break;; *) break;;
esac esac
shift shift
done done
# We allow the use of options -d and -T together, by making -d
# take the precedence; this is for compatibility with GNU install.
if test -n "$dir_arg"; then
if test -n "$dst_arg"; then
echo "$0: target directory not allowed when installing a directory." >&2
exit 1
fi
fi
if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
# When -d is used, all remaining arguments are directories to create. # When -d is used, all remaining arguments are directories to create.
# When -t is used, the destination is already specified. # When -t is used, the destination is already specified.
@ -223,15 +207,6 @@ if test $# -eq 0; then
exit 0 exit 0
fi fi
if test -z "$dir_arg"; then
if test $# -gt 1 || test "$is_target_a_directory" = always; then
if test ! -d "$dst_arg"; then
echo "$0: $dst_arg: Is not a directory." >&2
exit 1
fi
fi
fi
if test -z "$dir_arg"; then if test -z "$dir_arg"; then
do_exit='(exit $ret); exit $ret' do_exit='(exit $ret); exit $ret'
trap "ret=129; $do_exit" 1 trap "ret=129; $do_exit" 1
@ -248,16 +223,16 @@ if test -z "$dir_arg"; then
*[0-7]) *[0-7])
if test -z "$stripcmd"; then if test -z "$stripcmd"; then
u_plus_rw= u_plus_rw=
else else
u_plus_rw='% 200' u_plus_rw='% 200'
fi fi
cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;; cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
*) *)
if test -z "$stripcmd"; then if test -z "$stripcmd"; then
u_plus_rw= u_plus_rw=
else else
u_plus_rw=,u+rw u_plus_rw=,u+rw
fi fi
cp_umask=$mode$u_plus_rw;; cp_umask=$mode$u_plus_rw;;
esac esac
@ -275,10 +250,6 @@ do
dstdir=$dst dstdir=$dst
test -d "$dstdir" test -d "$dstdir"
dstdir_status=$? dstdir_status=$?
# Don't chown directories that already exist.
if test $dstdir_status = 0; then
chowncmd=""
fi
else else
# Waiting for this to be detected by the "$cpprog $src $dsttmp" command # Waiting for this to be detected by the "$cpprog $src $dsttmp" command
@ -295,148 +266,178 @@ do
fi fi
dst=$dst_arg dst=$dst_arg
# If destination is a directory, append the input filename. # If destination is a directory, append the input filename; won't work
# if double slashes aren't ignored.
if test -d "$dst"; then if test -d "$dst"; then
if test "$is_target_a_directory" = never; then if test -n "$no_target_directory"; then
echo "$0: $dst_arg: Is a directory" >&2 echo "$0: $dst_arg: Is a directory" >&2
exit 1 exit 1
fi fi
dstdir=$dst dstdir=$dst
dstbase=`basename "$src"` dst=$dstdir/`basename "$src"`
case $dst in
*/) dst=$dst$dstbase;;
*) dst=$dst/$dstbase;;
esac
dstdir_status=0 dstdir_status=0
else else
dstdir=`dirname "$dst"` # Prefer dirname, but fall back on a substitute if dirname fails.
dstdir=`
(dirname "$dst") 2>/dev/null ||
expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$dst" : 'X\(//\)[^/]' \| \
X"$dst" : 'X\(//\)$' \| \
X"$dst" : 'X\(/\)' \| . 2>/dev/null ||
echo X"$dst" |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
s//\1/
q
}
/^X\(\/\/\)[^/].*/{
s//\1/
q
}
/^X\(\/\/\)$/{
s//\1/
q
}
/^X\(\/\).*/{
s//\1/
q
}
s/.*/./; q'
`
test -d "$dstdir" test -d "$dstdir"
dstdir_status=$? dstdir_status=$?
fi fi
fi fi
case $dstdir in
*/) dstdirslash=$dstdir;;
*) dstdirslash=$dstdir/;;
esac
obsolete_mkdir_used=false obsolete_mkdir_used=false
if test $dstdir_status != 0; then if test $dstdir_status != 0; then
case $posix_mkdir in case $posix_mkdir in
'') '')
# With -d, create the new directory with the user-specified mode. # Create intermediate dirs using mode 755 as modified by the umask.
# Otherwise, rely on $mkdir_umask. # This is like FreeBSD 'install' as of 1997-10-28.
if test -n "$dir_arg"; then umask=`umask`
mkdir_mode=-m$mode case $stripcmd.$umask in
else # Optimize common cases.
mkdir_mode= *[2367][2367]) mkdir_umask=$umask;;
fi .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
posix_mkdir=false *[0-7])
# The $RANDOM variable is not portable (e.g., dash). Use it mkdir_umask=`expr $umask + 22 \
# here however when possible just to lower collision chance. - $umask % 100 % 40 + $umask % 20 \
tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ - $umask % 10 % 4 + $umask % 2
`;;
*) mkdir_umask=$umask,go-w;;
esac
trap ' # With -d, create the new directory with the user-specified mode.
ret=$? # Otherwise, rely on $mkdir_umask.
rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 2>/dev/null if test -n "$dir_arg"; then
exit $ret mkdir_mode=-m$mode
' 0
# Because "mkdir -p" follows existing symlinks and we likely work
# directly in world-writeable /tmp, make sure that the '$tmpdir'
# directory is successfully created first before we actually test
# 'mkdir -p'.
if (umask $mkdir_umask &&
$mkdirprog $mkdir_mode "$tmpdir" &&
exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/dev/null 2>&1
then
if test -z "$dir_arg" || {
# Check for POSIX incompatibilities with -m.
# HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
# other-writable bit of parent directory when it shouldn't.
# FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
test_tmpdir="$tmpdir/a"
ls_ld_tmpdir=`ls -ld "$test_tmpdir"`
case $ls_ld_tmpdir in
d????-?r-*) different_mode=700;;
d????-?--*) different_mode=755;;
*) false;;
esac &&
$mkdirprog -m$different_mode -p -- "$test_tmpdir" && {
ls_ld_tmpdir_1=`ls -ld "$test_tmpdir"`
test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
}
}
then posix_mkdir=:
fi
rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir"
else else
# Remove any dirs left behind by ancient mkdir implementations. mkdir_mode=
rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 2>/dev/null
fi fi
trap '' 0;;
posix_mkdir=false
case $umask in
*[123567][0-7][0-7])
# POSIX mkdir -p sets u+wx bits regardless of umask, which
# is incompatible with FreeBSD 'install' when (umask & 300) != 0.
;;
*)
tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
if (umask $mkdir_umask &&
exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
then
if test -z "$dir_arg" || {
# Check for POSIX incompatibilities with -m.
# HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
# other-writable bit of parent directory when it shouldn't.
# FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
ls_ld_tmpdir=`ls -ld "$tmpdir"`
case $ls_ld_tmpdir in
d????-?r-*) different_mode=700;;
d????-?--*) different_mode=755;;
*) false;;
esac &&
$mkdirprog -m$different_mode -p -- "$tmpdir" && {
ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
}
}
then posix_mkdir=:
fi
rmdir "$tmpdir/d" "$tmpdir"
else
# Remove any dirs left behind by ancient mkdir implementations.
rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
fi
trap '' 0;;
esac;;
esac esac
if if
$posix_mkdir && ( $posix_mkdir && (
umask $mkdir_umask && umask $mkdir_umask &&
$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir" $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
) )
then : then :
else else
# mkdir does not conform to POSIX, # The umask is ridiculous, or mkdir does not conform to POSIX,
# or it failed possibly due to a race condition. Create the # or it failed possibly due to a race condition. Create the
# directory the slow way, step by step, checking for races as we go. # directory the slow way, step by step, checking for races as we go.
case $dstdir in case $dstdir in
/*) prefix='/';; /*) prefix='/';;
[-=\(\)!]*) prefix='./';; [-=\(\)!]*) prefix='./';;
*) prefix='';; *) prefix='';;
esac esac
eval "$initialize_posix_glob"
oIFS=$IFS oIFS=$IFS
IFS=/ IFS=/
set -f $posix_glob set -f
set fnord $dstdir set fnord $dstdir
shift shift
set +f $posix_glob set +f
IFS=$oIFS IFS=$oIFS
prefixes= prefixes=
for d for d
do do
test X"$d" = X && continue test X"$d" = X && continue
prefix=$prefix$d prefix=$prefix$d
if test -d "$prefix"; then if test -d "$prefix"; then
prefixes= prefixes=
else else
if $posix_mkdir; then if $posix_mkdir; then
(umask $mkdir_umask && (umask=$mkdir_umask &&
$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
# Don't fail if two instances are running concurrently. # Don't fail if two instances are running concurrently.
test -d "$prefix" || exit 1 test -d "$prefix" || exit 1
else else
case $prefix in case $prefix in
*\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;; *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
*) qprefix=$prefix;; *) qprefix=$prefix;;
esac esac
prefixes="$prefixes '$qprefix'" prefixes="$prefixes '$qprefix'"
fi fi
fi fi
prefix=$prefix/ prefix=$prefix/
done done
if test -n "$prefixes"; then if test -n "$prefixes"; then
# Don't fail if two instances are running concurrently. # Don't fail if two instances are running concurrently.
(umask $mkdir_umask && (umask $mkdir_umask &&
eval "\$doit_exec \$mkdirprog $prefixes") || eval "\$doit_exec \$mkdirprog $prefixes") ||
test -d "$dstdir" || exit 1 test -d "$dstdir" || exit 1
obsolete_mkdir_used=true obsolete_mkdir_used=true
fi fi
fi fi
fi fi
@ -449,25 +450,14 @@ do
else else
# Make a couple of temp file names in the proper directory. # Make a couple of temp file names in the proper directory.
dsttmp=${dstdirslash}_inst.$$_ dsttmp=$dstdir/_inst.$$_
rmtmp=${dstdirslash}_rm.$$_ rmtmp=$dstdir/_rm.$$_
# Trap to clean up those temp files at exit. # Trap to clean up those temp files at exit.
trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
# Copy the file name to the temp name. # Copy the file name to the temp name.
(umask $cp_umask && (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") &&
{ test -z "$stripcmd" || {
# Create $dsttmp read-write so that cp doesn't create it read-only,
# which would cause strip to fail.
if test -z "$doit"; then
: >"$dsttmp" # No need to fork-exec 'touch'.
else
$doit touch "$dsttmp"
fi
}
} &&
$doit_exec $cpprog "$src" "$dsttmp") &&
# and set any options; do chmod last to preserve setuid bits. # and set any options; do chmod last to preserve setuid bits.
# #
@ -482,24 +472,20 @@ do
# If -C, don't bother to copy if it wouldn't change the file. # If -C, don't bother to copy if it wouldn't change the file.
if $copy_on_change && if $copy_on_change &&
old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` && old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` &&
new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` && new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` &&
set -f &&
eval "$initialize_posix_glob" &&
$posix_glob set -f &&
set X $old && old=:$2:$4:$5:$6 && set X $old && old=:$2:$4:$5:$6 &&
set X $new && new=:$2:$4:$5:$6 && set X $new && new=:$2:$4:$5:$6 &&
set +f && $posix_glob set +f &&
test "$old" = "$new" && test "$old" = "$new" &&
$cmpprog "$dst" "$dsttmp" >/dev/null 2>&1 $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
then then
rm -f "$dsttmp" rm -f "$dsttmp"
else else
# If $backupsuffix is set, and the file being installed
# already exists, attempt a backup. Don't worry if it fails,
# e.g., if mv doesn't support -f.
if test -n "$backupsuffix" && test -f "$dst"; then
$doit $mvcmd -f "$dst" "$dst$backupsuffix" 2>/dev/null
fi
# Rename the file to the real destination. # Rename the file to the real destination.
$doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null || $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null ||
@ -507,24 +493,24 @@ do
# to itself, or perhaps because mv is so ancient that it does not # to itself, or perhaps because mv is so ancient that it does not
# support -f. # support -f.
{ {
# Now remove or move aside any old file at destination location. # Now remove or move aside any old file at destination location.
# We try this two ways since rm can't unlink itself on some # We try this two ways since rm can't unlink itself on some
# systems and the destination file might be busy for other # systems and the destination file might be busy for other
# reasons. In this case, the final cleanup might fail but the new # reasons. In this case, the final cleanup might fail but the new
# file should still install successfully. # file should still install successfully.
{ {
test ! -f "$dst" || test ! -f "$dst" ||
$doit $rmcmd "$dst" 2>/dev/null || $doit $rmcmd -f "$dst" 2>/dev/null ||
{ $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null && { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
{ $doit $rmcmd "$rmtmp" 2>/dev/null; :; } { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
} || } ||
{ echo "$0: cannot unlink or rename $dst" >&2 { echo "$0: cannot unlink or rename $dst" >&2
(exit 1); exit 1 (exit 1); exit 1
} }
} && } &&
# Now rename the file to the real destination. # Now rename the file to the real destination.
$doit $mvcmd "$dsttmp" "$dst" $doit $mvcmd "$dsttmp" "$dst"
} }
fi || exit 1 fi || exit 1
@ -533,9 +519,9 @@ do
done done
# Local variables: # Local variables:
# eval: (add-hook 'before-save-hook 'time-stamp) # eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion=" # time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-time-zone: "UTC0" # time-stamp-time-zone: "UTC"
# time-stamp-end: "; # UTC" # time-stamp-end: "; # UTC"
# End: # End:

View file

@ -189,7 +189,7 @@ func_basename ()
# to NONDIR_REPLACEMENT. # to NONDIR_REPLACEMENT.
# value returned in "$func_dirname_result" # value returned in "$func_dirname_result"
# basename: Compute filename of FILE. # basename: Compute filename of FILE.
# value returned in "$func_basename_result" # value retuned in "$func_basename_result"
# Implementation must be kept synchronized with func_dirname # Implementation must be kept synchronized with func_dirname
# and func_basename. For efficiency, we do not delegate to # and func_basename. For efficiency, we do not delegate to
# those functions but instead duplicate the functionality here. # those functions but instead duplicate the functionality here.
@ -522,7 +522,7 @@ func_mkdir_p ()
# While some portion of DIR does not yet exist... # While some portion of DIR does not yet exist...
while test ! -d "$my_directory_path"; do while test ! -d "$my_directory_path"; do
# ...make a list in topmost first order. Use a colon delimited # ...make a list in topmost first order. Use a colon delimited
# list in case some portion of path contains whitespace. # list incase some portion of path contains whitespace.
my_dir_list="$my_directory_path:$my_dir_list" my_dir_list="$my_directory_path:$my_dir_list"
# If the last portion added has no slash in it, the list is done # If the last portion added has no slash in it, the list is done
@ -4394,7 +4394,7 @@ EOF
{ {
/* however, if there is an option in the LTWRAPPER_OPTION_PREFIX /* however, if there is an option in the LTWRAPPER_OPTION_PREFIX
namespace, but it is not one of the ones we know about and namespace, but it is not one of the ones we know about and
have already dealt with, above (including dump-script), then have already dealt with, above (inluding dump-script), then
report an error. Otherwise, targets might begin to believe report an error. Otherwise, targets might begin to believe
they are allowed to use options in the LTWRAPPER_OPTION_PREFIX they are allowed to use options in the LTWRAPPER_OPTION_PREFIX
namespace. The first time any user complains about this, we'll namespace. The first time any user complains about this, we'll

View file

@ -1,9 +1,9 @@
#! /bin/sh #! /bin/sh
# Common wrapper for a few potentially missing GNU programs. # Common wrapper for a few potentially missing GNU programs.
scriptversion=2018-03-07.03; # UTC scriptversion=2012-06-26.16; # UTC
# Copyright (C) 1996-2020 Free Software Foundation, Inc. # Copyright (C) 1996-2013 Free Software Foundation, Inc.
# Originally written by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996. # Originally written by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
# This program is free software; you can redistribute it and/or modify # This program is free software; you can redistribute it and/or modify
@ -17,7 +17,7 @@ scriptversion=2018-03-07.03; # UTC
# GNU General Public License for more details. # GNU General Public License for more details.
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
# As a special exception to the GNU General Public License, if you # As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a # distribute this file as part of a program that contains a
@ -101,9 +101,9 @@ else
exit $st exit $st
fi fi
perl_URL=https://www.perl.org/ perl_URL=http://www.perl.org/
flex_URL=https://github.com/westes/flex flex_URL=http://flex.sourceforge.net/
gnu_software_URL=https://www.gnu.org/software gnu_software_URL=http://www.gnu.org/software
program_details () program_details ()
{ {
@ -160,7 +160,7 @@ give_advice ()
;; ;;
autom4te*) autom4te*)
echo "You might have modified some maintainer files that require" echo "You might have modified some maintainer files that require"
echo "the 'autom4te' program to be rebuilt." echo "the 'automa4te' program to be rebuilt."
program_details 'autom4te' program_details 'autom4te'
;; ;;
bison*|yacc*) bison*|yacc*)
@ -207,9 +207,9 @@ give_advice "$1" | sed -e '1s/^/WARNING: /' \
exit $st exit $st
# Local variables: # Local variables:
# eval: (add-hook 'before-save-hook 'time-stamp) # eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion=" # time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-time-zone: "UTC0" # time-stamp-time-zone: "UTC"
# time-stamp-end: "; # UTC" # time-stamp-end: "; # UTC"
# End: # End:

View file

@ -1,7 +1,7 @@
#! /bin/sh #! /bin/sh
# mkinstalldirs --- make directory hierarchy # mkinstalldirs --- make directory hierarchy
scriptversion=2020-07-26.22; # UTC scriptversion=2009-04-28.21; # UTC
# Original author: Noah Friedman <friedman@prep.ai.mit.edu> # Original author: Noah Friedman <friedman@prep.ai.mit.edu>
# Created: 1993-05-16 # Created: 1993-05-16
@ -92,8 +92,6 @@ case $dirmode in
*) *)
if mkdir -m "$dirmode" -p --version . >/dev/null 2>&1 && if mkdir -m "$dirmode" -p --version . >/dev/null 2>&1 &&
test ! -d ./--version; then test ! -d ./--version; then
echo "umask 22"
umask 22
echo "mkdir -m $dirmode -p -- $*" echo "mkdir -m $dirmode -p -- $*"
exec mkdir -m "$dirmode" -p -- "$@" exec mkdir -m "$dirmode" -p -- "$@"
else else
@ -106,9 +104,6 @@ case $dirmode in
;; ;;
esac esac
echo "umask 22"
umask 22
for file for file
do do
case $file in case $file in
@ -137,16 +132,21 @@ do
if test ! -d "$pathcomp"; then if test ! -d "$pathcomp"; then
errstatus=$lasterr errstatus=$lasterr
else
if test ! -z "$dirmode"; then
echo "chmod $dirmode $pathcomp"
lasterr=
chmod "$dirmode" "$pathcomp" || lasterr=$?
if test ! -z "$lasterr"; then
errstatus=$lasterr
fi
fi
fi fi
fi fi
pathcomp=$pathcomp/ pathcomp=$pathcomp/
done done
if test ! -z "$dirmode"; then
echo "chmod $dirmode $file"
chmod "$dirmode" "$file" || errstatus=$?
fi
done done
exit $errstatus exit $errstatus
@ -154,9 +154,9 @@ exit $errstatus
# Local Variables: # Local Variables:
# mode: shell-script # mode: shell-script
# sh-indentation: 2 # sh-indentation: 2
# eval: (add-hook 'before-save-hook 'time-stamp) # eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion=" # time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-time-zone: "UTC0" # time-stamp-time-zone: "UTC"
# time-stamp-end: "; # UTC" # time-stamp-end: "; # UTC"
# End: # End:

View file

@ -0,0 +1,10 @@
#if !defined _Noreturn && __STDC_VERSION__ < 201112
# if (3 <= __GNUC__ || (__GNUC__ == 2 && 8 <= __GNUC_MINOR__) \
|| 0x5110 <= __SUNPRO_C)
# define _Noreturn __attribute__ ((__noreturn__))
# elif 1200 <= _MSC_VER
# define _Noreturn __declspec (noreturn)
# else
# define _Noreturn
# endif
#endif

View file

@ -1,24 +1,24 @@
/* A C macro for declaring that specific arguments must not be NULL. /* A C macro for declaring that specific arguments must not be NULL.
Copyright (C) 2009-2023 Free Software Foundation, Inc. Copyright (C) 2009-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify it This program is free software: you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as published under the terms of the GNU General Public License as published
by the Free Software Foundation; either version 2 of the License, or by the Free Software Foundation; either version 3 of the License, or
(at your option) any later version. (at your option) any later version.
This program is distributed in the hope that it will be useful, This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details. General Public License for more details.
You should have received a copy of the GNU Lesser General Public License You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>. */ along with this program. If not, see <http://www.gnu.org/licenses/>. */
/* _GL_ARG_NONNULL((n,...,m)) tells the compiler and static analyzer tools /* _GL_ARG_NONNULL((n,...,m)) tells the compiler and static analyzer tools
that the values passed as arguments n, ..., m must be non-NULL pointers. that the values passed as arguments n, ..., m must be non-NULL pointers.
n = 1 stands for the first argument, n = 2 for the second argument etc. */ n = 1 stands for the first argument, n = 2 for the second argument etc. */
#ifndef _GL_ARG_NONNULL #ifndef _GL_ARG_NONNULL
# if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 3) || defined __clang__ # if (__GNUC__ == 3 && __GNUC_MINOR__ >= 3) || __GNUC__ > 3
# define _GL_ARG_NONNULL(params) __attribute__ ((__nonnull__ params)) # define _GL_ARG_NONNULL(params) __attribute__ ((__nonnull__ params))
# else # else
# define _GL_ARG_NONNULL(params) # define _GL_ARG_NONNULL(params)

View file

@ -1,31 +1,22 @@
/* C++ compatible function declaration macros. /* C++ compatible function declaration macros.
Copyright (C) 2010-2023 Free Software Foundation, Inc. Copyright (C) 2010-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify it This program is free software: you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as published under the terms of the GNU General Public License as published
by the Free Software Foundation; either version 2 of the License, or by the Free Software Foundation; either version 3 of the License, or
(at your option) any later version. (at your option) any later version.
This program is distributed in the hope that it will be useful, This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details. General Public License for more details.
You should have received a copy of the GNU Lesser General Public License You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>. */ along with this program. If not, see <http://www.gnu.org/licenses/>. */
#ifndef _GL_CXXDEFS_H #ifndef _GL_CXXDEFS_H
#define _GL_CXXDEFS_H #define _GL_CXXDEFS_H
/* Begin/end the GNULIB_NAMESPACE namespace. */
#if defined __cplusplus && defined GNULIB_NAMESPACE
# define _GL_BEGIN_NAMESPACE namespace GNULIB_NAMESPACE {
# define _GL_END_NAMESPACE }
#else
# define _GL_BEGIN_NAMESPACE
# define _GL_END_NAMESPACE
#endif
/* The three most frequent use cases of these macros are: /* The three most frequent use cases of these macros are:
* For providing a substitute for a function that is missing on some * For providing a substitute for a function that is missing on some
@ -120,25 +111,14 @@
that redirects to rpl_func, if GNULIB_NAMESPACE is defined. that redirects to rpl_func, if GNULIB_NAMESPACE is defined.
Example: Example:
_GL_CXXALIAS_RPL (open, int, (const char *filename, int flags, ...)); _GL_CXXALIAS_RPL (open, int, (const char *filename, int flags, ...));
*/
Wrapping rpl_func in an object with an inline conversion operator
avoids a reference to rpl_func unless GNULIB_NAMESPACE::func is
actually used in the program. */
#define _GL_CXXALIAS_RPL(func,rettype,parameters) \ #define _GL_CXXALIAS_RPL(func,rettype,parameters) \
_GL_CXXALIAS_RPL_1 (func, rpl_##func, rettype, parameters) _GL_CXXALIAS_RPL_1 (func, rpl_##func, rettype, parameters)
#if defined __cplusplus && defined GNULIB_NAMESPACE #if defined __cplusplus && defined GNULIB_NAMESPACE
# define _GL_CXXALIAS_RPL_1(func,rpl_func,rettype,parameters) \ # define _GL_CXXALIAS_RPL_1(func,rpl_func,rettype,parameters) \
namespace GNULIB_NAMESPACE \ namespace GNULIB_NAMESPACE \
{ \ { \
static const struct _gl_ ## func ## _wrapper \ rettype (*const func) parameters = ::rpl_func; \
{ \
typedef rettype (*type) parameters; \
\
inline operator type () const \
{ \
return ::rpl_func; \
} \
} func = {}; \
} \ } \
_GL_EXTERN_C int _gl_cxxalias_dummy _GL_EXTERN_C int _gl_cxxalias_dummy
#else #else
@ -146,16 +126,6 @@
_GL_EXTERN_C int _gl_cxxalias_dummy _GL_EXTERN_C int _gl_cxxalias_dummy
#endif #endif
/* _GL_CXXALIAS_MDA (func, rettype, parameters);
is to be used when func is a Microsoft deprecated alias, on native Windows.
It declares a C++ alias called GNULIB_NAMESPACE::func
that redirects to _func, if GNULIB_NAMESPACE is defined.
Example:
_GL_CXXALIAS_MDA (open, int, (const char *filename, int flags, ...));
*/
#define _GL_CXXALIAS_MDA(func,rettype,parameters) \
_GL_CXXALIAS_RPL_1 (func, _##func, rettype, parameters)
/* _GL_CXXALIAS_RPL_CAST_1 (func, rpl_func, rettype, parameters); /* _GL_CXXALIAS_RPL_CAST_1 (func, rpl_func, rettype, parameters);
is like _GL_CXXALIAS_RPL_1 (func, rpl_func, rettype, parameters); is like _GL_CXXALIAS_RPL_1 (func, rpl_func, rettype, parameters);
except that the C function rpl_func may have a slightly different except that the C function rpl_func may have a slightly different
@ -165,15 +135,8 @@
# define _GL_CXXALIAS_RPL_CAST_1(func,rpl_func,rettype,parameters) \ # define _GL_CXXALIAS_RPL_CAST_1(func,rpl_func,rettype,parameters) \
namespace GNULIB_NAMESPACE \ namespace GNULIB_NAMESPACE \
{ \ { \
static const struct _gl_ ## func ## _wrapper \ rettype (*const func) parameters = \
{ \ reinterpret_cast<rettype(*)parameters>(::rpl_func); \
typedef rettype (*type) parameters; \
\
inline operator type () const \
{ \
return reinterpret_cast<type>(::rpl_func); \
} \
} func = {}; \
} \ } \
_GL_EXTERN_C int _gl_cxxalias_dummy _GL_EXTERN_C int _gl_cxxalias_dummy
#else #else
@ -181,38 +144,25 @@
_GL_EXTERN_C int _gl_cxxalias_dummy _GL_EXTERN_C int _gl_cxxalias_dummy
#endif #endif
/* _GL_CXXALIAS_MDA_CAST (func, rettype, parameters);
is like _GL_CXXALIAS_MDA (func, rettype, parameters);
except that the C function func may have a slightly different declaration.
A cast is used to silence the "invalid conversion" error that would
otherwise occur. */
#define _GL_CXXALIAS_MDA_CAST(func,rettype,parameters) \
_GL_CXXALIAS_RPL_CAST_1 (func, _##func, rettype, parameters)
/* _GL_CXXALIAS_SYS (func, rettype, parameters); /* _GL_CXXALIAS_SYS (func, rettype, parameters);
declares a C++ alias called GNULIB_NAMESPACE::func declares a C++ alias called GNULIB_NAMESPACE::func
that redirects to the system provided function func, if GNULIB_NAMESPACE that redirects to the system provided function func, if GNULIB_NAMESPACE
is defined. is defined.
Example: Example:
_GL_CXXALIAS_SYS (open, int, (const char *filename, int flags, ...)); _GL_CXXALIAS_SYS (open, int, (const char *filename, int flags, ...));
*/
Wrapping func in an object with an inline conversion operator
avoids a reference to func unless GNULIB_NAMESPACE::func is
actually used in the program. */
#if defined __cplusplus && defined GNULIB_NAMESPACE #if defined __cplusplus && defined GNULIB_NAMESPACE
# define _GL_CXXALIAS_SYS(func,rettype,parameters) \ /* If we were to write
namespace GNULIB_NAMESPACE \ rettype (*const func) parameters = ::func;
{ \ like above in _GL_CXXALIAS_RPL_1, the compiler could optimize calls
static const struct _gl_ ## func ## _wrapper \ better (remove an indirection through a 'static' pointer variable),
{ \ but then the _GL_CXXALIASWARN macro below would cause a warning not only
typedef rettype (*type) parameters; \ for uses of ::func but also for uses of GNULIB_NAMESPACE::func. */
\ # define _GL_CXXALIAS_SYS(func,rettype,parameters) \
inline operator type () const \ namespace GNULIB_NAMESPACE \
{ \ { \
return ::func; \ static rettype (*func) parameters = ::func; \
} \ } \
} func = {}; \
} \
_GL_EXTERN_C int _gl_cxxalias_dummy _GL_EXTERN_C int _gl_cxxalias_dummy
#else #else
# define _GL_CXXALIAS_SYS(func,rettype,parameters) \ # define _GL_CXXALIAS_SYS(func,rettype,parameters) \
@ -228,15 +178,8 @@
# define _GL_CXXALIAS_SYS_CAST(func,rettype,parameters) \ # define _GL_CXXALIAS_SYS_CAST(func,rettype,parameters) \
namespace GNULIB_NAMESPACE \ namespace GNULIB_NAMESPACE \
{ \ { \
static const struct _gl_ ## func ## _wrapper \ static rettype (*func) parameters = \
{ \ reinterpret_cast<rettype(*)parameters>(::func); \
typedef rettype (*type) parameters; \
\
inline operator type () const \
{ \
return reinterpret_cast<type>(::func); \
} \
} func = {}; \
} \ } \
_GL_EXTERN_C int _gl_cxxalias_dummy _GL_EXTERN_C int _gl_cxxalias_dummy
#else #else
@ -259,15 +202,9 @@
# define _GL_CXXALIAS_SYS_CAST2(func,rettype,parameters,rettype2,parameters2) \ # define _GL_CXXALIAS_SYS_CAST2(func,rettype,parameters,rettype2,parameters2) \
namespace GNULIB_NAMESPACE \ namespace GNULIB_NAMESPACE \
{ \ { \
static const struct _gl_ ## func ## _wrapper \ static rettype (*func) parameters = \
{ \ reinterpret_cast<rettype(*)parameters>( \
typedef rettype (*type) parameters; \ (rettype2(*)parameters2)(::func)); \
\
inline operator type () const \
{ \
return reinterpret_cast<type>((rettype2 (*) parameters2)(::func)); \
} \
} func = {}; \
} \ } \
_GL_EXTERN_C int _gl_cxxalias_dummy _GL_EXTERN_C int _gl_cxxalias_dummy
#else #else
@ -284,9 +221,9 @@
_GL_CXXALIASWARN_1 (func, GNULIB_NAMESPACE) _GL_CXXALIASWARN_1 (func, GNULIB_NAMESPACE)
# define _GL_CXXALIASWARN_1(func,namespace) \ # define _GL_CXXALIASWARN_1(func,namespace) \
_GL_CXXALIASWARN_2 (func, namespace) _GL_CXXALIASWARN_2 (func, namespace)
/* To work around GCC bug <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=43881>, /* To work around GCC bug <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43881>,
we enable the warning only when not optimizing. */ we enable the warning only when not optimizing. */
# if !(defined __GNUC__ && !defined __clang__ && __OPTIMIZE__) # if !__OPTIMIZE__
# define _GL_CXXALIASWARN_2(func,namespace) \ # define _GL_CXXALIASWARN_2(func,namespace) \
_GL_WARN_ON_USE (func, \ _GL_WARN_ON_USE (func, \
"The symbol ::" #func " refers to the system function. " \ "The symbol ::" #func " refers to the system function. " \
@ -312,13 +249,16 @@
GNULIB_NAMESPACE) GNULIB_NAMESPACE)
# define _GL_CXXALIASWARN1_1(func,rettype,parameters_and_attributes,namespace) \ # define _GL_CXXALIASWARN1_1(func,rettype,parameters_and_attributes,namespace) \
_GL_CXXALIASWARN1_2 (func, rettype, parameters_and_attributes, namespace) _GL_CXXALIASWARN1_2 (func, rettype, parameters_and_attributes, namespace)
/* To work around GCC bug <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=43881>, /* To work around GCC bug <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43881>,
we enable the warning only when not optimizing. */ we enable the warning only when not optimizing. */
# if !(defined __GNUC__ && !defined __clang__ && __OPTIMIZE__) # if !__OPTIMIZE__
# define _GL_CXXALIASWARN1_2(func,rettype,parameters_and_attributes,namespace) \ # define _GL_CXXALIASWARN1_2(func,rettype,parameters_and_attributes,namespace) \
_GL_WARN_ON_USE_CXX (func, rettype, rettype, parameters_and_attributes, \ _GL_WARN_ON_USE_CXX (func, rettype, parameters_and_attributes, \
"The symbol ::" #func " refers to the system function. " \ "The symbol ::" #func " refers to the system function. " \
"Use " #namespace "::" #func " instead.") "Use " #namespace "::" #func " instead.")
# elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING
# define _GL_CXXALIASWARN1_2(func,rettype,parameters_and_attributes,namespace) \
extern __typeof__ (func) func
# else # else
# define _GL_CXXALIASWARN1_2(func,rettype,parameters_and_attributes,namespace) \ # define _GL_CXXALIASWARN1_2(func,rettype,parameters_and_attributes,namespace) \
_GL_EXTERN_C int _gl_cxxalias_dummy _GL_EXTERN_C int _gl_cxxalias_dummy

View file

@ -0,0 +1,109 @@
/* A C macro for emitting warnings if a function is used.
Copyright (C) 2010-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published
by the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */
/* _GL_WARN_ON_USE (function, "literal string") issues a declaration
for FUNCTION which will then trigger a compiler warning containing
the text of "literal string" anywhere that function is called, if
supported by the compiler. If the compiler does not support this
feature, the macro expands to an unused extern declaration.
This macro is useful for marking a function as a potential
portability trap, with the intent that "literal string" include
instructions on the replacement function that should be used
instead. However, one of the reasons that a function is a
portability trap is if it has the wrong signature. Declaring
FUNCTION with a different signature in C is a compilation error, so
this macro must use the same type as any existing declaration so
that programs that avoid the problematic FUNCTION do not fail to
compile merely because they included a header that poisoned the
function. But this implies that _GL_WARN_ON_USE is only safe to
use if FUNCTION is known to already have a declaration. Use of
this macro implies that there must not be any other macro hiding
the declaration of FUNCTION; but undefining FUNCTION first is part
of the poisoning process anyway (although for symbols that are
provided only via a macro, the result is a compilation error rather
than a warning containing "literal string"). Also note that in
C++, it is only safe to use if FUNCTION has no overloads.
For an example, it is possible to poison 'getline' by:
- adding a call to gl_WARN_ON_USE_PREPARE([[#include <stdio.h>]],
[getline]) in configure.ac, which potentially defines
HAVE_RAW_DECL_GETLINE
- adding this code to a header that wraps the system <stdio.h>:
#undef getline
#if HAVE_RAW_DECL_GETLINE
_GL_WARN_ON_USE (getline, "getline is required by POSIX 2008, but"
"not universally present; use the gnulib module getline");
#endif
It is not possible to directly poison global variables. But it is
possible to write a wrapper accessor function, and poison that
(less common usage, like &environ, will cause a compilation error
rather than issue the nice warning, but the end result of informing
the developer about their portability problem is still achieved):
#if HAVE_RAW_DECL_ENVIRON
static char ***rpl_environ (void) { return &environ; }
_GL_WARN_ON_USE (rpl_environ, "environ is not always properly declared");
# undef environ
# define environ (*rpl_environ ())
#endif
*/
#ifndef _GL_WARN_ON_USE
# if 4 < __GNUC__ || (__GNUC__ == 4 && 3 <= __GNUC_MINOR__)
/* A compiler attribute is available in gcc versions 4.3.0 and later. */
# define _GL_WARN_ON_USE(function, message) \
extern __typeof__ (function) function __attribute__ ((__warning__ (message)))
# elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING
/* Verify the existence of the function. */
# define _GL_WARN_ON_USE(function, message) \
extern __typeof__ (function) function
# else /* Unsupported. */
# define _GL_WARN_ON_USE(function, message) \
_GL_WARN_EXTERN_C int _gl_warn_on_use
# endif
#endif
/* _GL_WARN_ON_USE_CXX (function, rettype, parameters_and_attributes, "string")
is like _GL_WARN_ON_USE (function, "string"), except that the function is
declared with the given prototype, consisting of return type, parameters,
and attributes.
This variant is useful for overloaded functions in C++. _GL_WARN_ON_USE does
not work in this case. */
#ifndef _GL_WARN_ON_USE_CXX
# if 4 < __GNUC__ || (__GNUC__ == 4 && 3 <= __GNUC_MINOR__)
# define _GL_WARN_ON_USE_CXX(function,rettype,parameters_and_attributes,msg) \
extern rettype function parameters_and_attributes \
__attribute__ ((__warning__ (msg)))
# elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING
/* Verify the existence of the function. */
# define _GL_WARN_ON_USE_CXX(function,rettype,parameters_and_attributes,msg) \
extern rettype function parameters_and_attributes
# else /* Unsupported. */
# define _GL_WARN_ON_USE_CXX(function,rettype,parameters_and_attributes,msg) \
_GL_WARN_EXTERN_C int _gl_warn_on_use
# endif
#endif
/* _GL_WARN_EXTERN_C declaration;
performs the declaration with C linkage. */
#ifndef _GL_WARN_EXTERN_C
# if defined __cplusplus
# define _GL_WARN_EXTERN_C extern "C"
# else
# define _GL_WARN_EXTERN_C extern
# endif
#endif

View file

@ -1,9 +1,9 @@
#! /bin/sh #! /bin/sh
# test-driver - basic testsuite driver script. # test-driver - basic testsuite driver script.
scriptversion=2018-03-07.03; # UTC scriptversion=2012-06-27.10; # UTC
# Copyright (C) 2011-2020 Free Software Foundation, Inc. # Copyright (C) 2011-2013 Free Software Foundation, Inc.
# #
# This program is free software; you can redistribute it and/or modify # This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
@ -16,7 +16,7 @@ scriptversion=2018-03-07.03; # UTC
# GNU General Public License for more details. # GNU General Public License for more details.
# #
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
# As a special exception to the GNU General Public License, if you # As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a # distribute this file as part of a program that contains a
@ -42,16 +42,15 @@ print_usage ()
{ {
cat <<END cat <<END
Usage: Usage:
test-driver --test-name NAME --log-file PATH --trs-file PATH test-driver --test-name=NAME --log-file=PATH --trs-file=PATH
[--expect-failure {yes|no}] [--color-tests {yes|no}] [--expect-failure={yes|no}] [--color-tests={yes|no}]
[--enable-hard-errors {yes|no}] [--] [--enable-hard-errors={yes|no}] [--] TEST-SCRIPT
TEST-SCRIPT [TEST-SCRIPT-ARGUMENTS]
The '--test-name', '--log-file' and '--trs-file' options are mandatory. The '--test-name', '--log-file' and '--trs-file' options are mandatory.
See the GNU Automake documentation for information.
END END
} }
# TODO: better error handling in option parsing (in particular, ensure
# TODO: $log_file, $trs_file and $test_name are defined).
test_name= # Used for reporting. test_name= # Used for reporting.
log_file= # Where to save the output of the test script. log_file= # Where to save the output of the test script.
trs_file= # Where to save the metadata of the test run. trs_file= # Where to save the metadata of the test run.
@ -70,23 +69,10 @@ while test $# -gt 0; do
--enable-hard-errors) enable_hard_errors=$2; shift;; --enable-hard-errors) enable_hard_errors=$2; shift;;
--) shift; break;; --) shift; break;;
-*) usage_error "invalid option: '$1'";; -*) usage_error "invalid option: '$1'";;
*) break;;
esac esac
shift shift
done done
missing_opts=
test x"$test_name" = x && missing_opts="$missing_opts --test-name"
test x"$log_file" = x && missing_opts="$missing_opts --log-file"
test x"$trs_file" = x && missing_opts="$missing_opts --trs-file"
if test x"$missing_opts" != x; then
usage_error "the following mandatory options are missing:$missing_opts"
fi
if test $# -eq 0; then
usage_error "missing argument"
fi
if test $color_tests = yes; then if test $color_tests = yes; then
# Keep this in sync with 'lib/am/check.am:$(am__tty_colors)'. # Keep this in sync with 'lib/am/check.am:$(am__tty_colors)'.
red='' # Red. red='' # Red.
@ -108,14 +94,11 @@ trap "st=143; $do_exit" 15
# Test script is run here. # Test script is run here.
"$@" >$log_file 2>&1 "$@" >$log_file 2>&1
estatus=$? estatus=$?
if test $enable_hard_errors = no && test $estatus -eq 99; then if test $enable_hard_errors = no && test $estatus -eq 99; then
tweaked_estatus=1 estatus=1
else
tweaked_estatus=$estatus
fi fi
case $tweaked_estatus:$expect_failure in case $estatus:$expect_failure in
0:yes) col=$red res=XPASS recheck=yes gcopy=yes;; 0:yes) col=$red res=XPASS recheck=yes gcopy=yes;;
0:*) col=$grn res=PASS recheck=no gcopy=no;; 0:*) col=$grn res=PASS recheck=no gcopy=no;;
77:*) col=$blu res=SKIP recheck=no gcopy=yes;; 77:*) col=$blu res=SKIP recheck=no gcopy=yes;;
@ -124,12 +107,6 @@ case $tweaked_estatus:$expect_failure in
*:*) col=$red res=FAIL recheck=yes gcopy=yes;; *:*) col=$red res=FAIL recheck=yes gcopy=yes;;
esac esac
# Report the test outcome and exit status in the logs, so that one can
# know whether the test passed or failed simply by looking at the '.log'
# file, without the need of also peaking into the corresponding '.trs'
# file (automake bug#11814).
echo "$res $test_name (exit status: $estatus)" >>$log_file
# Report outcome to console. # Report outcome to console.
echo "${col}${res}${std}: $test_name" echo "${col}${res}${std}: $test_name"
@ -142,9 +119,9 @@ echo ":copy-in-global-log: $gcopy" >> $trs_file
# Local Variables: # Local Variables:
# mode: shell-script # mode: shell-script
# sh-indentation: 2 # sh-indentation: 2
# eval: (add-hook 'before-save-hook 'time-stamp) # eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion=" # time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-time-zone: "UTC0" # time-stamp-time-zone: "UTC"
# time-stamp-end: "; # UTC" # time-stamp-end: "; # UTC"
# End: # End:

File diff suppressed because it is too large Load diff

View file

@ -30,7 +30,7 @@ int main(){
/* pipefd[1] is for writing to the pipe. We want the output /* pipefd[1] is for writing to the pipe. We want the output
* that used to go to the standard output (file descriptor 1) * that used to go to the standard output (file descriptor 1)
* to be written to the pipe. The following command does this, * to be written to the pipe. The following command does this,
* creating a new file descriptor 1 (the lowest available) * creating a new file descripter 1 (the lowest available)
* that writes where pipefd[1] goes. */ * that writes where pipefd[1] goes. */
dup (pipefd[1]); /* points pipefd at file descriptor */ dup (pipefd[1]); /* points pipefd at file descriptor */
/* the child isn't going to read from the pipe, so /* the child isn't going to read from the pipe, so

31781
configure vendored

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

15
debian/.gitlab-ci.yml vendored
View file

@ -1,15 +0,0 @@
---
include:
- https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/recipes/debian.yml
variables:
RELEASE: 'unstable'
SALSA_CI_DISABLE_APTLY: 0
SALSA_CI_DISABLE_AUTOPKGTEST: 0
SALSA_CI_DISABLE_BLHC: 1
SALSA_CI_DISABLE_LINTIAN: 0
SALSA_CI_DISABLE_PIUPARTS: 0
SALSA_CI_DISABLE_REPROTEST: 0
SALSA_CI_DISABLE_BUILD_PACKAGE_ALL: 0
SALSA_CI_DISABLE_BUILD_PACKAGE_ANY: 0
SALSA_CI_ENABLE_BUILD_PACKAGE_TWICE: 1

102
debian/NEWS vendored
View file

@ -1,102 +0,0 @@
monitoring-plugins (2.1.2-3) unstable; urgency=medium
We switched again over to another radius library. This time radcli
to fix #822337. This makes it again necessary to migrate you radius
credentials from /etc/radiusclient/servers to /etc/radcli/servers
in case you are using check_radius.
Please install the new dependencies in this case if you don't install
Recommends by default. Those dependencies can be found in
/usr/share/doc/monitoring-plugins-standard/README.Debian.plugins.
-- Jan Wagner <waja@cyconet.org> Wed, 02 Nov 2016 23:59:10 +0100
monitoring-plugins (2.0-1) unstable; urgency=medium
This software project was renamed by upstream. For more information
see https://www.monitoring-plugins.org/news/new-project-name.html.
We renamed the package(s) also, but we kept the directories
/etc/nagios-plugins/ and /usr/lib/nagios/plugins for now, cause
many other packages rely on them. Maybe we have to change that later.
We decided to set capabilities(7) for check_icmp and check_dhcp, when
possible. This means libcap2-bin needs to be installed and the
kernel (in our case this is linux) needs to support that. This
makes it possible to avoid suid bit set for those plugins.
We even switched over to freeradius-client to fix #721621. This makes
it necessary to migrate you radius credentials from
/etc/radiusclient-ng/servers to /etc/radiusclient/servers in case you
are using check_radius.
check_snmp is now evaluating negative values properly, but it might be
returning CRITICALs where it used to return OK and was ignored, if a
negative value turns out to actually be a valid value.
If negative values are valid, this can be worked around, by adding "~:"
to the warning/critical threshold : 100 -> ~:100
-- Jan Wagner <waja@cyconet.org> Mon, 23 Jun 2014 08:34:45 +0200
nagios-plugins (1.4.15-6) unstable; urgency=low
Created a nagios-plugins-common package which ships files possibly needed
also by other plugin packages and should installed as dependency
Removed check_bgpstate and check_linux_raid, which are shiped in upstream
contrib/ and are not maintained there anymore. If you need a replacement
for check_linux_raid, have a look into check_raid from
nagios-plugins-contrib package.
-- Jan Wagner <waja@cyconet.org> Tue, 15 May 2012 13:41:33 +0200
nagios-plugins (1.4.15-4) unstable; urgency=low
Moved linked libraries against nagios-plugins-standard from Depends to
Recommends and mention them in
/usr/share/doc/nagios-plugins-standard/README.Debian.plugins.
-- Jan Wagner <waja@cyconet.org> Sun, 13 Feb 2011 22:51:54 +0100
nagios-plugins (1.4.14-2) unstable; urgency=low
Moved check_mailq to nagios-plugins-standard, because it requires the mailq
binary and it is shipped with postfix, exim, sendmail and qmail, which is
the plugin is intended to check.
-- Jan Wagner <waja@cyconet.org> Thu, 11 Mar 2010 13:24:23 +0100
nagios-plugins (1.4.14-1) unstable; urgency=low
If your are using check_linux_raid.pl or check_bgpstate (respectively the
check_snmp_bgpstate), they will be removed sometime in the future, as
upstream will remove they shortly ... so be prepared!
The qstat package is not a dependency any more but recommanded. As Recommands
installed by default these days, there shouldn't much users effected. If you
have turned off the installation of recommanded packages and you are using
check_quake, please install the qstat package again.
For all non linux archs, we depend on inetutils-ping, since now. As actually
inetutils-ping doesn't support a deadlines option (see #565137), it will be
likely, that you will get plugin timeouts from check_ping. As iputils-ping
is not an option here, due it's not available, you have to deal with that.
The suggestion would be in this case, to migrate over to check_icmp.
-- Jan Wagner <waja@cyconet.org> Sun, 20 Dec 2009 20:01:07 +0100
nagios-plugins (1.4.12-1) unstable; urgency=low
Removed default port of check_radius definition in favor of the ability to
specify it as 4th argument.
-- Jan Wagner <waja@cyconet.org> Fri, 06 Jun 2008 12:25:59 +0200
nagios-plugins (1.4.5-3) unstable; urgency=low
ifstatus.cfg has changed. Now you have to provide a community in the first
argument ($ARG1$). Description and IfIndex moved to second argument ($ARG2$).
E.g.: use "check_ifstatus!public" instead of "check_ifstatus" as
check_command!
-- Jan Wagner <waja@cyconet.org> Thu, 11 Jan 2007 14:56:47 +0100

95
debian/README.Debian vendored
View file

@ -1,95 +0,0 @@
================================================================================
monitoring-plugins for Debian
================================================================================
below is a collection of various bits of information that might be
helpful to users of monitoring-plugins in debian.
================================================================================
plugins and dependencies
================================================================================
some plugins require additional libraries and programs. to prevent you from
having to install dozens of further packages that you don't actually need,
there is no strict dependency on some of them.
see /usr/share/doc/monitoring-plugins-standard/README.Debian.plugins for details.
================================================================================
how to use plugins
================================================================================
- you can invoke the plugins with "--help" to get help how to use the plugins
- a short usage can be usually obtained by just running the check without
arguments
- if you need more information, how to use plugins, have a look at:
http://www.monitoring-plugins.org/doc/faq/index.html
================================================================================
predefined / shipped check commands
================================================================================
we are shipping predefined checks, to make users life easier. at the first look,
this seems really nice. providing checks for every special case (see check_http)
may end up in a unsupportable state of our package.
for example one check is testing a service on a special port, where we provide
a check command. after some time, this service changes its port after some time,
cause the developers of this software decided for any reason to do so. changing
the port in the existing check will break installations, which are using the
service with the old behavior. new users will getting confused of not using the
correct port for their shiny service.
cause of this conflict, we try to provide flexible checks, which may look
complicated at first, but giving the user more power.
a good example for using such a general approach is check_nt / check_nscp. some
3rd party sources (guessing they can traced back to one) are suggesting using
two args in some way like:
define command {
command_name check_nt
command_line $USER1$/check_nt -H $HOSTADDRESS$ -p 12489 -v $ARG1$ $ARG2$
}
beside specifying not the port, we are not using "$ARG2$", cause all arguments
of "$ARG2$" can just be used in "$ARG1$" without any problem.
this gives you the possibility to use every check in your service definition,
without the problem about changes in your environment. you can easily change
your service definition as soon your environment changes without breaking the
command definition.
================================================================================
different plugin packages and how to avoid installing massive dependencies
================================================================================
if you're frustrated by all the crap being brought in by monitoring-plugins (for
example if you're installing nrpe or nsca on a remote host), try the
monitoring-plugins-basic package.
================================================================================
plugins needing root privilege or capabilities(7) set
================================================================================
the check_dhcp, check_icmp and maybe others plugins require root privileges or
capabilities(7) to run, because of the low-level packet mangling that they
perform. but, in the interest of the "safe default", these plugins will not
be installed with the suid bit set.
if setcap is able set the necessary capabilities, you are fine. if the setcap
binary is not installed or not able to set the capabilities, you need to
either set the capabilities (eg. cap_net_raw+ep) for your own or provide root
privileges. You could go the lazy way and install libcap2-bin and run the
following afterwards:
# /var/lib/dpkg/info/monitoring-plugins-basic.postinst configure
there are two recommended ways about providing root priviles to your plugins
on your system:
- set the suid bit with dpkg-statoverride:
# dpkg-statoverride --update --add root nagios 4750 $plugin
where $plugin is the specific plugin you want to grant such privileges.
- use sudo to grant the permissions and modify your plugin config
of these two, the first is recommended because it's the simplest and
has the same effect as the second.

View file

@ -1,61 +0,0 @@
monitoring-plugins on Debian
============================
Some plugins require additional libraries and programs. To prevent you from
having to install dozens of further packages that you don't actually need,
there is no strict dependency on some of them. Rather, they are listed as
recommendations and suggests.
apt-get(8) and aptitude(8) will install recommended packages automatically by
default. If you did not disable this feature you will have everything in place
to operate all plugins when installing the "monitoring-plugins-standard"
package, beside the packages listed as suggests.
Else you have to install missing dependencies manually (see the section "Plugin
dependencies" below).
Plugin dependencies:
--------------------
check_bgpstate:
* libnet-snmp-perl
* whois
check_breeze:
* snmp
check_disk_smb:
* smbclient
check_dns:
* dnsutils
check_fping:
* fping
check_game:
* qstat
check_ifoperstatus:
* libnet-snmp-perl
check_ifstatus:
* libnet-snmp-perl
check_mailq:
* sendmail binary of qmail or one of the following packages
- postfix
- sendmail-bin
- exim4-daemon-heavy
- exim4-daemon-light
* sudo
check_oracle:
* procps
check_rpc:
* rpcbind
check_wave:
* snmp
@PLUGIN_DEPS@

24
debian/README.source vendored
View file

@ -1,24 +0,0 @@
We use dpatch for patch handling inside our package(s). Please see
/usr/share/doc/dpatch/README.source.gz (if you have installed dpatch) for
documentation about dpatch.
Since Version 1.5.0 we are repackaging the upstream tarball to stop providing:
* perlmods/
Therefor you should use the script debian/bin/repack.sh:
repack.sh <upstream-tarball>
This can also be automatically done with 'uscan --force-download'
Creating a sufficiant tarball from latest git snapshot:
* Install 'autoconf automake' beside the build-depends
* Following RELEASING[1] you need
- cd /tmp/monitoringlug
- tools/setup
- ./configure
- make dist
[1] https://github.com/monitoring-plugins/monitoring-plugins/blob/master/doc/RELEASING

View file

@ -1,106 +0,0 @@
#! /usr/bin/perl
#
# collectd - gen_plugin_deps.pl
# Copyright (C) 2007 Sebastian Harl
#
# This program is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by the
# Free Software Foundation; only version 2 of the License is applicable.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
#
# Author:
# Sebastian Harl <sh at tokkee.org>
use strict;
use warnings;
# actual not needed
my $extra_deps = {
# sensors => [ 'lm-sensors' ],
};
my $infile = "debian/README.Debian.plugins.in";
my $outfile = "debian/README.Debian.plugins";
my ($ifile, $ofile);
if (! open($ifile, "<", $infile)) {
print STDERR "Could not open file '$infile': $!\n";
exit 1;
}
if (! open($ofile, ">", $outfile)) {
print STDERR "Could not open file '$outfile': $!\n";
exit 1;
}
while (my $line = <$ifile>) {
if ($line !~ m/^\@PLUGIN_DEPS\@\n$/) {
print $ofile $line;
}
else {
print_plugin_deps($ofile);
}
}
close($ofile);
close($ifile);
sub print_plugin_deps
{
my $fh = shift;
my $pdir = undef;
my $i = 0;
my $plugindir = "debian/monitoring-plugins-standard/usr/lib/nagios/plugins/";
if (! opendir($pdir, $plugindir)) {
print STDERR "Could not open directory '$plugindir': $!\n";
exit 1;
}
foreach my $dirent (sort readdir($pdir)) {
# if ($dirent !~ m/^(\w+).so$/) {
if ($dirent !~ m/^check_(\w+)$/) {
next;
}
my $name = $1;
my $deps = `dpkg-shlibdeps -O $plugindir/$dirent`;
chomp $deps;
$deps =~ s/^shlibs:Depends=//;
my @deps = grep !m/^libc6\b/, split m/, /, $deps;
if (scalar @deps) {
if (0 < $i) {
print $fh "\n";
}
++$i;
print $fh "check_$name:\n";
if (defined $extra_deps->{$name}) {
unshift @deps, @{$extra_deps->{$name}};
}
foreach my $dep (@deps) {
print $fh " * $dep\n";
}
}
}
}
# vim: set tw=78 sw=4 ts=4 noexpandtab :

39
debian/bin/repack.sh vendored
View file

@ -1,39 +0,0 @@
#!/bin/bash
# Borrowed from Raphael Geissert's Debian PHP repack script.
set -e
if [ ! -f "$3" ] && [ ! -f "$1" ]; then
echo "This script must be run via uscan or by manually specifying the tarball" >&2
exit 1
fi
tarball=
[ -f "$3" ] && tarball="$3"
[ -z "$tarball" -a -f "$1" ] && tarball="$1"
tarball="$(readlink -f "$tarball")"
tdir="$(mktemp -d)"
trap '[ ! -d "$tdir" ] || rm -r "$tdir"' EXIT
tar -xzf $tarball -C $tdir
cp -a "$tarball" "$tarball.orig"
distdir="$(basename $(ls -d $tdir/*))"
srcdir="$tdir/$distdir"
#echo "Adjusting $srcdir/configure"
sed -i 's/perlmods\/Makefile\ //' $srcdir/configure
sed -i '/perlmods\/Makefile/d' $srcdir/configure
#echo "Adjusting $srcdir/configure.in"
[ -f $srcdir/configure.in ] && sed -i '/perlmods\/Makefile/d' $srcdir/configure.in
#echo "Adjusting $srcdir/configure.am"
[ -f $srcdir/configure.ac ] && sed -i '/perlmods\/Makefile/d' $srcdir/configure.ac
#echo "Adjusting $srcdir/Makefile*"
sed -i 's/perlmods\ //' $srcdir/Makefile*
#echo "Removing $srcdir/perlmods/
rm -rf $srcdir/perlmods/
tar -cof "${tarball%.*}" -C $tdir/ $distdir
gzip -f9 "${tarball%.*}"

1762
debian/changelog vendored

File diff suppressed because it is too large Load diff

112
debian/control vendored
View file

@ -1,112 +0,0 @@
Source: monitoring-plugins
Section: net
Priority: optional
Maintainer: Debian Nagios Maintainer Group <pkg-nagios-devel@lists.alioth.debian.org>
Uploaders: Jan Wagner <waja@cyconet.org>, Alexander Wirt <formorer@debian.org>
Build-Depends: debhelper-compat (= 13),
libcurl4-openssl-dev | libcurl4-nss-dev | libcurl4-gnutls-dev,
libdbi-dev,
libradcli-dev | libfreeradius-client-dev,
libkrb5-dev,
libldap2-dev,
default-libmysqlclient-dev,
libnet-snmp-perl,
libpq-dev,
libssl-dev,
liburiparser-dev,
mawk | awk,
perl,
procps
Standards-Version: 4.6.2
Vcs-Browser: https://salsa.debian.org/nagios-team/monitoring-plugins
Vcs-Git: https://salsa.debian.org/nagios-team/monitoring-plugins.git
Homepage: https://www.monitoring-plugins.org
Rules-Requires-Root: binary-targets
Package: monitoring-plugins
Architecture: all
Depends: monitoring-plugins-basic, monitoring-plugins-standard, ${misc:Depends}
Suggests: icinga2, nagios-plugins-contrib
Provides: nagios-plugins
Description: Plugins for nagios compatible monitoring systems (metapackage)
Plugins for nagios compatible monitoring systems like Naemon and Icinga.
.
This metapackage will install the entire suite of plugins for nagios
compatible monitoring systems.
If you are installing monitoring plugins on a remote "satellite" server
(using nagios-nrpe-server or nsca), you may be interested in the
monitoring-plugins-basic package.
Package: monitoring-plugins-common
Architecture: any
Depends: ucf, ${misc:Depends}, ${shlibs:Depends}
Suggests: icinga2
Description: Common files for plugins for nagios compatible monitoring
Common files for plugins for nagios compatible monitoring systems like Naemon
and Icinga.
.
This package contains common files which maybe needed for plugins.
Package: monitoring-plugins-basic
Architecture: any
Depends: inetutils-ping [kfreebsd-any hurd-any],
iputils-ping [linux-any],
monitoring-plugins-common,
procps,
ucf,
${misc:Depends},
${shlibs:Depends}
Recommends: libcap2-bin [linux-any]
Suggests: icinga2
Provides: nagios-plugins-basic
Description: Plugins for nagios compatible monitoring systems (basic)
Plugins for nagios compatible monitoring systems like Naemon and Icinga. It
contains the following plugins:
.
check_apt, check_by_ssh, check_clamd, check_cluster,
check_dhcp, check_disk, check_dummy, check_file_age,
check_ftp, check_host, check_http, check_icmp,
check_ide_smart, check_imap, check_ircd, check_jabber,
check_load, check_log, check_mrtg, check_mrtgtraf,
check_nagios, check_nntp, check_nntps, check_nt,
check_ntp, check_ntp_peer, check_ntp_time, check_nwstat,
check_overcr, check_ping, check_pop, check_procs,
check_real, check_rta_multi, check_sensors, check_simap,
check_smtp, check_spop, check_ssh, check_ssmtp,
check_swap, check_tcp, check_time, check_udp,
check_ups, check_users
.
This package provides a basic set of plugins with minimal external
dependencies. It is not likely to be useful by itself unless you are
using a remote "satellite" system (using nagios-nrpe-server, check_by_ssh or
nsca, for example).
Package: monitoring-plugins-standard
Architecture: any
Depends: monitoring-plugins-basic, ucf, ${misc:Depends}, ${shlibs:Depends}
Recommends: bind9-host | host,
dnsutils,
libnet-snmp-perl,
rpcbind,
smbclient,
snmp,
sudo,
${shlibs:Recommends}
Suggests: fping,
icinga2,
postfix | sendmail-bin | exim4-daemon-heavy | exim4-daemon-light,
qstat
Provides: nagios-plugins-standard
Description: Plugins for nagios compatible monitoring systems (standard)
Plugins for nagios compatible monitoring systems like Naemon and Icinga. It
contains the following plugins:
.
check_breeze, check_dbi, check_dig, check_disk_smb, check_dns,
check_flexlm, check_fping, check_game, check_hpjd, check_ifoperstatus,
check_ifstatus, check_ldap, check_ldaps, check_mailq, check_mysql,
check_mysql_query, check_oracle, check_pgsql, check_radius, check_rpc,
check_snmp, check_wave
.
This package provides the suite of plugins that are most likely to be
useful on a central monitoring host. Some scripts need more packages installed
to work, which is implemented as recommends.

290
debian/copyright vendored
View file

@ -1,290 +0,0 @@
This package was debianized by Guido Trotter <ultrotter@debian.org> on
Sun, 1 Feb 2004 10:05:51 +0100.
It was downloaded from https://www.monitoring-plugins.org/
Upstream Authors: Felipe Gustavo de Almeida
Ian Cass
Robert Dale
Karl DeBisschop
Ragnar Hojland Espinosa
Ethan Galstad
Bo Kersey
Pedro Leite
Richard Mayhew
Remi Paulmier
Didi Rieder
Tom Shields
Sean Finney
Jeremy T Bouse
Peter Bray
Gavin Carr
Matthias Eble
Subhendu Ghosh
Thomas Guyot-Sionnest
Stanley Hopcroft
Matthew Kent
Harper Mann
Benoit Mortier
Sven Nierlein
Nathan Vonnahme
Ton Voon
Holger Weiss
Michael Wirtgen
Copyright:
Copyright (C) 1985, 2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This package is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
On Debian systems, the complete text of the GNU General
Public License version 3 can be found in "/usr/share/common-licenses/GPL-3".
From upstream README:
You can redistribute and/or modify this software under the terms of the GNU
General Public License as published by the Free Software Foundation; either
version 3 of the License, or (at your option) any later version; with the
additional exemption that compiling, linking, and/or using OpenSSL is
allowed.
This software is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE.
Files with different Licenses:
build-aux/config.guess
build-aux/config.sub
build-aux/ltmain.sh
plugins-scripts/check_mailq.pl
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
USA.
gl/alloca.in.h
gl/as*
gl/base64*
gl/basename.c
gl/cloexec.c
gl/config.charset
gl/creat-safer.c
gl/c-strtod.c
gl/d*
gl/e*
gl/fcntl*
gl/fd-safer.c
gl/float.*
gl/float
gl/floorf.c
gl/fsusage*
gl/full*
gl/gai_strerror.c
gl/getaddrinfo*
gl/gethostname.c
gl/getloadavg.c
gl/getopt*
gl/gettext.h
gl/inet_ntop*
gl/intprops.h
gl/localcharset*
gl/malloc.c
gl/math.in.h
gl/mountlist*
gl/netinet_in.in.h
gl/printf-*
gl/ref-*
gl/safe-*
gl/size_max.h
gl/snprintf.c
gl/stdbool.in.h
gl/stdint.in.h
gl/stdio.in.h
gl/stdlib.in.h
gl/strerror.c
gl/string.in.h
gl/stripslash.c
gl/strndup.c
gl/strnlen.c
gl/sys_socket.in.h
gl/unistd.in.h
gl/v*
gl/wchar.in.h
gl/wctype.in.h
gl/xalloc.h
gl/xalloc-die.c
gl/xmalloc.c
gl/xsize.h
gl/xstrndup*
gl/xsize.h
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published
by the Free Software Foundation; either version 3, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
You should have received a copy of the GNU General Public
License along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
USA.
gl/reg*
gl/mktime.c
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public
License as published by the Free Software Foundation; either
version 3 of the License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
You should have received a copy of the GNU General Public
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>.
Makefile.in
gl/Makefile.in
gl/m4/*.m4
lib/Makefile.in
lib/tests/Makefile.in
plugins/Makefile.in
plugins-root/Makefile.in
plugins-scripts/Makefile.in
tap/Makefile.in
This Makefile.in is free software; the Free Software Foundation
gives unlimited permission to copy and/or distribute it,
with or without modifications, as long as this notice is preserved.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY, to the extent permitted by law; without
even the implied warranty of MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
aclocal.m4
This file is free software; the Free Software Foundation
gives unlimited permission to copy and/or distribute it,
with or without modifications, as long as this notice is preserved.
gl/m4/00gnulib.m4
gl/m4/a*.m4
gl/m4/b*.m4
gl/m4/c*.m4
gl/m4/d*.m4
gl/m4/e*.m4
gl/m4/f*.m4
gl/m4/getaddrinfo.m4
gl/m4/gethostname.m4
gl/m4/getloadavg.m4
gl/m4/getopt.m4
gl/m4/gettext.m4
gl/m4/glibc21.m4
gl/m4/gnulib-common.m4
gl/m4/h*.m4
gl/m4/i*.m4
gl/m4/l*.m4
gl/m4/m*.m4
gl/m4/n*.m4
gl/m4/off_t.m4
gl/m4/p*.m4
gl/m4/r*.m4
gl/m4/s*.m4
gl/m4/t*.m4
gl/m4/u*.m4
gl/m4/v*.m4
gl/m4/w*.m4
gl/m4/x*.m4
m4/np_mysqlclient.m4
This file is free software; the Free Software Foundation
gives unlimited permission to copy and/or distribute it,
with or without modifications, as long as this notice is preserved.
build-aux/install-sh
Copyright (C) 1994 X Consortium
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
deal in the Software without restriction, including without limitation the
rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
sell copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Except as contained in this notice, the name of the X Consortium shall not
be used in advertising or otherwise to promote the sale, use or other deal-
ings in this Software without prior written authorization from the X Consor-
tium.
FSF changes to this file are in the public domain.
tap/tap.*
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
SUCH DAMAGE.
On Debian systems, the complete text of the GNU General
Public License can be found in `/usr/share/common-licenses/GPL'.

1
debian/dirs vendored
View file

@ -1 +0,0 @@
etc/nagios-plugins/config

14
debian/functions vendored
View file

@ -1,14 +0,0 @@
# functions for use by nagios plugins maintainer scripts
npconfdir=/etc/nagios-plugins/config
# we now register all n-p config files via ucf.
register_cfgs(){
# do this in a subshell so we don't screw up cwd
(
for file in ${templdir}/*cfg; do
ucf ${templdir}/$(basename $file) ${npconfdir}/$(basename $file)
done
);
}

3
debian/gbp.conf vendored
View file

@ -1,3 +0,0 @@
[buildpackage]
postbuild = lintian --info --display-info --display-experimental --pedantic --show-overrides $GBP_CHANGES_FILE
pbuilder-options = --source-only-changes

View file

@ -1,3 +0,0 @@
etc/nagios-plugins/config
usr/lib/nagios/plugins
usr/share/monitoring-plugins/templates-basic

View file

@ -1,7 +0,0 @@
usr/share/doc/monitoring-plugins-common/NEWS.Debian.gz usr/share/doc/monitoring-plugins-basic/NEWS.Debian.gz
usr/share/doc/monitoring-plugins-common/NEWS.gz usr/share/doc/monitoring-plugins-basic/NEWS.gz
usr/share/doc/monitoring-plugins-common/README usr/share/doc/monitoring-plugins-basic/README
usr/share/doc/monitoring-plugins-common/README.Debian.gz usr/share/doc/monitoring-plugins-basic/README.Debian.gz
usr/share/doc/monitoring-plugins-common/REQUIREMENTS usr/share/doc/monitoring-plugins-basic/REQUIREMENTS
usr/share/doc/monitoring-plugins-common/SUPPORT usr/share/doc/monitoring-plugins-basic/SUPPORT
usr/share/doc/monitoring-plugins-common/changelog.gz usr/share/doc/monitoring-plugins-basic/changelog.gz

View file

@ -1,29 +0,0 @@
#!/bin/sh
set -e
templdir=/usr/share/monitoring-plugins/templates-basic
. /usr/share/monitoring-plugins/dpkg/functions
plugindir=/usr/lib/nagios/plugins/
if [ "$1" = "configure" ]; then
register_cfgs $2
# If we have setcap is installed, try setting cap_net_raw+ep,
# which allows us to make our binaries working without the
# setuid bit
if command -v setcap > /dev/null; then
if setcap "cap_net_raw+ep" ${plugindir}/check_icmp "cap_net_bind_service=+ep cap_net_raw=+ep" ${plugindir}/check_dhcp; then
echo "Setcap for check_icmp and check_dhcp worked!"
else
echo "Setcap for check_icmp and check_dhcp failed." >&2
echo "Please refer README.Debian.gz for using plugins needing" >&2
echo "higher privileges!" >&2
fi
else
echo "Setcap is not installed, please refer README.Debian.gz for using" >&2
echo "plugins needing higher privileges!" >&2
fi
fi
#DEBHELPER#

View file

@ -1,19 +0,0 @@
#!/bin/sh
set -e
BASIC_PLUGINS="@BASIC_PLUGINS@"
if [ "$1" = "purge" ]; then
if which ucf >/dev/null 2>&1; then
have_ucf="yes"
fi
for f in $BASIC_PLUGINS; do
rm -f /etc/nagios-plugins/config/${f}.cfg
if [ "$have_ucf" = "yes" ]; then
ucf --purge /etc/nagios-plugins/config/${f}.cfg
fi
done
fi
#DEBHELPER#

View file

@ -1 +0,0 @@
usr/lib/nagios/plugins

View file

@ -1,7 +0,0 @@
FAQ
NEWS
README
REQUIREMENTS
SUPPORT
debian/NEWS
debian/README.Debian

View file

@ -1 +0,0 @@

View file

@ -1,3 +0,0 @@
etc/nagios-plugins/config
usr/lib/nagios/plugins
usr/share/monitoring-plugins/templates-standard

View file

@ -1 +0,0 @@
debian/README.Debian.plugins

View file

@ -1,8 +0,0 @@
usr/share/doc/monitoring-plugins-common/FAQ usr/share/doc/monitoring-plugins-standard/FAQ
usr/share/doc/monitoring-plugins-common/NEWS.Debian.gz usr/share/doc/monitoring-plugins-standard/NEWS.Debian.gz
usr/share/doc/monitoring-plugins-common/NEWS.gz usr/share/doc/monitoring-plugins-standard/NEWS.gz
usr/share/doc/monitoring-plugins-common/README usr/share/doc/monitoring-plugins-standard/README
usr/share/doc/monitoring-plugins-common/README.Debian.gz usr/share/doc/monitoring-plugins-standard/README.Debian.gz
usr/share/doc/monitoring-plugins-common/REQUIREMENTS usr/share/doc/monitoring-plugins-standard/REQUIREMENTS
usr/share/doc/monitoring-plugins-common/SUPPORT usr/share/doc/monitoring-plugins-standard/SUPPORT
usr/share/doc/monitoring-plugins-common/changelog.gz usr/share/doc/monitoring-plugins-standard/changelog.gz

View file

@ -1,12 +0,0 @@
#!/bin/sh
set -e
. /usr/share/monitoring-plugins/dpkg/functions
templdir=/usr/share/monitoring-plugins/templates-standard
if [ "$1" = "configure" ]; then
register_cfgs $2
fi
#DEBHELPER#

View file

@ -1,19 +0,0 @@
#!/bin/sh
set -e
STD_PLUGINS="@STD_PLUGINS@"
if [ "$1" = "purge" ]; then
if which ucf >/dev/null 2>&1; then
have_ucf="yes"
fi
for f in $STD_PLUGINS; do
rm -f /etc/nagios-plugins/config/${f}.cfg
if [ "$have_ucf" = "yes" ]; then
ucf --purge /etc/nagios-plugins/config/${f}.cfg
fi
done
fi
#DEBHELPER#

View file

@ -1,9 +0,0 @@
usr/share/doc/monitoring-plugins-common/FAQ usr/share/doc/monitoring-plugins/FAQ
usr/share/doc/monitoring-plugins-common/NEWS.Debian.gz usr/share/doc/monitoring-plugins/NEWS.Debian.gz
usr/share/doc/monitoring-plugins-common/NEWS.gz usr/share/doc/monitoring-plugins/NEWS.gz
usr/share/doc/monitoring-plugins-common/README usr/share/doc/monitoring-plugins/README
usr/share/doc/monitoring-plugins-common/README.Debian.gz usr/share/doc/monitoring-plugins/README.Debian.gz
usr/share/doc/monitoring-plugins-common/REQUIREMENTS usr/share/doc/monitoring-plugins/REQUIREMENTS
usr/share/doc/monitoring-plugins-common/SUPPORT usr/share/doc/monitoring-plugins/SUPPORT
usr/share/doc/monitoring-plugins-common/changelog.gz usr/share/doc/monitoring-plugins/changelog.gz
usr/share/doc/monitoring-plugins-standard/README.Debian.plugins usr/share/doc/monitoring-plugins/README.Debian.plugins

View file

@ -1,30 +0,0 @@
## 02_check_icmp_links by Jan Wagner <waja@cyconet.org>
##
## DP: Create symlinks for check_icmp to provide default values for some situations
diff -urNad nagios-plugins-1.4.14~/plugins-root/Makefile.am nagios-plugins-1.4.14/plugins-root/Makefile.am
--- nagios-plugins-1.4.14~/plugins-root/Makefile.am 2008-11-30 22:23:18.000000000 +0100
+++ nagios-plugins-1.4.14/plugins-root/Makefile.am 2010-01-10 20:39:03.000000000 +0100
@@ -71,7 +71,8 @@
else \
echo "WARNING: insufficient access; not installing setuid plugins"; \
echo "NOTE: to install setuid plugins, run 'make install-root' as root"; \
- fi
+ fi ; \
+ if [ -x $(DESTDIR)$(libexecdir)/check_icmp ] ; then rm -f $(DESTDIR)$(libexecdir)/check_host $(DESTDIR)$(libexecdir)/check_rta_multi ; ln -s check_icmp $(DESTDIR)$(libexecdir)/check_host ; ln -s check_icmp $(DESTDIR)$(libexecdir)/check_rta_multi ; fi
# /* Author Coreutils team sub-citation */
diff -urNad nagios-plugins-1.4.14~/plugins-root/Makefile.in nagios-plugins-1.4.14/plugins-root/Makefile.in
--- nagios-plugins-1.4.14~/plugins-root/Makefile.in 2009-09-16 10:37:59.000000000 +0200
+++ nagios-plugins-1.4.14/plugins-root/Makefile.in 2010-01-10 20:39:13.000000000 +0100
@@ -1162,7 +1162,8 @@
else \
echo "WARNING: insufficient access; not installing setuid plugins"; \
echo "NOTE: to install setuid plugins, run 'make install-root' as root"; \
- fi
+ fi ; \
+ if [ -x $(DESTDIR)$(libexecdir)/check_icmp ] ; then rm -f $(DESTDIR)$(libexecdir)/check_host $(DESTDIR)$(libexecdir)/check_rta_multi ; ln -s check_icmp $(DESTDIR)$(libexecdir)/check_host ; ln -s check_icmp $(DESTDIR)$(libexecdir)/check_rta_multi ; fi
clean-local:
rm -f NP-VERSION-FILE

View file

@ -1,8 +0,0 @@
--- a/plugins-scripts/check_disk_smb.pl
+++ b/plugins-scripts/check_disk_smb.pl
@@ -1,4 +1,5 @@
#!@PERL@ -w
+# nagios: -epn
#
#
# check_disk.pl <host> <share> <user> <pass> [warn] [critical] [port]

View file

@ -1,4 +0,0 @@
02_check_icmp_links
03_epn
# commited upstream
# feature patches

View file

@ -1,12 +0,0 @@
# 'check_apt' command definition
define command{
command_name check_apt
command_line /usr/lib/nagios/plugins/check_apt
}
# 'check_apt_distupgrade' command definition
define command{
command_name check_apt_distupgrade
command_line /usr/lib/nagios/plugins/check_apt -d
}

View file

@ -1,5 +0,0 @@
# 'check_breeze' command definition
define command {
command_name check_breeze
command_line /usr/lib/nagios/plugins/check_breeze -H '$HOSTADDRESS$' -w '$ARG1$' -c '$ARG2$'
}

View file

@ -1,111 +0,0 @@
# 'check_curl_http' command definition
define command{
command_name check_curl_http
command_line /usr/lib/nagios/plugins/check_curl -H '$HOSTADDRESS$' -I '$HOSTADDRESS$' '$ARG1$'
}
# 'check_curl_httpname' command definition
define command{
command_name check_curl_httpname
command_line /usr/lib/nagios/plugins/check_curl -H '$HOSTNAME$' -I '$HOSTADDRESS$' '$ARG1$'
}
# 'check_curl_http2' command definition
define command{
command_name check_curl_http2
command_line /usr/lib/nagios/plugins/check_curl -H '$ARG1$' -I '$HOSTADDRESS$' -w '$ARG2$' -c '$ARG3$' '$ARG4$'
}
# 'check_curl_squid' command definition
define command{
command_name check_curl_squid
command_line /usr/lib/nagios/plugins/check_curl -H '$HOSTADDRESS$' -p '$ARG1$' -u '$ARG2$'
}
# 'check_curl_https' command definition
define command{
command_name check_curl_https
command_line /usr/lib/nagios/plugins/check_curl --ssl -H '$HOSTADDRESS$' -I '$HOSTADDRESS$' '$ARG1$'
}
# 'check_curl_https_httpname' command definition
define command{
command_name check_curl_https_hostname
command_line /usr/lib/nagios/plugins/check_curl --ssl -H '$HOSTNAME$' -I '$HOSTADDRESS$' '$ARG1$'
}
# 'check_curl_https_auth' command definition
define command{
command_name check_curl_https_auth
command_line /usr/lib/nagios/plugins/check_curl --ssl -H '$HOSTADDRESS$' -I '$HOSTADDRESS$' -a '$ARG1$' '$ARG2$'
}
# 'check_curl_https_auth_hostname' command definition
define command{
command_name check_curl_https_auth_hostname
command_line /usr/lib/nagios/plugins/check_curl --ssl -H '$HOSTNAME$' -I '$HOSTADDRESS$' -a '$ARG1$' '$ARG2$'
}
# 'check_curl_cups' command definition
define command{
command_name check_curl_cups
command_line /usr/lib/nagios/plugins/check_curl -I '$HOSTADDRESS$' -p 631 '$ARG1$'
}
####
# use these checks, if you want to test IPv4 connectivity on IPv6 enabled systems
####
# 'check_curl_http_4' command definition
define command{
command_name check_curl_http_4
command_line /usr/lib/nagios/plugins/check_curl -H '$HOSTADDRESS$' -I '$HOSTADDRESS$' -4 '$ARG1$'
}
# 'check_curl_httpname_4' command definition
define command{
command_name check_curl_httpname_4
command_line /usr/lib/nagios/plugins/check_curl -H '$HOSTNAME$' -I '$HOSTADDRESS$' -4 '$ARG1$'
}
# 'check_curl_http2_4' command definition
define command{
command_name check_curl_http2_4
command_line /usr/lib/nagios/plugins/check_curl -H '$ARG1$' -I '$HOSTADDRESS$' -w '$ARG2$' -c '$ARG3$' -4 '$ARG4$'
}
# 'check_curl_squid_4' command definition
define command{
command_name check_curl_squid_4
command_line /usr/lib/nagios/plugins/check_curl -H '$HOSTADDRESS$' -p '$ARG1$' -u '$ARG2$' -4
}
# 'check_curl_https_4' command definition
define command{
command_name check_curl_https_4
command_line /usr/lib/nagios/plugins/check_curl --ssl -H '$HOSTADDRESS$' -I '$HOSTADDRESS$' -4 '$ARG1$'
}
# 'check_curls_https_hostname_4' command definition
define command{
command_name check_curl_https_hostname_4
command_line /usr/lib/nagios/plugins/check_curl --ssl -H '$HOSTNAME$' -I '$HOSTADDRESS$' -4 '$ARG1$'
}
# 'check_curl_https_auth_4' command definition
define command{
command_name check_curl_https_auth_4
command_line /usr/lib/nagios/plugins/check_curl --ssl -H '$HOSTADDRESS$' -I '$HOSTADDRESS$' -a '$ARG1$' -4 '$ARG2$'
}
# 'check_curl_https_auth_hostname_4' command definition
define command{
command_name check_curl_https_auth_hostname_4
command_line /usr/lib/nagios/plugins/check_curl --ssl -H '$HOSTNAME' -I '$HOSTADDRESS$' -a '$ARG1$' -4 '$ARG2$'
}
# 'check_curl_cups_4' command definition
define command{
command_name check_curl_cups_4
command_line /usr/lib/nagios/plugins/check_curl -I '$HOSTADDRESS$' -p 631 -4 '$ARG1$'
}

View file

@ -1,15 +0,0 @@
# note: these plugins require root privilege. see README.Debian for
# more information on how it is recommended that you do this.
# 'check_dhcp' command definition
define command{
command_name check_dhcp
command_line /usr/lib/nagios/plugins/check_dhcp -s '$HOSTADDRESS$' '$ARG1$'
}
# 'check_dhcp_interface' command definition
define command{
command_name check_dhcp_interface
command_line /usr/lib/nagios/plugins/check_dhcp -s '$HOSTADDRESS$' -i '$ARG1$' '$ARG2$'
}

View file

@ -1,54 +0,0 @@
# 'check_disk_smb' command definition
define command{
command_name check_disk_smb
command_line /usr/lib/nagios/plugins/check_disk_smb -H '$ARG1$' -s '$ARG2$'
}
# 'check_disk_smb_workgroup' command definition
define command{
command_name check_disk_smb_workgroup
command_line /usr/lib/nagios/plugins/check_disk_smb -H '$ARG1$' -s '$ARG2$' -W '$ARG3$'
}
# 'check_disk_smb_host' command definition
define command{
command_name check_disk_smb_host
command_line /usr/lib/nagios/plugins/check_disk_smb -a '$HOSTADDRESS$' -H '$ARG1$' -s '$ARG2$'
}
# 'check_disk_smb_workgroup_host' command definition
define command{
command_name check_disk_smb_workgroup_host
command_line /usr/lib/nagios/plugins/check_disk_smb -a '$HOSTADDRESS$' -H '$ARG1$' -s '$ARG2$' -W '$ARG3$'
}
# 'check_disk_smb_user' command definition
define command{
command_name check_disk_smb_user
command_line /usr/lib/nagios/plugins/check_disk_smb -H '$ARG1$' -s '$ARG2$' -u '$ARG3$' -p '$ARG4$' -w '$ARG5$' -c '$ARG6$'
}
# 'check_disk_smb_workgroup_user' command definition
define command{
command_name check_disk_smb_workgroup_user
command_line /usr/lib/nagios/plugins/check_disk_smb -H '$ARG1$' -s '$ARG2$' -W '$ARG3$' -u '$ARG4$' -p '$ARG5$'
}
# 'check_disk_smb_host_user' command definition
define command{
command_name check_disk_smb_host_user
command_line /usr/lib/nagios/plugins/check_disk_smb -a '$HOSTADDRESS$' -H '$ARG1$' -s '$ARG2$' -u '$ARG3$' -p '$ARG4$'
}
# 'check_disk_smb_workgroup_host_user' command definition
define command{
command_name check_disk_smb_workgroup_host_user
command_line /usr/lib/nagios/plugins/check_disk_smb -a '$HOSTADDRESS$' -H '$ARG1$' -s '$ARG2$' -W '$ARG3$' -u '$ARG4$' -p '$ARG5$'
}

View file

@ -1,27 +0,0 @@
# 'check_disk' command definition
define command{
command_name check_disk
command_line /usr/lib/nagios/plugins/check_disk -w '$ARG1$' -c '$ARG2$' -e -p '$ARG3$'
}
# 'check_all_disks' command definition
define command{
command_name check_all_disks
command_line /usr/lib/nagios/plugins/check_disk -w '$ARG1$' -c '$ARG2$' -e
}
# 'ssh_disk' command definition
define command{
command_name ssh_disk
command_line /usr/lib/nagios/plugins/check_by_ssh -H '$HOSTADDRESS$' -C "/usr/lib/nagios/plugins/check_disk -w '$ARG1$' -c '$ARG2$' -e -p '$ARG3$'"
}
####
# use these checks, if you want to test IPv4 connectivity on IPv6 enabled systems
####
# 'ssh_disk_4' command definition
define command{
command_name ssh_disk_4
command_line /usr/lib/nagios/plugins/check_by_ssh -H '$HOSTADDRESS$' -C "/usr/lib/nagios/plugins/check_disk -w '$ARG1$' -c '$ARG2$' -e -p '$ARG3$'" -4
}

View file

@ -1,11 +0,0 @@
# 'check_dns' command definition
define command{
command_name check_dns
command_line /usr/lib/nagios/plugins/check_dns -H www.google.com -s '$HOSTADDRESS$' '$ARG1$'
}
# 'check_dig' command definition
define command{
command_name check_dig
command_line /usr/lib/nagios/plugins/check_dig -H '$HOSTADDRESS$' -l '$ARG1$' '$ARG2$'
}

View file

@ -1,29 +0,0 @@
# return-ok definition
define command {
command_name return-ok
command_line /usr/lib/nagios/plugins/check_dummy 0
}
# return-warning definition
define command {
command_name return-warning
command_line /usr/lib/nagios/plugins/check_dummy 1
}
# return-critical definition
define command {
command_name return-critical
command_line /usr/lib/nagios/plugins/check_dummy 2
}
# return-unknown definition
define command {
command_name return-unknown
command_line /usr/lib/nagios/plugins/check_dummy 3
}
# return-numeric definition
define command {
command_name return-numeric
command_line /usr/lib/nagios/plugins/check_dummy '$ARG1$'
}

View file

@ -1,6 +0,0 @@
# 'check_flexlm' command definition
define command{
command_name check_flexlm
command_line /usr/lib/nagios/plugins/check_flexlm -F '$ARG1$'
}

View file

@ -1,5 +0,0 @@
# 'check-fast-alive' command definition
define command{
command_name check-fast-alive
command_line /usr/lib/nagios/plugins/check_fping -H '$HOSTADDRESS$'
}

View file

@ -1,15 +0,0 @@
# 'check_ftp' command definition
define command{
command_name check_ftp
command_line /usr/lib/nagios/plugins/check_ftp -H '$HOSTADDRESS$' '$ARG1$'
}
####
# use these checks, if you want to test IPv4 connectivity on IPv6 enabled systems
####
# 'check_ftp_4' command definition
define command{
command_name check_ftp_4
command_line /usr/lib/nagios/plugins/check_ftp -H '$HOSTADDRESS$' -4 '$ARG1$'
}

View file

@ -1,14 +0,0 @@
# 'check_quake' command definition
define command{
command_name check_quake
command_line /usr/lib/nagios/plugins/check_game qs '$HOSTADDRESS$'
}
# 'check_unreal' command definition
define command{
command_name check_unreal
command_line /usr/lib/nagios/plugins/check_game uns '$HOSTADDRESS$' -P '$ARG1$' -p 8
}

View file

@ -1,6 +0,0 @@
# 'check_hpjd' command definition
define command{
command_name check_hpjd
command_line /usr/lib/nagios/plugins/check_hpjd -H '$HOSTADDRESS$' -C public
}

View file

@ -1,111 +0,0 @@
# 'check_http' command definition
define command{
command_name check_http
command_line /usr/lib/nagios/plugins/check_http -H '$HOSTADDRESS$' -I '$HOSTADDRESS$' '$ARG1$'
}
# 'check_http_hostname' command definition
define command{
command_name check_httpname
command_line /usr/lib/nagios/plugins/check_http -H '$HOSTNAME$' -I '$HOSTADDRESS$' '$ARG1$'
}
# 'check_http2' command definition
define command{
command_name check_http2
command_line /usr/lib/nagios/plugins/check_http -H '$ARG1$' -I '$HOSTADDRESS$' -w '$ARG2$' -c '$ARG3$' '$ARG4$'
}
# 'check_squid' command definition
define command{
command_name check_squid
command_line /usr/lib/nagios/plugins/check_http -H '$HOSTADDRESS$' -p '$ARG1$' -u '$ARG2$'
}
# 'check_https' command definition
define command{
command_name check_https
command_line /usr/lib/nagios/plugins/check_http --ssl -H '$HOSTADDRESS$' -I '$HOSTADDRESS$' '$ARG1$'
}
# 'check_https_hostname' command definition
define command{
command_name check_https_hostname
command_line /usr/lib/nagios/plugins/check_http --ssl -H '$HOSTNAME$' -I '$HOSTADDRESS$' '$ARG1$'
}
# 'check_https_auth' command definition
define command{
command_name check_https_auth
command_line /usr/lib/nagios/plugins/check_http --ssl -H '$HOSTADDRESS$' -I '$HOSTADDRESS$' -a '$ARG1$' '$ARG2$'
}
# 'check_https_auth_hostname' command definition
define command{
command_name check_https_auth_hostname
command_line /usr/lib/nagios/plugins/check_http --ssl -H '$HOSTNAME$' -I '$HOSTADDRESS$' -a '$ARG1$' '$ARG2$'
}
# 'check_cups' command definition
define command{
command_name check_cups
command_line /usr/lib/nagios/plugins/check_http -I '$HOSTADDRESS$' -p 631 '$ARG1$'
}
####
# use these checks, if you want to test IPv4 connectivity on IPv6 enabled systems
####
# 'check_http_4' command definition
define command{
command_name check_http_4
command_line /usr/lib/nagios/plugins/check_http -H '$HOSTADDRESS$' -I '$HOSTADDRESS$' -4 '$ARG1$'
}
# 'check_http_hostname_4' command definition
define command{
command_name check_httpname_4
command_line /usr/lib/nagios/plugins/check_http -H '$HOSTNAME$' -I '$HOSTADDRESS$' -4 '$ARG1$'
}
# 'check_http2_4' command definition
define command{
command_name check_http2_4
command_line /usr/lib/nagios/plugins/check_http -H '$ARG1$' -I '$HOSTADDRESS$' -w '$ARG2$' -c '$ARG3$' -4 '$ARG4$'
}
# 'check_squid_4' command definition
define command{
command_name check_squid_4
command_line /usr/lib/nagios/plugins/check_http -H '$HOSTADDRESS$' -p '$ARG1$' -u '$ARG2$' -4
}
# 'check_https_4' command definition
define command{
command_name check_https_4
command_line /usr/lib/nagios/plugins/check_http --ssl -H '$HOSTADDRESS$' -I '$HOSTADDRESS$' -4 '$ARG1$'
}
# 'check_https_hostname_4' command definition
define command{
command_name check_https_hostname_4
command_line /usr/lib/nagios/plugins/check_http --ssl -H '$HOSTNAME$' -I '$HOSTADDRESS$' -4 '$ARG1$'
}
# 'check_https_auth_4' command definition
define command{
command_name check_https_auth_4
command_line /usr/lib/nagios/plugins/check_http --ssl -H '$HOSTADDRESS$' -I '$HOSTADDRESS$' -a '$ARG1$' -4 '$ARG2$'
}
# 'check_https_auth_hostname_4' command definition
define command{
command_name check_https_auth_hostname_4
command_line /usr/lib/nagios/plugins/check_http --ssl -H '$HOSTNAME' -I '$HOSTADDRESS$' -a '$ARG1$' -4 '$ARG2$'
}
# 'check_cups_4' command definition
define command{
command_name check_cups_4
command_line /usr/lib/nagios/plugins/check_http -I '$HOSTADDRESS$' -p 631 -4 '$ARG1$'
}

View file

@ -1,23 +0,0 @@
# 'check_ifstatus' command definition
define command{
command_name check_ifstatus
command_line /usr/lib/nagios/plugins/check_ifstatus -H '$HOSTADDRESS$' -C '$ARG1$'
}
# 'check_ifstatus_exclude' command definition
define command{
command_name check_ifstatus_exclude
command_line /usr/lib/nagios/plugins/check_ifstatus -H '$HOSTADDRESS$' -C '$ARG1$' -x '$ARG2$'
}
# 'check_ifoperstatus_ifindex' command definition
define command{
command_name check_ifoperstatus_ifindex
command_line /usr/lib/nagios/plugins/check_ifoperstatus -H '$HOSTADDRESS$' -C '$ARG1$' -k '$ARG2$'
}
# 'check_ifoperstatus_ifdescr' command definition
define command{
command_name check_ifoperstatus_ifdescr
command_line /usr/lib/nagios/plugins/check_ifoperstatus -H '$HOSTADDRESS$' -C '$ARG1$' -d '$ARG2$'
}

View file

@ -1,12 +0,0 @@
# 'check_jabber_4' command definition
define command{
command_name check_jabber_4
command_line /usr/lib/nagios/plugins/check_jabber -4 -H $HOSTADDRESS$ '$ARG1$'
}
# 'check_jabber' command definition
define command{
command_name check_jabber
command_line /usr/lib/nagios/plugins/check_jabber -H $HOSTADDRESS$ '$ARG1$'
}

View file

@ -1,31 +0,0 @@
# 'check_ldap' command definition
define command{
command_name check_ldap
command_line /usr/lib/nagios/plugins/check_ldap -H '$HOSTADDRESS$' -b '$ARG1$'
}
# 'check_ldaps' command definition
# This was using 'check_ldaps' in the past which used port 389 and starttls
# mechanism on default, keeped for backward compatibility
define command{
command_name check_ldaps
command_line /usr/lib/nagios/plugins/check_ldap -H '$HOSTADDRESS$' -T -b '$ARG1$'
}
####
# use these checks, if you want to test IPv4 connectivity on IPv6 enabled systems
####
# 'check_ldap_4' command definition
define command{
command_name check_ldap_4
command_line /usr/lib/nagios/plugins/check_ldap -H '$HOSTADDRESS$' -b '$ARG1$' -4
}
# 'check_ldaps_4' command definition
# This was using 'check_ldaps' in the past which used port 389 and starttls
# mechanism on default, keeped for backward compatibility
define command{
command_name check_ldaps_4
command_line /usr/lib/nagios/plugins/check_ldap -H '$HOSTADDRESS$' -T -b '$ARG1$' -4
}

View file

@ -1,6 +0,0 @@
# 'check_load' command definition
define command{
command_name check_load
command_line /usr/lib/nagios/plugins/check_load --warning='$ARG1$,$ARG2$,$ARG3$' --critical='$ARG4$,$ARG5$,$ARG6$'
}

View file

@ -1,77 +0,0 @@
# 'check_pop' command definition
define command {
command_name check_pop
command_line /usr/lib/nagios/plugins/check_pop -H '$HOSTADDRESS$' '$ARG1$'
}
# 'check_smtp' command definition
define command {
command_name check_smtp
command_line /usr/lib/nagios/plugins/check_smtp -H '$HOSTADDRESS$' '$ARG1$'
}
# 'check_ssmtp' command definition
define command {
command_name check_ssmtp
command_line /usr/lib/nagios/plugins/check_ssmtp -H '$HOSTADDRESS$' '$ARG1$'
}
# 'check_imap' command definition
define command {
command_name check_imap
command_line /usr/lib/nagios/plugins/check_imap -H '$HOSTADDRESS$' '$ARG1$'
}
# 'check_spop' command definition
define command {
command_name check_spop
command_line /usr/lib/nagios/plugins/check_pop -p 995 -H '$HOSTADDRESS$' -S '$ARG1$'
}
# 'check_simap' command definition
define command {
command_name check_simap
command_line /usr/lib/nagios/plugins/check_imap -p 993 -H '$HOSTADDRESS$' -S '$ARG1$'
}
####
# use these checks, if you want to test IPv4 connectivity on IPv6 enabled systems
####
# 'check_pop_4' command definition
define command {
command_name check_pop_4
command_line /usr/lib/nagios/plugins/check_pop -H '$HOSTADDRESS$' -4 '$ARG1$'
}
# 'check_smtp_4' command definition
define command {
command_name check_smtp_4
command_line /usr/lib/nagios/plugins/check_smtp -H '$HOSTADDRESS$' -4 '$ARG1$'
}
# 'check_ssmtp_4' command definition
define command {
command_name check_ssmtp_4
command_line /usr/lib/nagios/plugins/check_ssmtp -H '$HOSTADDRESS$' -4 '$ARG1$'
}
# 'check_imap_4' command definition
define command {
command_name check_imap_4
command_line /usr/lib/nagios/plugins/check_imap -H '$HOSTADDRESS$' -4 '$ARG1$'
}
# 'check_spop_4' command definition
define command {
command_name check_spop_4
command_line /usr/lib/nagios/plugins/check_pop -p 995 -H '$HOSTADDRESS$' -S -4 '$ARG1$'
}
# 'check_simap_4' command definition
define command {
command_name check_simap_4
command_line /usr/lib/nagios/plugins/check_imap -p 993 -H '$HOSTADDRESS$' -S -4 '$ARG1$'
}

View file

@ -1,24 +0,0 @@
# 'check-mailq' for sendmail
define command {
command_name check_mailq_sendmail
command_line /usr/lib/nagios/plugins/check_mailq -w '$ARG1$' -c '$ARG2$' -M sendmail
}
# 'check-mailq' for postfix
define command {
command_name check_mailq_postfix
command_line /usr/lib/nagios/plugins/check_mailq -w '$ARG1$' -c '$ARG2$' -M postfix
}
# 'check-mailq' for exim
define command {
command_name check_mailq_exim
command_line /usr/lib/nagios/plugins/check_mailq -w '$ARG1$' -c '$ARG2$' -M exim
}
# 'check-mailq' for qmail
define command {
command_name check_mailq_qmail
command_line /usr/lib/nagios/plugins/check_mailq -w '$ARG1$' -c '$ARG2$' -M qmail
}

View file

@ -1,14 +0,0 @@
# 'check_mrtg' command definition
define command{
command_name check_mrtg
command_line /usr/lib/nagios/plugins/check_mrtg '$ARG1$' 10 AVG '$ARG2$' '$ARG3$' '$ARG4$' '$ARG5$' '$ARG6$'
}
# 'traffic_average' command definition
define command{
command_name traffic_average
command_line /usr/lib/nagios/plugins/check_mrtgtraf '$ARG1$' 10 AVG '$ARG2$' '$ARG3$' '$ARG4$' '$ARG5$'
}

View file

@ -1,24 +0,0 @@
# 'check_mysql' command definition
define command{
command_name check_mysql
command_line /usr/lib/nagios/plugins/check_mysql -H '$HOSTADDRESS$' '$ARG1$'
}
# 'check_mysql_cmdlinecred' command definition
define command{
command_name check_mysql_cmdlinecred
command_line /usr/lib/nagios/plugins/check_mysql -H '$HOSTADDRESS$' -u '$ARG1$' -p '$ARG2$' '$ARG3$'
}
# 'check_mysql_database' command definition
define command{
command_name check_mysql_database
command_line /usr/lib/nagios/plugins/check_mysql -d '$ARG3$' -H '$HOSTADDRESS$' -u '$ARG1$' -p '$ARG2$' '$ARG3$'
}
# 'check_mysql_slave' command definition
define command{
command_name check_mysql_slave
command_line /usr/lib/nagios/plugins/check_mysql -H '$HOSTADDRESS$' -u '$ARG1$' -p '$ARG2$' -S '$ARG3$'
}

View file

@ -1,84 +0,0 @@
# 'check_netware_logins' command definition
define command{
command_name check_netware_logins
command_line /usr/lib/nagios/plugins/check_nwstat -H '$HOSTADDRESS$' -v "LOGINS" -w '$ARG1$' -c '$ARG2$'
}
# 'check_nwstat_conns' command definition
define command{
command_name check_nwstat_conns
command_line /usr/lib/nagios/plugins/check_nwstat -H '$HOSTADDRESS$' -v CONNS -w '$ARG1$' -c '$ARG2$'
}
# 'check_netware_1load' command definition
define command{
command_name check_netware_1load
command_line /usr/lib/nagios/plugins/check_nwstat -H '$HOSTADDRESS$' -v "LOAD1" -w 70 -c 90
}
# 'check_netware_5load' command definition
define command{
command_name check_netware_5load
command_line /usr/lib/nagios/plugins/check_nwstat -H '$HOSTADDRESS$' -v "LOAD5" -w 70 -c 90
}
# 'check_netware_15load' command definition
define command{
command_name check_netware_15load
command_line /usr/lib/nagios/plugins/check_nwstat -H '$HOSTADDRESS$' -v "LOAD15" -w 70 -c 90
}
# 'check_nwstat_vol_p' command definition
define command{
command_name check_nwstat_vol_p
command_line /usr/lib/nagios/plugins/check_nwstat -H '$HOSTADDRESS$' -v VPF'$ARG1$' -w '$ARG2$' -c '$ARG3$'
}
# 'check_nwstat_vol_k' command definition
define command{
command_name check_nwstat_vol_k
command_line /usr/lib/nagios/plugins/check_nwstat -H '$HOSTADDRESS$' -v VKF'$ARG1$' -w '$ARG2$' -c '$ARG3$'
}
# 'check_nwstat_ltch' command definition
define command{
command_name check_nwstat_ltch
command_line /usr/lib/nagios/plugins/check_nwstat -H '$HOSTADDRESS$' -v LTCH -w '$ARG1$' -c '$ARG2$'
}
# 'check_nwstat_puprb' command definition
define command{
command_name check_nwstat_puprb
command_line /usr/lib/nagios/plugins/check_nwstat -H '$HOSTADDRESS$' -v PUPRB -w '$ARG1$' -c '$ARG2$'
}
# 'check_nwstat_dsdb' command definition
define command{
command_name check_nwstat_dsdb
command_line /usr/lib/nagios/plugins/check_nwstat -H '$HOSTADDRESS$' -v DSDB
}
# 'check_netware_abend' command definition
define command{
command_name check_netware_abend
command_line /usr/lib/nagios/plugins/check_nwstat -H '$HOSTADDRESS$' -v "ABENDS" -w 10 -c 30
}
# 'check_nwstat_csprocs' command definition
define command{
command_name check_nwstat_csprocs
command_line /usr/lib/nagios/plugins/check_nwstat -H '$HOSTADDRESS$' -v CSPROCS -w '$ARG1$' -c '$ARG2$'
}

View file

@ -1,15 +0,0 @@
# 'check_nntp' command definition
define command{
command_name check_nntp
command_line /usr/lib/nagios/plugins/check_nntp -H '$HOSTADDRESS$' '$ARG1$'
}
####
# use these checks, if you want to test IPv4 connectivity on IPv6 enabled systems
####
# 'check_nntp_4' command definition
define command{
command_name check_nntp_4
command_line /usr/lib/nagios/plugins/check_nntp -H '$HOSTADDRESS$' -4 '$ARG1$'
}

View file

@ -1,15 +0,0 @@
# If you are confused about this command definition, cause you was
# reading other suggestions, please have a look into
# /usr/share/doc/monitoring-plugins/README.Debian
# 'check_nt' command definition
define command {
command_name check_nt
command_line /usr/lib/nagios/plugins/check_nt -H '$HOSTADDRESS$' -v '$ARG1$'
}
# 'check_nscp' command definition
define command {
command_name check_nscp
command_line /usr/lib/nagios/plugins/check_nt -H '$HOSTADDRESS$' -p 12489 -v '$ARG1$'
}

View file

@ -1,17 +0,0 @@
# 'check_ntp' command definition
define command{
command_name check_ntp
command_line /usr/lib/nagios/plugins/check_ntp_peer -H '$HOSTADDRESS$' '$ARG1$'
}
# 'check_ntp_ntpq' command definition
define command{
command_name check_ntp_ntpq
command_line /usr/lib/nagios/plugins/check_ntp_peer -H '$HOSTADDRESS$' -j 10 -k 15 '$ARG1$'
}
# 'check_time' command definition
define command{
command_name check_time
command_line /usr/lib/nagios/plugins/check_time -H '$HOSTADDRESS$' '$ARG1$'
}

View file

@ -1,15 +0,0 @@
# 'check_pgsql' command definition
define command{
command_name check_pgsql
command_line /usr/lib/nagios/plugins/check_pgsql -H '$HOSTADDRESS$' '$ARG1$'
}
####
# use these checks, if you want to test IPv4 connectivity on IPv6 enabled systems
####
# 'check_pgsql_4' command definition
define command{
command_name check_pgsql_4
command_line /usr/lib/nagios/plugins/check_pgsql -H '$HOSTADDRESS$' -4 '$ARG1$'
}

View file

@ -1,72 +0,0 @@
# 'check_ping' command definition
define command{
command_name check_ping
command_line /usr/lib/nagios/plugins/check_ping -H '$HOSTADDRESS$' -w '$ARG1$' -c '$ARG2$'
}
# 'check-host-alive' command definition
define command{
command_name check-host-alive
command_line /usr/lib/nagios/plugins/check_ping -H '$HOSTADDRESS$' -w 5000,100% -c 5000,100% -p 1
}
# 'check-printer-alive' command definition
define command{
command_name check-printer-alive
command_line /usr/lib/nagios/plugins/check_ping -H '$HOSTADDRESS$' -w 5000,100% -c 5000,100% -p 1
}
# 'check-switch-alive' command definition
define command{
command_name check-switch-alive
command_line /usr/lib/nagios/plugins/check_ping -H '$HOSTADDRESS$' -w 5000,100% -c 5000,100% -p 1
}
# 'check-router-alive' command definition
define command{
command_name check-router-alive
command_line /usr/lib/nagios/plugins/check_ping -H '$HOSTADDRESS$' -w 5000,100% -c 5000,100% -p 1
}
####
# use these checks, if you want to test IPv4 connectivity on IPv6 enabled systems
####
# 'check_ping_4' command definition
define command{
command_name check_ping_4
command_line /usr/lib/nagios/plugins/check_ping -H '$HOSTADDRESS$' -w '$ARG1$' -c '$ARG2$' -4
}
# 'check-host-alive_4' command definition
define command{
command_name check-host-alive_4
command_line /usr/lib/nagios/plugins/check_ping -H '$HOSTADDRESS$' -w 5000,100% -c 5000,100% -p 1 -4
}
# 'check-printer-alive_4' command definition
define command{
command_name check-printer-alive_4
command_line /usr/lib/nagios/plugins/check_ping -H '$HOSTADDRESS$' -w 5000,100% -c 5000,100% -p 1 -4
}
# 'check-switch-alive_4' command definition
define command{
command_name check-switch-alive_4
command_line /usr/lib/nagios/plugins/check_ping -H '$HOSTADDRESS$' -w 5000,100% -c 5000,100% -p 1 -4
}
# 'check-router-alive_4' command definition
define command{
command_name check-router-alive_4
command_line /usr/lib/nagios/plugins/check_ping -H '$HOSTADDRESS$' -w 5000,100% -c 5000,100% -p 1 -4
}

View file

@ -1,20 +0,0 @@
# 'check_procs' command definition
define command{
command_name check_procs
command_line /usr/lib/nagios/plugins/check_procs -w '$ARG1$' -c '$ARG2$'
}
# 'check_procs_zombie' command definition
define command{
command_name check_procs_zombie
command_line /usr/lib/nagios/plugins/check_procs -w '$ARG1$' -c '$ARG2$' -s Z
}
# 'check_procs_httpd' command definition
define command{
command_name check_procs_httpd
command_line /usr/lib/nagios/plugins/check_procs -w 5:'$ARG1$' -c 1:'$ARG2$' -C httpd
}

View file

@ -1,6 +0,0 @@
# 'check_radius' command definition
define command{
command_name check_radius
command_line /usr/lib/nagios/plugins/check_radius -F /etc/radcli/radiusclient.conf -H '$HOSTADDRESS$' -P '$ARG4$' -t '$ARG3$' -u '$ARG1$' -p '$ARG2$'
}

View file

@ -1,13 +0,0 @@
# 'check_real_url' command definition
define command{
command_name check_real_url
command_line /usr/lib/nagios/plugins/check_real '$HOSTADDRESS$' -p '$ARG1$' -wt '$ARG2$' -ct '$ARG3$' -to 5 -u '$ARG4$'
}
# 'check_real' command definition
define command{
command_name check_real
command_line /usr/lib/nagios/plugins/check_real '$HOSTADDRESS$' -p '$ARG1$' -wt '$ARG2$' -ct '$ARG3$' -to 5
}

View file

@ -1,14 +0,0 @@
# 'check-rpc' command definition
define command{
command_name check-rpc
command_line /usr/lib/nagios/plugins/check_rpc -H '$HOSTADDRESS$' -C '$ARG1$'
}
# 'check-nfs' command definition
define command{
command_name check-nfs
command_line /usr/lib/nagios/plugins/check_rpc -H '$HOSTADDRESS$' -C nfs -c2,3
}

View file

@ -1,132 +0,0 @@
# 'snmp_load' command definition
define command{
command_name snmp_load
command_line /usr/lib/nagios/plugins/check_snmp -H '$HOSTADDRESS$' -C '$ARG1$' -o .1.3.6.1.4.1.2021.10.1.5.1,.1.3.6.1.4.1.2021.10.1.5.2,.1.3.6.1.4.1.2021.10.1.5.3 -w :'$ARG2$',:'$ARG3$',:'$ARG4$' -c :'$ARG5$',:'$ARG6$',:'$ARG7$' -l load
}
# 'snmp_cpustats' command definition
define command{
command_name snmp_cpustats
command_line /usr/lib/nagios/plugins/check_snmp -H '$HOSTADDRESS$' -C '$ARG1$' -o .1.3.6.1.4.1.2021.11.9.0,.1.3.6.1.4.1.2021.11.10.0,.1.3.6.1.4.1.2021.11.11.0 -l 'CPU usage (user system idle)' -u '%'
}
# 'snmp_procname' command definition
define command{
command_name snmp_procname
command_line /usr/lib/nagios/plugins/check_snmp -H '$HOSTADDRESS$' -C '$ARG1$' -o .1.3.6.1.4.1.2021.2.1.5.'$ARG2$' -w '$ARG3$':'$ARG4$' -c '$ARG5$':'$ARG6$'
}
# 'snmp_disk' command definition
define command{
command_name snmp_disk
command_line /usr/lib/nagios/plugins/check_snmp -H '$HOSTADDRESS$' -C '$ARG1$' -o .1.3.6.1.4.1.2021.9.1.7.'$ARG2$',.1.3.6.1.4.1.2021.9.1.9.'$ARG2$' -w '$ARG3$':,:'$ARG4$' -c '$ARG5$':,:'$ARG6$' -u 'kB free (','% used)' -l 'disk space'
}
# 'snmp_mem' command definition
define command{
command_name snmp_mem
command_line /usr/lib/nagios/plugins/check_snmp -H '$HOSTADDRESS$' -C '$ARG1$' -o .1.3.6.1.4.1.2021.4.6.0,.1.3.6.1.4.1.2021.4.5.0 -w '$ARG2$': -c '$ARG3$':
}
# 'snmp_swap' command definition
define command{
command_name snmp_swap
command_line /usr/lib/nagios/plugins/check_snmp -H '$HOSTADDRESS$' -C '$ARG1$' -o .1.3.6.1.4.1.2021.4.4.0,.1.3.6.1.4.1.2021.4.3.0 -w '$ARG2$': -c '$ARG3$':
}
# 'snmp_procs' command definition
define command{
command_name snmp_procs
command_line /usr/lib/nagios/plugins/check_snmp -H '$HOSTADDRESS$' -C '$ARG1$' -o host.hrSystem.hrSystemProcesses -w :'$ARG2$' -c :'$ARG3$' -l processes
}
# 'snmp_users' command definition
define command{
command_name snmp_users
command_line /usr/lib/nagios/plugins/check_snmp -H '$HOSTADDRESS$' -C '$ARG1$' -o host.hrSystem.hrSystemNumUsers.0 -w :'$ARG2$' -c :'$ARG3$' -l users
}
# 'snmp_mem2' command definition
define command{
command_name snmp_mem2
command_line /usr/lib/nagios/plugins/check_snmp -H '$HOSTADDRESS$' -C '$ARG1$' -o host.hrStorage.hrStorageTable.hrStorageEntry.hrStorageUsed.'$ARG2$',host.hrStorage.hrStorageTable.hrStorageEntry.hrStorageSize.'$ARG2$' -w '$ARG3$' -c '$ARG4$'
}
# 'snmp_swap2' command definition
define command{
command_name snmp_swap2
command_line /usr/lib/nagios/plugins/check_snmp -H '$HOSTADDRESS$' -C '$ARG1$' -o host.hrStorage.hrStorageTable.hrStorageEntry.hrStorageUsed.'$ARG2$',host.hrStorage.hrStorageTable.hrStorageEntry.hrStorageSize.'$ARG2$' -w '$ARG3$' -c '$ARG4$'
}
# 'snmp_mem3' command definition
define command{
command_name snmp_mem3
command_line /usr/lib/nagios/plugins/check_snmp -H '$HOSTADDRESS$' -C '$ARG1$' -o host.hrStorage.hrStorageTable.hrStorageEntry.hrStorageUsed.'$ARG2$',host.hrStorage.hrStorageTable.hrStorageEntry.hrStorageSize.'$ARG2$' -w '$ARG3$' -c '$ARG4$'
}
# 'snmp_swap3' command definition
define command{
command_name snmp_swap3
command_line /usr/lib/nagios/plugins/check_snmp -H '$HOSTADDRESS$' -C '$ARG1$' -o host.hrStorage.hrStorageTable.hrStorageEntry.hrStorageUsed.'$ARG2$',host.hrStorage.hrStorageTable.hrStorageEntry.hrStorageSize.'$ARG2$' -w '$ARG3$' -c '$ARG4$'
}
# 'snmp_disk2' command definition
define command{
command_name snmp_disk2
command_line /usr/lib/nagios/plugins/check_snmp -H '$HOSTADDRESS$' -C '$ARG1$' -o host.hrStorage.hrStorageTable.hrStorageEntry.hrStorageUsed.'$ARG2$' -w '$ARG3$' -c '$ARG4$'
}
# 'snmp_tcpopen' command definition
define command{
command_name snmp_tcpopen
command_line /usr/lib/nagios/plugins/check_snmp -H '$HOSTADDRESS$' -C '$ARG1$' -o tcp.tcpCurrEstab.0 -w '$ARG2$' -c '$ARG3$'
}
# 'snmp_tcpstats' command definition
define command{
command_name snmp_tcpstats
command_line /usr/lib/nagios/plugins/check_snmp -H '$HOSTADDRESS$' -C '$ARG1$' -o tcp.tcpActiveOpens.0,tcp.tcpPassiveOpens.0,tcp.tcpInSegs.0,tcp.tcpOutSegs.0,tcp.tcpRetransSegs.0 -l 'TCP stats'
}
# 'check_netapp_uptime' command definition
define command{
command_name check_netapp_uptime
command_line /usr/lib/nagios/plugins/check_snmp -H '$HOSTADDRESS$' -C '$ARG1$' -o .1.3.6.1.2.1.1.3.0 --delimiter=')' -l "Uptime is"
}
# 'check_netapp_cpuload' command definition
define command{
command_name check_netapp_cpuload
command_line /usr/lib/nagios/plugins/check_snmp -H '$HOSTADDRESS$' -C '$ARG1$' -o .1.3.6.1.4.1.789.1.2.1.3.0 -w 90 -c 95 -u '%' -l "CPU LOAD "
}
# 'check_netapp_numdisks' command definition
define command{
command_name check_netapp_numdisks
command_line /usr/lib/nagios/plugins/check_snmp -H '$HOSTADDRESS$' -C '$ARG1$' -o .1.3.6.1.4.1.789.1.6.4.1.0,.1.3.6.1.4.1.789.1.6.4.2.0,.1.3.6.1.4.1.789.1.6.4.8.0,.1.3.6.1.4.1.789.1.6.4.7.0 -u 'Total Disks','Active','Spare','Failed' -l ""
}
# 'check_compaq_thermalCondition' command definition
define command{
command_name check_compaq_thermalCondition
command_line /usr/lib/nagios/plugins/check_snmp -H '$HOSTADDRESS$' -C '$ARG1$' -o .1.3.6.1.4.1.232.6.2.1.0,.1.3.6.1.4.1.232.6.2.2.0,.1.3.6.1.4.1.232.6.2.3.0,.1.3.6.1.4.1.232.6.2.4.0 -u 'ThermalCondition','ThermalTemp','ThermalSystem','ThermalCPUFan' -w 2:2,2:2,2:2,2:2 -c 1:2,1:2,1:2,1:2 -l "Thermal status "
}

View file

@ -1,27 +0,0 @@
# 'check_ssh' command definition
define command{
command_name check_ssh
command_line /usr/lib/nagios/plugins/check_ssh '$HOSTADDRESS$'
}
# 'check_ssh_port' command definition
define command{
command_name check_ssh_port
command_line /usr/lib/nagios/plugins/check_ssh -p '$ARG1$' '$HOSTADDRESS$'
}
####
# use these checks, if you want to test IPv4 connectivity on IPv6 enabled systems
####
# 'check_ssh_4' command definition
define command{
command_name check_ssh_4
command_line /usr/lib/nagios/plugins/check_ssh -4 '$HOSTADDRESS$'
}
# 'check_ssh_port_4' command definition
define command{
command_name check_ssh_port_4
command_line /usr/lib/nagios/plugins/check_ssh -4 -p '$ARG1$' '$HOSTADDRESS$'
}

View file

@ -1,27 +0,0 @@
# 'check_tcp' command definition
define command{
command_name check_tcp
command_line /usr/lib/nagios/plugins/check_tcp -H '$HOSTADDRESS$' -p '$ARG1$' '$ARG2$'
}
# 'check_udp' command definition
define command{
command_name check_udp
command_line /usr/lib/nagios/plugins/check_udp -H '$HOSTADDRESS$' -p '$ARG1$' '$ARG2$'
}
####
# use these checks, if you want to test IPv4 connectivity on IPv6 enabled systems
####
# 'check_tcp_4' command definition
define command{
command_name check_tcp_4
command_line /usr/lib/nagios/plugins/check_tcp -H '$HOSTADDRESS$' -p '$ARG1$' -4 '$ARG2$'
}
# 'check_udp_4' command definition
define command{
command_name check_udp_4
command_line /usr/lib/nagios/plugins/check_udp -H '$HOSTADDRESS$' -p '$ARG1$' -4 '$ARG2$'
}

Some files were not shown because too many files have changed in this diff Show more