Subversion Repositories vnag

Compare Revisions

No changes between revisions

Regard whitespace Rev 51 → Rev 52

/trunk/framework/vnag_framework.inc.php
1,26 → 1,26
<?php /* <ViaThinkSoftSignature>
XdQ9Y3ujgj7pXb9l4iNXGDCzSSPfkX4MJWEcWF3KcYbnzlLwYooi73hdid4ffOGqT
CR732fR/PWWQhWVXxtUPeEyf23Y5iROC6mLGr5bMyPwuOCMXyqjdYsUjGEYTRuWAi
7deUSHC8pz2U4NJFf5ochQhcnoNS6CIR4WnwfhUwjp2s/5qC5gnIjpx08dkpwV/YF
TcT9gNlDkkefu/HIiju9BpYbT2C6+VPue3qDXRyFdTxv1/7L9ohhpVRSkjzh1kNCi
8lmtud+Anvc1+9jAxwwBDuTcJdvkYiWucEml1CYUMPF29ipb0Itqm6wfE9TYDgD1E
rsYxXn5SE0rIjZwDhjtmM8j7iZdNP56zoyS6NdoZ7iYYhSaWwc8hbPBo8Uvhhh3CE
1fsBeh6bn7Ob4fVMU3WzHwD6D7h0/EvQi/ZD9OxtG0DIGsT5ad/b0Zcl0pmpqRols
fru/mcw0Qr5Tfx7M9GUK3lLmzkxFtHDKDQAYObtLPDutHdL8u3pA0u41+llGV77Fi
ajxpjbl4DNiLzkQkIp4wET0DWHhftvMKDz2tme4uQcpqME7rLfh0xL2ETPBT8o44V
lw18TTJ+m+1fCTdqMb391Ak3dChGfPGf/IT1IF02h6t2+1HINMjYk7bdTxPYoHOJc
jOPMC18nJTpzOhd880+eng7sSiFZ/ShXP+cqywSrnNi9JYRlYb4hhOB/BbVL+/esw
l8Z1TMaKbiOZUF+y+PfNlsy3J2GKL56kwsU1/sct0nsPz43F1Gf/XYOBxeF1Ci55H
KJdGhcn8JJoI6gg9vKa6FO99KFMjRXXsAAitEKj5w4NjOPUZwwfMWSLINgOWqj/fu
Pr/t9Ek/khGaYdn4h0GXMC9qQazzPwV/i1zJYJa/VTwtkgl1mqAvSiKZSEvO2XgeG
ZpRQ/JmfI1UO85pFY8g31WLNM6mexOd6sCu7KW6MYkT1p34QW9inyrymKb8KV9Hji
r2vVa/Tzg7qTnohDNUZ5fY8kZ1tRNIt7QTe0eCg1BIK2/Rgpnmo+ULyC6KMAu6TgU
i6pXkNaN3JRAgKfJlUcyo0mnLaHUGZ+hqSL3M0gYwuqVnpVeVdyr1AyN1RDBB2aTq
EOu7KMdKFcQo9aZPM91RmOQ1WsV7QFIyxbzs/Mjq6fIbLPp8qeSxKk7MoMzlmsREy
Xcf4uMTiJOg7WRSsRMNy2vmDXjczYfXi2Ak+oG9M6n4gHy8UqQ4IjamqBOFPkqAFu
kp300s3yEdmMowo02L5B69ct7AcSVZgKeiO1xVYUGywdX/wLzEVqzaeJqA2fVz8wy
pjNw5bJ6SmecLG4fb1qMndOywS1XRUoNL7goRC8MVC/nRyo2GZrU707JKlX1S5eFD
g==
Wg+EYgkO45tkUYzHp3wFsbyVVQadb07ttd04MjjH7C7i7UygR0ZiFQfpqQ5pc6i6M
bd+RpyfWYxeMRU8KLRO/I2CymXtB/L11tisWnZRRVSBBsoVr73xZFIDrZiMC+Amxs
/WqnIRJIVCCniLDPPzp+WlIq7/e8djQukSglqSsL4Dhvk37k7iWJuAkyoFodffOVQ
FHLvcfvw/yjzSvLzE/3kAOToZ7OmNBfVhJKcUOYouYINCrxrqvY7FfOWz/GftnHkV
5vjYJrTaoKpYW3N4Xoi0HBVfzTKQjND4ihulrkV4p6PhHdbdD5dXNaXUERgjAqeED
tvpQzPHqA25Q74llkjFDeyNFHkEMKmiqdVbO/LcWHetROqMRu2on6Eghy7BCgqsfD
lPXeHS2EN+AhcfPpFBZ59crM/qWw+LSrbQfvI/SScwlT3z0+vjKRuLOBvz2US3Mce
UMwSkE+BGNW5LEup7RatyapYEa6ueanzzPMMv+DUvBxTfVV0l6JXteQCbWURMBSOg
CxmMT5ewI4xaGn94yLmW95YIKdsF6upDLkG+Fqpjya0so0wKOyVc4RYgmAuo5zJvR
7n89KCF4Z4Gl8AYyNnlKWDYHi2CYdxmfngr0eY5GyHor9qIN8wNdMerTkYQ6R1iG3
ZGv0KPFfTdQyVOuiVnVDk5rcGwxMEgckIJSuBu7cy8oGq/wMPjdwGlEXWv2dGe7dY
KxtB4m4lOeW3izrPyS9LppBFhjQ0CL9KZ4VJHpyZcZJ0LYGA8wX3bCRyaXRzjbDUS
blT9mRURn6gLOmn1u0bjPqEV2GpZte1XaSB109vmgsdjCc07Wek3ItAw4KrKN29/j
8ZKHvpamQoN6oGLr3aMzkuNhYmrNuJBJt1m7PsqTA4ZoB1JvJ3AzTBaBjYcAIt+tq
QE9XHcjudqlECrbApzMmRzCBb2MVRnuIgaMZ6dizCPWJl/bkuqCjizMV2TbLLUnIx
/fRb2YX98uPNsdWRTt8kZJit6QmwPi6YKJO3YKZUkaCtaM7mwjVZ0g/ZNkX2VBZ8k
OW0JumHLXOcbQLCi6dVjsyp4fsEXmiQYLksGQtyhDtGVj/MVDz0MZMJosClcqjfCa
M3DD8exxuvwFLIj9+y52IZKxOlsW/fB/fQiBmay/OOsyYHGMfVEpFZNnOMweB13xR
SpB8NaUON7MUCKwG1PfdmQcMZpwA01QREkVW4/u75qPr3OoyyeJ3/zYJhJXSv3md6
V6V53FLy2SG13eHajqVQDLrYDqu56V/GL/tI4JLIoFhKr2gzj2lFJFGyr4peCipRD
ijdZWqbFUcDFJS8c0lJ1P68D1ATEB0m92CDen1ttVUCOUO5CK0+Qc5MbKCTXlr2OY
A==
</ViaThinkSoftSignature> */ ?>
<?php
 
35,7 → 35,7
 
Developed by Daniel Marschall www.viathinksoft.com
Licensed under the terms of the Apache 2.0 license
Revision 2022-04-09
Revision 2022-06-06
 
*/
 
347,7 → 347,7
}
 
abstract class VNag {
/*public*/ const VNAG_VERSION = '2022-04-09';
/*public*/ const VNAG_VERSION = '2022-06-06';
 
// Status 0..3 for STATUSMODEL_SERVICE (the default status model):
# The guideline states: "Higher-level errors (such as name resolution errors, socket timeouts, etc) are outside of the control of plugins and should generally NOT be reported as UNKNOWN states."
1727,7 → 1727,7
// see https://nagios-plugins.org/doc/guidelines.html#THRESHOLDFORMAT
// We allow UOMs inside the range definition, e.g. "-w @10M:50M"
 
public /*VNagValueUomPair|'inf'*/ $start;
public /*VNagValueUomPair|'-inf'*/ $start;
public /*VNagValueUomPair|'inf'*/ $end;
public /*boolean*/ $warnInsideRange;
 
1745,7 → 1745,7
 
if ($m[3] === ':') {
if ($m[2] === '~') {
$this->start = 'inf';
$this->start = '-inf';
} else {
$this->start = new VNagValueUomPair($m[2]);
}
1763,15 → 1763,15
 
if ($singleValueBehavior == VNag::SINGLEVALUE_RANGE_DEFAULT) {
// Default behavior according to the development guidelines:
// x means x:x, which means, everything except x% is bad.
// @x means @x:x, which means, x is bad and everything else is good.
$this->start = new VNagValueUomPair($x);
// x means 0:x, which means, x>10 is bad
// @x means @0:x, which means, x<=10 is bad
$this->start = new VNagValueUomPair('0'.((new VNagValueUomPair($x))->getUom()));
$this->end = new VNagValueUomPair($x);
} else if ($singleValueBehavior == VNag::SINGLEVALUE_RANGE_VAL_GT_X_BAD) {
// The single value x means, everything > x is bad. @x is not defined.
if ($this->warnInsideRange) throw new VNagInvalidRangeException(VNagLang::$singlevalue_unexpected_at_symbol);
$this->warnInsideRange = 0;
$this->start = 'inf';
$this->start = '-inf';
$this->end = new VNagValueUomPair($x);
} else if ($singleValueBehavior == VNag::SINGLEVALUE_RANGE_VAL_GE_X_BAD) {
// The single value x means, everything >= x is bad. @x is not defined.
1789,7 → 1789,7
// The single value x means, everything <= x is bad. @x is not defined.
if ($this->warnInsideRange) throw new VNagInvalidRangeException(VNagLang::$singlevalue_unexpected_at_symbol);
$this->warnInsideRange = 1;
$this->start = 'inf';
$this->start = '-inf';
$this->end = new VNagValueUomPair($x);
} else {
throw new VNagException(VNagLang::$illegalSingleValueBehavior);
1819,7 → 1819,7
$ret = '@';
}
 
if ($this->start === 'inf') {
if ($this->start === '-inf') {
$ret .= '~';
} else {
$ret .= $this->start;
1841,18 → 1841,18
foreach ($values as $value) {
if (!($value instanceof VNagValueUomPair)) $value = new VNagValueUomPair($value);
 
assert(($this->start === 'inf') || ($this->start instanceof VNagValueUomPair));
assert(($this->start === '-inf') || ($this->start instanceof VNagValueUomPair));
assert(($this->end === 'inf') || ($this->end instanceof VNagValueUomPair));
 
if (($this->start !== 'inf') && (!$this->start->compatibleWith($value))) continue;
if (($this->start !== '-inf') && (!$this->start->compatibleWith($value))) continue;
if (($this->end !== 'inf') && (!$this->end->compatibleWith($value))) continue;
$compatibleCount++;
 
if ($this->warnInsideRange) {
return (($this->start === 'inf') || (VNagValueUomPair::compare($value,$this->start) >= 0)) &&
return (($this->start === '-inf') || (VNagValueUomPair::compare($value,$this->start) >= 0)) &&
(($this->end === 'inf') || (VNagValueUomPair::compare($value,$this->end) <= 0));
} else {
return (($this->start !== 'inf') && (VNagValueUomPair::compare($value,$this->start) < 0)) ||
return (($this->start !== '-inf') && (VNagValueUomPair::compare($value,$this->start) < 0)) ||
(($this->end !== 'inf') && (VNagValueUomPair::compare($value,$this->end) > 0));
}
}
1963,6 → 1963,9
} else if ($target == 'KB') {
$res->uom = 'KB';
$res->value *= 1024;
} else if ($target == 'MB') {
$res->uom = 'MB';
$res->value *= 1;
} else if ($target == 'GB') {
$res->uom = 'GB';
$res->value /= 1024;
1973,7 → 1976,10
throw new VNagUomConvertException($res->uom, $target);
}
} else if ($res->uom == 's') {
if ($target == 'ms') {
if ($target == 's') {
$res->uom = 's';
$res->value /= 1;
} else if ($target == 'ms') {
$res->uom = 'ms';
$res->value /= 1000;
} else if ($target == 'us') {
/trunk/plugins/file_timestamp/FileTimestampCheck.class.php
1,25 → 1,25
<?php /* <ViaThinkSoftSignature>
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
w==
</ViaThinkSoftSignature> */ ?>
<?php
55,9 → 55,8
// Individual (non-standard) arguments:
$this->addExpectedArgument($this->argFiles = new VNagArgument('f', 'file', VNagArgument::VALUE_REQUIRED, 'mask', 'The files to be checked. This argument can be used multiple times. Wilcards may be used but MUST be passed as string only (not resolved by the Shell). There are two possible checking modes: If you put a # in front of the file mask, only the youngest file of each group will be checked (use this mode e.g. if you want to check if a downloader is regularly downloading files into a download directory). Otherwise, all files of the file group are checked.'));
 
// In this context, when the user writes "-w 60s" then he actually means "-w @60s:~" or "-w 0s:60s", so these commands allow this notation:
$this->warningSingleValueRangeBehaviors[0] = self::SINGLEVALUE_RANGE_VAL_GT_X_BAD;
$this->criticalSingleValueRangeBehaviors[0] = self::SINGLEVALUE_RANGE_VAL_GT_X_BAD;
# $this->warningSingleValueRangeBehaviors[0] = self::SINGLEVALUE_RANGE_VAL_GT_X_BAD;
# $this->criticalSingleValueRangeBehaviors[0] = self::SINGLEVALUE_RANGE_VAL_GT_X_BAD;
}
 
private static function humanFriendlyInterval($secs) {
/trunk/plugins/ipfm/IpFlowMonitorCheck.class.php
1,26 → 1,26
<?php /* <ViaThinkSoftSignature>
rbwtQLDF4TDJsmJUFAtVZZyvkXjLJCXNsxbQ2JZY3NRRaHHMN8HU2LJAnUV4LtIUZ
k1hEOd82g+MxSGVYqV9nLJ8lGuPyKJ5BYzhiRpsOzUsW3WFeg1+H59kb/r06Oe19n
Rq49pfBPbVM97ZyLNNTTbUngaqvvC6RSg9NN4abDAYvwnD/aztJjXZlhCJ3x//6iT
zDqqgN2u2VPFyYxn23CKGC/fHsO1EdZorZR9mBrEgcmdtDnGz9oew9JZp4byQvFsi
X9zfCQgMd0R0P9KA2PRwtezwNwoHHLSyMg2237T7gckB8Dz9/nLILUrSu+ixuqJlo
J+sTYpEW4W64dgEzl0LALDJ7PdV0n6kfm78pj73r9ZyOxjc4q64ppqAkAPrrLVbIc
v0PVwzzGctmDJP7btS8IG6yUN8gGA37QyYnUNm6x2Yi0isghnZsSZa8oK5KV2MbkT
hct/zyTkk5NDk4MykEGWYyzyCGN0yjXyGK7FjtFz8yN8l5hMcXqcmgmPV3DxpvBvy
uH6mFYz++z3uW7TDtZrtRsVAIZb6lZj13FEkgNAobIkEkFGTbf9+FWduCw3wXh5tV
NhIeG9KUo5Io8jF7QkbikPl37QvCyymeGeW7+zeYhPTyzqvTxO/yMZMI0CFsA2lVW
16yIwwLPmAfGRnrV8Y5S9CojQ+e/HjZbpjWcQGcIljY/fGb8U69a1gLcszdkpaPnT
UbZCabrGp/51tNygmmI1fRkcDwCDZHysUYhH6jvRSeWS+iwF7QLmF9FPQF3QvTYHK
J3X64gz2xRInIVk9cibTrgj8y/OsZJAR66LOPpkHLEoyY5xsaJQ1/S29zPDdWOzVx
VByeCKnVro1N6gkmAZQs7sf2lRW8dSQaMzrBOumtKnJNXgzdmKPcPECeQOblvS5Lb
V0opaVR7Jk3fo2RHkrkifp0hFRCsoI7yl3BPK/srID0USOS1gBTxCRaeIRJWQzJlj
hI+ieLWBb+7kRdScq80+YqxE/Aw/yrqjQDp4+9FvGALW3uhBXK142auA5oJqpVVvS
Dl7yzjVc4ENpWrkriBIUFZkIrnbRz7oGByWMi8Tl/Bnzh0xiIy3qbUwV0Oxg1iYC9
qGRi0JIbNSlQ3NQBU87JjcA+Ds6M+odxcTtpbtwgOo2Z1c2LiASGdC4NmHxAYfVZ5
QfZLn2s7/P3Sh6YHVvWHLm05uaAwiC3NkAVIDKj2kWe4zKfAwO8aELgDs8H4R3Ljc
azjeT5a2RsTNw0h/ylZ+IlQ5O83eqSgMwf40ebPN9dvSicCZulM86eaGd/zTgZroE
Njyv5WVv9562mupp1rXaGGFOW87+LHfw6kImXn1/8dZEJrPj89gP1DrV6Fo+uqxIt
g==
yD85WiHZjflrHQ2QRcEofZmKA2Z6gE3vVEx3U/12QhmKLvrHTWhO0HufTtLsvdX3S
+PTIM/wZuGh8LIvrjnmScZ3sDyrM4W7itIipHtLAbvTUBIYqET0dIrj2fV27vFF5U
I8r3Ggjb9pukb+Pcl1MdGHwikLbZfq8/V7bScK6L8nDFwO6hcIBTfVpnx7GHtHG74
ycB4X7wNhOb4+PYzoRaezU9U9RMPbk77bmKoTLvGOjdHwBTx+2TwEowHEFnoVpZ/S
vtTv/qDoz4VRdWa1mDwZILdPnRWGP7AgCBMz/RymwMbk6ClIE+iaPuRBvcJZCcKut
Nbn9hSPM4lexojx+GTTKUUie0s/VII23vFNWLA5O6f2y8viVnWPCM1CS4bYw0Lvb3
CWDJye23yuSZmmzb6c/Y/l4iRlJDpVf2M5I9hxlnPfzekN6kRT4z2V0QRyecgsBSw
OLZm3hdVv3sZu4C8Wm75bZTXiu0SZF2raxKOLoYU84CgldL6utQrnE5WbT3MM7rUc
v6SQNF8wQpc8kb6uztOb6sQ3n7JBApZIPKrAC/8OFL5vLaUOICQyufbKZAfyeFukb
0NFGJG764+Rkbxq0fvAu6iQd/WD29PYgu03PjfVM8ybcIB99X07vhADBSk8VnhSqL
wr9YKiaZlmFu5GHQFV2EMk5I54jpuUOGn4j3+OQmwcMZe1X6kX+ka5Q+Q/iig3hMZ
jK9fCTukwhpWjUi4gtxT5Pz/WWKi1iK3t/C+5Vn5sPA3icWcHgFbZLpBLP+WRBHg7
33OUIbSjWQmiQ27zP+3M5caTYnmS/kXGByP74b/+czS7MnYUTehWa/STBxI3rKyPI
j9qx8PcpHtxgZOZXBBbkYOV6E+7bPvwNaCuFpHEeJ8aZ0twVJFcM0NsSH/UCM9NQh
ABvciyD646QcnZ/r6x65Vae6Mtd+1c/jgY+aPCYUkCnprGPQ569P/FagxRSf5FhwQ
qxFDJxkNSdnABnpc5SnwJ2ovm1PuIvnIyhHrL5GZ34oY6qciDn1TGEzd4gsftmiAE
dZORViwQxXoKi9AetP68mkn68pjfmOrQcInbDXtbWouJ5ran/Z1qslbNf2EcMaUq4
t7kljW5+C34s3RcSuuUcx6H/KbmfpS5FQDW7Sott5P3j3u3Q9JXXEKn8+Q1Fxd2xW
W7UhjKp9fRFMb1pvL10n81ZR6xlfp1Bfz1r95MoJtbrFKdVXsbOshm0hIk4Z3iwKz
iLaTHhoHq+1cT++qKZPaUo46SU8WI+FCBbJO/muY7l/4Z/ehY3IAKv3WMiVKfPkYl
dY5E3msj1R04CvUsRwP7TzsFrZRaIctF2TSMujXguuBE4nPi0TVp2xRukwMW1I7Fx
Q==
</ViaThinkSoftSignature> */ ?>
<?php
 
78,11 → 78,10
 
$this->addExpectedArgument($this->argLogDir = new VNagArgument('L', 'logdir', VNagArgument::VALUE_REQUIRED, 'path', 'Location of the ipfm log dir (Default: /var/log/ipfm)', '/var/log/ipfm'));
 
// When the user writes "-w 10GB" then he actually means "-w @10GB:~" or "-w ~:10GB", so these commands allow this notation:
$this->warningSingleValueRangeBehaviors[0] = self::SINGLEVALUE_RANGE_VAL_GT_X_BAD;
$this->warningSingleValueRangeBehaviors[1] = self::SINGLEVALUE_RANGE_VAL_GT_X_BAD;
$this->criticalSingleValueRangeBehaviors[0] = self::SINGLEVALUE_RANGE_VAL_GT_X_BAD;
$this->criticalSingleValueRangeBehaviors[1] = self::SINGLEVALUE_RANGE_VAL_GT_X_BAD;
# $this->warningSingleValueRangeBehaviors[0] = self::SINGLEVALUE_RANGE_VAL_GT_X_BAD;
# $this->warningSingleValueRangeBehaviors[1] = self::SINGLEVALUE_RANGE_VAL_GT_X_BAD;
# $this->criticalSingleValueRangeBehaviors[0] = self::SINGLEVALUE_RANGE_VAL_GT_X_BAD;
# $this->criticalSingleValueRangeBehaviors[1] = self::SINGLEVALUE_RANGE_VAL_GT_X_BAD;
}
 
protected function interprete_ipfm_logfile($logfile) {
/trunk/plugins/open_deleted_files/OpenDeletedFilesCheck.class.php
0,0 → 1,135
<?php /* <ViaThinkSoftSignature>
XWco4Mm3VUQ05meRqXThUvcQghmYl9HrK3nXhjgzTIBDPuVi1WSTixqUVnhfoOrEw
aub01DrcC3Whb4UV436HDtzdusCfXzO2twiV6Ll9Jyym6Ue4PSG5CIKlc5izAawDw
ZCO4j/r6P3jubB9XUuBPZ3v4nbPGf+vQpwsRaYTQyV3wFzn+A4ytI4EtK8+1WNYAA
aa7uygPUeX6nQ8UDU0GwqgNgvYuG3uwB/oKWOUX+u7hSKmRO6qT7GnMlHypb/iMlM
iNJdAacqZsge0/A5ht+Vpa9JJyJ9HeTW3tBHh7U5pwBvm2L3Pt3BexOP/YXOysKVL
SiKMHpa/Ub1HpdipbBQvsO7nA9HmxjKApTm9lklZpP1vKccceEb9+s/RxqZsi5CR8
PQoO/zCebrPi8AlohDc4BF6uc6CDXuGLS/gLACnoA7a/Zl60IxjoxUqjznuk7lVSR
wSAhSrRbihpmp7vMM/PIK5xbbMFEOJa+AYlfY480bXYHJiboqrNfRmcanWhN+fcli
WneZ9gFSiHWM/2r3Xiq5PR4cQ2LUiT7jxIyEeKynyf+LQ9OJ+z8cC9Qa9/98KpHaV
yFOaI2yRKabyvFSsbSJuP6rorjxAv2YeKGAkOHVt596qQYZzkOfAg/1GEi2+OfaB8
Gv1d+FaHAEAodi1z/MiuWH+SgJM7QjeiQSaSs+cm+zlWxlRQM4UhPjdckg1Ua/vYY
UJV5iwPKc/800ieC2b1xWqPrFs31N4oeBVf52VYSmTtj8NspePbjx6Fd77aI2ik2e
KfgiE3Vb+5naPgEwPRi5yHLxD5DmcLwQTD5wraUWbB63GtFMRJr+tY5NqE4Id1Okt
fJqwX6w//viS8dCRUGAGj7zpKcMah4SYGxvWwTFutKcmU9kKdUXzQsJjarpPXgqid
WwXwt0olEe+6Z+Lw1dMAKm8msIZrRNbDvhii88AwIFGN5I62epg2012+G0sMg/dgU
lJwt2sRD1IQQfePvdF1CeCfJINnXKtK5EDArDv1p4M7jKlTkMS1dk4kmtJKZoy1Ge
G19Ie3+UiNskQoz3v2+4MBcIjtnzdMBa3SzhhVI2IIbsTShin68Nb742jem6vzVNk
KJtsWZylRPhI+Nw26Hnb/Fvnr9WB+fiJYih1J9ANS733E8I18xmzUjIxFt4UaeuL1
3XVpjZjToGPHyaXvmIgnoky8e7UMfmE2pb2I6VI8lqaDjN3RZrg0aGhpNLeQ9DvSw
msuIjyhTE7MiTjasbSZ47NOINf/OjZANlAK+Mn1Xm2kQZtsLSzfVeag2GUpqIbv3c
acyHtjO4RjccrZJscrNtYftqujahtf2N9oOozGii8aNSdW7qxnN9F7SOsBxAEOLCf
w==
</ViaThinkSoftSignature> */ ?>
<?php
 
/*
* VNag - Nagios Framework for PHP
* Developed by Daniel Marschall, ViaThinkSoft <www.viathinksoft.com>
* Licensed under the terms of the Apache 2.0 license
*
* Revision 2022-06-06
*/
 
declare(ticks=1);
 
define('OUTPUT_UOM', 'MB');
define('ROUND_TO', 0);
 
class OpenDeletedFilesCheck extends VNag {
protected $argDir = null;
 
public function __construct() {
parent::__construct();
 
$this->registerExpectedStandardArguments('Vhtwc');
 
$this->getHelpManager()->setPluginName('open_deleted_files');
$this->getHelpManager()->setVersion('1.0');
$this->getHelpManager()->setShortDescription('This plugin checks for open deleted files (which require space but are not visible/accessible anymore).');
$this->getHelpManager()->setCopyright('Copyright (C) 2011-$CURYEAR$ Daniel Marschall, ViaThinkSoft.');
$this->getHelpManager()->setSyntax('$SCRIPTNAME$ [-d directory] [-w warnSizeKB] [-c critSizeKB]');
$this->getHelpManager()->setFootNotes('If you encounter bugs, please contact ViaThinkSoft at www.viathinksoft.com');
 
# $this->warningSingleValueRangeBehaviors[0] = self::SINGLEVALUE_RANGE_VAL_GT_X_BAD;
# $this->criticalSingleValueRangeBehaviors[0] = self::SINGLEVALUE_RANGE_VAL_GT_X_BAD;
 
// Individual (non-standard) arguments:
$this->addExpectedArgument($this->argDir = new VNagArgument('d', 'directory', VNagArgument::VALUE_REQUIRED, 'directory', 'Directory to check (e.g. /tmp)Directory to check (e.g. /tmp)'));
}
 
protected static function check_open_deleted_files($dir_to_check = '/') {
// TODO: For some reason, it does not work if "sudo" is added to the command section in icinga2.conf!
exec('sudo lsof -n', $lines, $ec);
if ($ec != 0) return false;
 
/*
$lines = explode("\n",
'COMMAND PID TID TASKCMD USER FD TYPE DEVICE SIZE/OFF NODE NAME
php-cgi 430 oidplus 3u REG 0,42 0 1502217042 /tmp/.ZendSem.uhCRtC (deleted)
apache2 838 root 150u REG 0,42 0 1499023202 /tmp/.ZendSem.RFcTM9 (deleted)
postgres 1060 gitlab-psql txt REG 9,0 9291488 47189384 /opt/gitlab/embedded/postgresql/12/bin/postgres (deleted)
php-cgi 1573 owncloud 3u REG 0,42 0 1499024339 /tmp/.ZendSem.2Qh70x (deleted)
php-fpm7. 1738 root 3u REG 0,42 0 434907183 /tmp/.ZendSem.unGJqF
php-fpm7. 1739 www-data 3u REG 0,42 0 434907183 /tmp/.ZendSem.unGJqF (deleted)
php-fpm7. 1740 www-data 3u REG 0,42 0 434907183 /tmp/.ZendSem.unGJqF (deleted)
runsvdir 1932 root txt REG 9,0 27104 45351338 /opt/gitlab/embedded/bin/runsvdir (deleted)
');
*/
 
$line_desc = array_shift($lines);
$p_name = strpos($line_desc, 'NAME');
if ($p_name === false) return false;
 
$nodes = array();
 
foreach ($lines as $line) {
if (trim($line) == '') continue;
 
$name = substr($line, $p_name);
 
preg_match('@.+\s(\d+)\$@ism', substr($line, 0, $p_name-1), $m);
$tmp = rtrim(substr($line, 0, $p_name-1));
$tmp = explode(" ", $tmp);
$node = end($tmp);
 
$tmp = rtrim(substr($line, 0, $p_name-strlen($node)-1));
$tmp = explode(" ", $tmp);
$size = end($tmp);
 
if (substr($name, 0, strlen($dir_to_check)) !== $dir_to_check) continue;
 
if (strpos($name, ' (deleted)') === false) continue;
if ($size == 0) continue;
 
$nodes[$node] = $size;
}
 
$size_total = 0;
foreach ($nodes as $node => $size) {
$size_total += $size;
}
return $size_total;
}
 
protected function cbRun($optional_args=array()) {
$dir = $this->argDir->getValue();
if (empty($dir)) $dir = '/';
$dir = realpath($dir) === false ? $dir : realpath($dir);
if (substr($dir,-1) !== '/') $dir .= '/';
 
$size = self::check_open_deleted_files($dir);
if ($size === false) throw new Exception("Cannot get information from 'lsof'");
 
$this->checkAgainstWarningRange( array($size.'B'), false, true, 0);
$this->checkAgainstCriticalRange(array($size.'B'), false, true, 0);
 
$m = (new VNagValueUomPair($size.'B'));
$m->roundTo = ROUND_TO;
$sizeOut = $m->normalize(OUTPUT_UOM);
 
$msg = "$sizeOut opened deleted files in $dir";
$this->setHeadline($msg);
}
}
/trunk/plugins/open_deleted_files/check_open_deleted_files
0,0 → 1,43
#!/usr/bin/php
<?php /* <ViaThinkSoftSignature>
1/plVTkAWdec6XDCgEtflZEFrpHuRWcUf9fAXHgewg7eWEahtkBoBqyW25YZEc58s
6KujeaWk0KXSG0WP7k5Vxjzh7K43QoQyy+lG+7kOCOsYUhoCAquOjK1CPhNFzv8qO
bw1IDhqII+yxZKYNzg0+TfQj+znk88TD7CRc7t/AhyfiHarBv4lgH8Uy/FufLhPMl
4sUcGrLkTCL7AdEazw9f4WlmFfMe2LrQNOUu+6BxnOyG1JR1Ccl1AfaxgWQT1JxlB
hHQu3un+9EJsK+myrwvLuaFzWS7/Dc8pDR7uRGRZFHdVZ3eWSffBjjeb/rRkmXKHV
VwFWrrqTju1tX1Zg62GNjNxBWNAAdOfjDvJpryj7LKoiKbC3c6QwlZprknzk8io8z
xDz8U72y9DqIMBnt5SQfbQtewvcWjWlPcdV7HKEE0z3OwCm9S8itDUy4TH/SFOqm6
b+MqSb91RQALmKQPkBJCyArZA6a5pM1Y/fazVh3ooxiDIebLyDEoNG2zZjc1BdslR
Ru8IgJGNucL8jrsFfaZnx0U42+VPAlNlTW3PNBIy3sxuYHjurPKQsR1qusK9eiqpZ
9Ns0Hk1lrd4wbOAYKRYXJHrsuTUVFTUPuIn6JSFGNbzFStQiKXWOMkFbyAKAMofon
irhziPq1AJ/4cW1bcsB080nQGWuWXGny13nh4dq4iOqCfq8qZDCmzTRihM3KCvLEY
jBv1/CbIx4u8IwUiWw1AfiQHbNLxIXOalfOo5yko/aiHV2L1V57bfRXQcfeOg/N1K
2YHTREfY37SjeC5GzFjWeYhIXLmU7BUeVE9hFbMfl6718oMBk52L+3FTOOgO/G4UQ
P9zVL2WUzd5AFbEuWZHXrDOKgDVa9p4SSVbSb5WNQubINLtwtniLyrzVey/QMG5WI
XJBFnnM/AJmAER0MgfRK1xSAa6ZckRQz4y5Lb0VxYJTKcGwxFcCUEFM++QUt/flu0
NAe/mRwpmvK64ao9nMY+Ue7hL0duLAYxfdHO+f7yaDtzfz8jvh9Iiun/lpANv3sav
F505GNUrk1y+nuxe9qLwttnALsyfvsvqptTZBQsh4Fhj8z8orvBRPilQgBfjX1mmu
nHCuoEfEWAfmJCoJWcB422RncscjaqwNDk6yv7dTBrdIDSE8TWzklfFsCgCtMeAHX
fKSmej4YFoyCDXXWwa/ZpZbpD5Ra0gN1sMRqwXoWq49L/bKnqThhNQCElQS5Eylsg
jmxIU9X/E7vjfJx4gtKh7PxddkikLL61WHTEGOK8rSP+gr8pifHA4+M/F9/N8Gu3+
GiN2+Pa8RCludmT3SRHz71FkfpOibekS0ztTygBczEk8rfMAky946/yI75wGuVROX
Q==
</ViaThinkSoftSignature> */ ?>
<?php
 
/*
* VNag - Nagios Framework for PHP
* Developed by Daniel Marschall, ViaThinkSoft <www.viathinksoft.com>
* Licensed under the terms of the Apache 2.0 license
*
* Revision 2022-06-06
*/
 
declare(ticks=1);
 
require_once __DIR__ . '/../../framework/vnag_framework.inc.php';
require_once __DIR__ . '/OpenDeletedFilesCheck.class.php';
 
$job = new OpenDeletedFilesCheck();
$job->run();
unset($job);
Property changes:
Added: svn:executable
+*
\ No newline at end of property
/trunk/plugins/open_deleted_files/icinga2.conf
0,0 → 1,42
// Put this file in /etc/icinga2/conf.d/...
 
// VNag - Nagios Framework for PHP
// Developed by Daniel Marschall, ViaThinkSoft <www.viathinksoft.com>
// Licensed under the terms of the Apache 2.0 license
//
// Revision 2022-06-06
 
object CheckCommand "vnag_open_deleted_files" {
// PLEASE ADJUST THIS PATH
command = [ "/daten/vnag/plugins/open_deleted_files/check_open_deleted_files" ]
 
arguments = {
"-d" = {
value = "$vnag_open_deleted_files_dir$"
description = "Directory to check (e.g. /tmp)"
}
"-w" = {
value = "$vnag_open_deleted_files_warn$"
description = "absoluteKB (Warning range)"
}
"-c" = {
value = "$vnag_open_deleted_files_crit$"
description = "absoluteKB (Critical range)"
}
}
}
 
// Example usage:
//
// apply Service "example_server1_open_deleted_files" {
// import "generic-service"
// check_command = "vnag_open_deleted_files"
//
// vars = {
// vnag_open_deleted_files_dir = "/tmp"
// vnag_open_deleted_files_warn = "300MB"
// vnag_open_deleted_files_crit = "700MB"
// }
//
// assign where host.name == NodeName
// }
/trunk/plugins/overview
17,6 → 17,7
| mem | vnag_virtual_mem | No | Generic | Checks real+swap memory. Icinga's "swap" command only checks swap. |
| net2ftp_version | vnag_net2ftp_version | No | Generic | |
| nocc_version | vnag_nocc_version | No | Generic | |
| open_deleted_files | vnag_open_deleted_files | No | Generic | To see the files which are inaccessible, run "lsof -n | grep deleted" |
| openbugbounty | vnag_openbugbounty | No | Generic | |
| phpbb3_version | vnag_phpbb_version | No | Generic | |
| phpmyadmin_version | vnag_phpmyadmin_version | No | Generic | |
/trunk/plugins/smart/SmartCheck.class.php
1,26 → 1,26
<?php /* <ViaThinkSoftSignature>
MxM5IDmxLm4AvC7HzDxuwcSLYq57hKAe+rOy3+J8f3xVocgSffeNKPryAUV1XIDUQ
GsPaei87WN2j37pzhpMbxs73vTDip4vC5jQzYFurtVyC4JDZ3E4HKI2/X9w94FlI9
hjEvJ7hJ40i0YFRYhSIfDNqAnpvuWvcSZ4jADiakjVf3YQqfbcjazFX5gyRXH4F73
Ig+PHVFmhv5lc77x8sZqPggLIdxCCXWtuwPhwr95DTIYMLieIGlKO1uoytcDq9geI
EM7DWp7JPqECj8Z42jR+5Q4tt+EikyJ1/XX5eHDDI9e3p0bboq3l1SIXr9WQG5xtv
60EN4EGqCfJdLqDI29ETmH28JTOFReWkEr/Dcb9C569yeOWUi4L9h12BdKT5gxjOL
GXCHUfmrwss6Fl0s6EYmN03YEkCDsvHRna15Kf59J1r9h1yGrmpeBNLlS5+aHR81/
KYqeDF+ZMLmk2u1T4EpMVJ+QvLaGc4/a79vniZWZK/HRhIbV74WVu5yqGEzJ0dwij
QYDjUwRcz8GdfzBkEpUpIasRqWdKSgTAxKgW5GLFEXqJ4g9xsMmr2CD5dpDOBhwLQ
pHdI6WDGLp1NSts6hWyi7Yv8D+PYC07HMB4Lsk5b03eJ4BdGpyPTFpMKtMgBpCb9Q
oLU/E+j7Gv4CTJ8HEkg/oX8FGWs/EI1NpPwFa5m1Jb/CDvWc5d/tDUmxed14yxUAe
vbJbSkUYiULq7bl6nBwGLsaUbL+yrKHxh1ojl2e+/l8YlZAIkW702IZ9lukQ0HNzf
MHzho6z0UnAior+Y/C8wrGohDvbstBYErkq2MZLLotWy4y265AOi1UvnJXUBefDJH
j7M9UIkM8kycyplqyWCAWAfjF+yrMXWz+PH6lJm1N5ya0KoEfpLlRTlUcWkZEqOb4
B6z3AEoNzSmnvF62D0SQcvfY5idHhlOeyAVCCxr6ElHPTrh2TaQHg729OlaIRulvJ
+KX4hqIbJYHgXtLdQk4bLm+FE3GmgqGb7nAy0QQ/fv6ouHv3Dx3JZvYW1NSSCDSju
R6yJukTvuiWbwI4VgEDNk3sgqDHJHMg368OiRGSaHhdsssu5TIqA4jR/CxGj8VxOZ
9dtuoRlXQF16nSdzvx8YcI08c7jiYTffLo0AdYA8SGAqgc3qV2YKT1R61XiaG4N95
LaM8m4dquy1rJVRb+st4oph51o1cWHm5agHtEKitGOhxVbXE/AWHMiha3BMB9VJUi
FJKLq8yEQpoUEB45knhFn3/3XZUeWCj5TFy+IawBLfgLWpv9JvTCvHqFQ3DFW8jpS
OWgW4c7SOTM6yH5uExIRCqp/vbVaNcu0HU/RVU50UrdkkwQu6h+40+7EKFQHie/bZ
Q==
wvt5JYOFKaJBLyUvgpwn2+bDeUf+WHsqBRn7PiRv1GfwB1OBVVJvLNeVYYsfX8yAC
EnvtdEO42wmpGEuegwcgvthOmc9ltwc3XADjReEZtDBtRJqWO9ZyszaH4/Z8cGbJP
5qlQuIsw3LNkJbJIq+DZl8AoaQmYMkSB7TxDgl8QkQNbkJyynRNYSOq6i3pSkEas5
Vr4vkFQrer9+XeHPF5tdGtw+hLSbu1Gq7x4jMIpaY0H32F0FrTUgS4UWkxO2jfzPW
fNkcwGQgBWDpLvno0iE52XSEMlrvpIOQiTCX96QXvBM6hNk3+uwmHG7fhhSUYoagX
Ol5jeiMyQxHG9Rq3eOL07/1IR/zOI6AHENGsdfb8t3Q2/BDoEAu+B2hFsdZ1U86og
AoaYXlMgfcB9CAaPgaq1sEV3ZOn+XNHblAKiV7tt5LVkp22TQpgCIbdTJButAl+J7
1uHYUlHwxNFotjKR1JXQD/JVD+bTOrDLbuDQcUYdbgNE+PkLsqchbQCcfFPjGGUhS
BiSi4Kica72NHF+t7dgJ5ltT+zjkQBcJdJpdgUMw7HobHNWxVhkrycVIwTN6BWan6
KsdGJHYLKoMUSnvfFFV0AJZz4v8S+KwrOVwLnGBMHPvnpf9I8qbu42nCcyKnIdXHk
UNmprr9vnuxb2Dii6tJw8ZW3uvfkv1hFPwiVvazM2Md6nCMaJwnw4iEOwqum6DaEj
YmW5F2jwx4mSqUZipp+RNxqTGfHLAO+L0x1n//RqIK+ByfVAC0QIaCIY3BtLiOdDB
G0zHY0uiDUirMbsjK/Vs6bfcCsVZmTrDLPJGHDaHQqfHkGCteEfsAS3KdrGF5t21E
q6SY+p5lJQOAls9GFwGKfAnSViYH/4CqSNms1o+DbkhcW7sh6/2ljjqxPxl8iVs5v
HLx6EvKlk2ZMotSFhXBpTVYDb0V+yyIitm19M/vk/v010gkg78GbcxLi0belHX9pJ
p359eqFMbtqyX5Eiyhml+IFTBqnaFBVGVo40cAPLBjZWrPjvSbmXH5cJekSn7Zlwj
wRi1Dnmt2WKfB8mxnAPx4SrSEHQRoRvL+6NaGiZsqbGp0ptyHtAJyA6jgSw3kkttd
i0+tn9KD1lXt3mMkI3SfRTtzd3u10fn6X2OP0+zYXhikLsWV4BQKPB+if72c4HLj+
4FF2gccV71qzCdQeMFllc0SLmeK1nXd3dMXL7jRuPDAjls1bfqJIwM6gJA2DnKqSN
8nT4vtZ906bEkKkwDIRO4wDctSxkjvTXPg5hFWa7pgkdmpbjcm5AzM5FfrVKdZYeX
WbX0s6oima0/lyv2LTr5NDe0+YRMLMB8uPCEqZJKKVcrAhB2zr11GBRpy3/ERels0
g==
</ViaThinkSoftSignature> */ ?>
<?php
 
68,15 → 68,10
throw new VNagException("Program 'smartctl' (usually included in package smartmontools) is not installed on your system");
}
 
if (!`sudo cat /proc/cpuinfo`) {
// To make this work, please run "visudo" and add the following line:
// nagios ALL=NOPASSWD: /usr/sbin/smartctl
throw new VNagException("You don't have SUDO privileges. Please run 'visudo' and allow the command /usr/sbin/smartctl for user ".get_current_user().".");
}
 
$code = 0;
$out = array();
 
// TODO: For some reason, it does not work if "sudo" is added to the command section in icinga2.conf!
if ($this->argType->getValue() != '') {
exec('sudo smartctl --all '.escapeshellarg($dev).' -d '.escapeshellarg($this->argType->getValue()), $out, $code);
} else {
/trunk/plugins/virtual_mem/VirtualMemCheck.class.php
1,25 → 1,25
<?php /* <ViaThinkSoftSignature>
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
Q==
</ViaThinkSoftSignature> */ ?>
<?php
50,7 → 50,7
$this->getHelpManager()->setSyntax('$SCRIPTNAME$ [-w freeMemKB|%] [-c freeMemKB|%]');
$this->getHelpManager()->setFootNotes('If you encounter bugs, please contact ViaThinkSoft at www.viathinksoft.com');
 
// When the user writes "-w 10GB" then he actually means "-w 10GB:~" or "-w @~:10GB", so these commands allow this notation:
// In this context, when the user writes "-w 10GB" then they probably mean "-w @10GB". Make sure that the user doesn't do it wrong
$this->warningSingleValueRangeBehaviors[0] = self::SINGLEVALUE_RANGE_VAL_LT_X_BAD;
$this->criticalSingleValueRangeBehaviors[0] = self::SINGLEVALUE_RANGE_VAL_LT_X_BAD;
}
/trunk/plugins/x509_expire/X509ExpireCheck.class.php
1,26 → 1,26
<?php /* <ViaThinkSoftSignature>
JvUe2EqrSTpzUAa69aGVuvQPVhC4dS9OgSJw+lNJLLFBnB10I8C8EVE5DcrC1/bQ+
uF7qNulGCHJktHv8GEUhS79S7VzsuwFo8N1GXxRuanRlk3uCrPtOx8kvgdUesL8dm
fCKQAxGHauSogngnj3qyN6PvcKbcBpp+oFzzQvOJrlb3osfKMcaAtJP1k8UYaNvpd
T+Osi7jEe6sxRIH4c8iosSumIMHC763S0ngYMFk6i4tzHiyXr3QsfH9afKiVCX+8F
/Q9zlj83VHNRsJYFk/z83R74nK8ZEmOWqUtlC3WaHN5ieNwOfwgjCQQP6QBOk/Eih
VvBuT/RXlZxEpzkzkpevkGfPK0c21XFHFmni6zhMx950oKY3lUXhvjesORZ+wVGN7
CVi/ZjjoP0OAqT0dkl9X9t8LA2zIcN8qcq7kfd1T4ySbu88trlmoM4TM8/JE75B7X
H/UwsqxX+aG1pqwy9Ea9IkvCRTD1y80bp4HMrrEhStw70j0xPJMB/IxRRQjVoCajN
4ABpPpVk5cibj3/KLsWDSSu0PkXqkWBi1i1D+PZvDW/pqPTHLkd4wxj+dLp76kAga
OZ/xKJ6WNXS+bFd95RjURZaOoVYtwSION0tqqtNXTugmnDcrofSAFz+0+ccdLZKXX
jlqLHs042ZGZCHW76hjvneraHqpM9svGorm2i3ka88nCG72ssNIaGfEGiVIzneSNi
DHzmL5Qb9YLMa2bSH6CEgYmsaVtYmnwxEAPe2fq73/7pAdLXxRznuu5FbVGkjXXF3
MjOMEX+EKmIrtaVWvL6ny+EvAI0BYymuuk2H5fvDMzOIGtsAt3whjR2khF/FF1xUl
s5WgvE7lM6PQftgI11EHNjgjV5EPstThMHuLWbl8GlMCktG/gS8PMJM2arN7VL1NP
jDvJ3wath3kEUBZxfP0k1C7FhrL12I3PLy931uPMRtFH7em7zmLe76sYmgludGkR1
W5SZCRXwjk2T8q/fOGV3Ra334cr4ix2gw/EjTK1Ojtlidt3qYeKde1N/WK+n2kihO
eMjNj28r6l/0ysF5AYL42ZujJnMyyIiOIDEerYNKZKg9+Q5/6fCrTmItuIp0x2SqW
29b4fwtMFoPXN6a+XB/f09NTjnZ56tsG3EY7AJHGKZ9MjTvedrJ/cch1wr6LuD6eT
aHlf3zFK3Rgzyp/ixZqjVA4zjSrT/xQnoymLp7PjTK8tKcCOFxm2eJ+u3tsdg/Uka
Xylt+XPr0/QEXhKheAjug2Ylcqf1Aj4LH/WYVrZcUGAFIH/4Bzy7JEI+KRiN9MO3S
gSlzEzaQwfXnvm9rMhGawsgbapsRMpAbNDr9qfMO8iSgKy0SBi+16ao0H4bNxPgM6
w==
boKKZRVCLt6Pij9GtZwVtVRcuFrDhyTKij4SbspGGs+24F0eeo10iC1wBP05mJ7tL
WS8JfFSlv7vQDBcdd6sMF+vYQNldSznrK47dbZzQXFxuq26jd6BuuH41aP2pWHv57
XVCpYf5EPR0gFkyXzrtN/iFSr0kJKWk5iSz/iniucplPitxmXR0EN1qkKmcZgTon7
hKIjq3kb8RY6U4BFcXujRq7M/SlRvub2erQiWxPv3wKi+CQPRcCvq33/g7bPOTSpY
1WFCt+3zkCfQUomU27Y7/GSW1V+7T8DjAWUhR4rxO5nXyTx3vxqmv9UjfkKpTUVc/
TjhyS0mZ78rYX2HYW3+NBQQMMWfGlLKvuhHdJFU2dB9+YvW4Krm/N7xTcwKos3Aho
vSlnVHDf48KSXN/gPMKC7U3mOH8RB2oyiLJBX42CE+N30Ui+3TyxAj2/YMAjzDPYP
8b+yRhntXzvGX3wayFPcjBHBBWrchJ6JnERCewVW+/3vDKgjwHhnul4Y/lme79jNA
1Oj0ZX6rCGow+7z3he7/0ec92Rr8NOE8p7mrQn9iofTZcfFo2i5RDy+6raUvSi/Fp
2DP2HqwOGp2uHrFemzo9NepjH2DgnK5zMMRR1Q2hMksAsviWMWTUv0fkYZZSsi1LA
aROWE4CRaEhBuvt0bRIrJGZUbBWvxOE67CVYXHF20YvyKoI5IUN/ZOI2iCLMr+ss2
wrB5tW4ovYwsjV5nDAK1bg1hsdOKx5xv7PchfhUkAn1J3DoekDl9qECt3LKdKG2hl
ZwB/HrnuByxgab30wLUFsELT9v/pKJW6/2TFkWEfYw43MQzpsmKs/h0qTKW691GkW
htPhMbMpSCxgDGloU4z7EcMdnvTEM4ol1GyDn7NZlYhgEHfw+X/5CZNTYH5DJvt8J
K+aQaZFiZDHa8GaI7NyGERRk34C90lL7pgFEhaNGCFl+Z+YGegxwMjKbFo1xH0YNk
CMPYX9GGZIEMTTNEySCyuZsDvXpXK5CbQ8ywuZ9/B0avnUWrBBPLh9RchB07S6kA/
EcH71AxGafK8wDMrPzymdFVsHpwNp6FEvP/EpBHGv0x4/gYpPomUOxmy7uEE1dzdB
talRGPLAt8a/RXXG3ECsjgo3zDzmc8VYx6m4BPXvLsDX1b9NjN34AtBObE+iLLC3A
wMd4oQSnOwfDDYNdKg08s43j5m+SQ+HRGQqgGb9A6IcwxuHR9bTidXBgNORbbdjXf
9I1QW1Za0l5khdpDF/smNPMIwidcg2xBi7faHY/aOpzWTcTviox1ujPJmwaLr0I0l
DYFlTNaQ0wM+UBE501Lwss8gscs4duuSlBHQLA+ddOKWSd92/KK/JW3uf67rOaqfy
A==
</ViaThinkSoftSignature> */ ?>
<?php
 
52,7 → 52,7
// Individual (non-standard) arguments:
$this->addExpectedArgument($this->argFiles = new VNagArgument('f', 'file', VNagArgument::VALUE_REQUIRED, 'mask', 'The files to be checked. This argument can be used multiple times. Wilcards may be used but MUST be passed as string only (not resolved by the Shell). There are two possible checking modes: If you put a # in front of the file mask, only the oldest file of each group will be checked (use this mode e.g. if you have a directory which contains old backups of certificates beside the current working certificate). Otherwise, all files of the file group are checked.'));
 
// In this context, when the user writes "-w 60s" then he actually means "-w @~:60s" or "-w 60s:~", so these commands allow this notation:
// In this context, when the user writes "-w 60s" then they probably mean "-w @60s". Make sure that the user doesn't do it wrong
$this->warningSingleValueRangeBehaviors[0] = self::SINGLEVALUE_RANGE_VAL_LT_X_BAD;
$this->criticalSingleValueRangeBehaviors[0] = self::SINGLEVALUE_RANGE_VAL_LT_X_BAD;
}