[Nagios::]Monitoring::Plugin::Getopt bug + fix
Brandon Peirce <[email protected]> Wed, 25 Jul 2018 16:47:47 +0000
| Newsgroups | gmane.network.monitoring.plugins.devel,gmane.network.nagios.plugins.devel |
|---|---|
| Message-ID | <B4BFAB1C9685E843B6D08467638BE5B101731A01E3@mailbox02.isabelteam.be> |
--_005_B4BFAB1C9685E843B6D08467638BE5B101731A01E3mailbox02isab_
Content-Type: multipart/alternative;
boundary="_000_B4BFAB1C9685E843B6D08467638BE5B101731A01E3mailbox02isab_"
--_000_B4BFAB1C9685E843B6D08467638BE5B101731A01E3mailbox02isab_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Named arguments sometimes* don't work if label is supplied in
Nagios::Monitoring::Plugin-0.51 | Monitoring::Plugin-0.39.
* Sometimes it works, sometimes not. Non-deterministic, depends on interna=
l Perl ordering of hash members...
I have tried to make this fix fork-agnostic. It should, with the right pat=
ch options, apply to both with some offset.
--- a/xxx/Plugin/Getopt.pm
+++ b/xxx/Plugin/Getopt.pm
@@ -399,7 +399,7 @@
my %args;
# Named args
- if ($_[0] =3D~ m/^(spec|help|required|default)$/ && scalar(@_) % 2 =3D=
=3D 0) {
+ if ($_[0] =3D~ m/^(spec|help|required|label|default)$/ && scalar(@_) % 2=
=3D=3D 0) {
%args =3D validate( @_, {
spec =3D> 1,
help =3D> 1,
Regards,
Brandon Peirce
Brandon Peirce
Monitoring & Health Engineer Sr.
[email protected]<mailto:[email protected]>
t. +32 2 4031 875
m.+32 472 54 51 64
Isabel NV/SA
Keizerinlaan 13-15 Bld de l'Imp=E9ratrice
1000 Brussels
Belgium
t. +32 2 5451 711
f. +32 2 5451 719
www.isabel.eu<http://www.isabel.eu>
www.isabelgroup.eu<http://www.isabelgroup.eu>
[cid:image2baa0c.PNG-9dHCbIsI26tO49mfouGJ+Soyn5ZhHHrn@public.gmane.org]<http://www.isabel.eu>
[cid:imagea47fb0.PNG-PBY9+jvb8AZkZoAHqYfoEcGQDPeHAUuO@public.gmane.org]
Disclaimer: This email and any files transmitted with it are confidential a=
nd intended solely for the use of the individual or entity to whom they are=
addressed. If you are not the named addressee, you should not further read=
, disclose, distribute, copy or use this e-mail or its contents, immediatel=
y notify the sender by reply to this e-mail and delete this message as well=
as any attachments without retaining a copy. The entire email disclaimer o=
f Isabel NV/SA<http://www.isabel.eu/en/forbusiness/support6/disclaimer/emai=
l.html>
--_000_B4BFAB1C9685E843B6D08467638BE5B101731A01E3mailbox02isab_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
<html>
<head>
<!-- Template generated by Exclaimer Mail Disclaimers on {Current Date} -->
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Diso-8859-=
1">
<style type=3D"text/css">P.ImprintUniqueID {
MARGIN: 0cm 0cm 0pt
}
LI.ImprintUniqueID {
MARGIN: 0cm 0cm 0pt
}
DIV.ImprintUniqueID {
MARGIN: 0cm 0cm 0pt
}
TABLE.ImprintUniqueIDTable {
MARGIN: 0cm 0cm 0pt
}
DIV.Section1 {
page: Section1
}
</style>
</head>
<body>
<div>
<div>
<p class=3D"ImprintUniqueID"></p>
<div>Named arguments sometimes* don't work if label is supplied in<br>
Nagios::Monitoring::Plugin-0.51 | Monitoring::Plugin-0.39.<br>
<br>
* Sometimes it works, sometimes not. Non-deterministic, depends on in=
ternal Perl ordering of hash members...<br>
<br>
<br>
I have tried to make this fix fork-agnostic. It should, with the righ=
t patch options, apply to both with some offset.<br>
<br>
<br>
--- a/xxx/Plugin/Getopt.pm<br>
+++ b/xxx/Plugin/Getopt.pm<br>
@@ -399,7 +399,7 @@<br>
my %args;<br>
<br>
# Named args<br>
- if ($_[0] =3D~ m/^(spec|help|required|default)$/ && scalar(=
@_) % 2 =3D=3D 0) {<br>
+ if ($_[0] =3D~ m/^(spec|help|required|label|default)$/ &&am=
p; scalar(@_) % 2 =3D=3D 0) {<br>
%args =3D validate( @_, {<br>
spec =3D> 1,<br>
help =3D> 1,<br>
<br>
<br>
<br>
<br>
<br>
Regards,<br>
<br>
Brandon Peirce<br>
<br>
<br>
<br>
<br>
</div>
<br>
<table class=3D"ImprintUniqueIDTable" style=3D"HEIGHT: 272px; WIDTH: 450px;=
BORDER-COLLAPSE: collapse" cellspacing=3D"0" cellpadding=3D"0" width=3D"45=
0" border=3D"0">
<tbody>
<tr>
<td style=3D"HEIGHT: 77px">
<div>
<div>
<p class=3D"ImprintUniqueID"><font style=3D"font-family:Calibri;font-size:1=
0pt;color:#931648;font-weight:bold;">Brandon</font><strong><font color=3D"#=
931648" size=3D"2" face=3D"Calibri"> </font></strong><font style=3D"fo=
nt-family:Calibri;font-size:10pt;color:#931648;font-weight:bold;">Peirce</f=
ont></p>
</div>
<div><font style=3D"font-family:Calibri;font-size:10pt;color:#931648;">Moni=
toring & Health Engineer Sr.</font><font color=3D"#931648" size=3D"2" f=
ace=3D"Calibri"> <br>
</font><span style=3D"font-family:Calibri;font-size:10pt;color:#931648;"><a=
href=3D"mailto:[email protected]" title=3D"Click to send email to Brandon =
Peirce" target=3D"" style=3D"font-family:Calibri;font-size:10pt;color:#9316=
48;"><span style=3D"font-family:Calibri; font-size:10pt; color:#931648;">BP=
[email protected]</span></a></span></div>
</div>
<div>
<div><font color=3D"#931648" size=3D"2" face=3D"Calibri">t. </font><fo=
nt style=3D"font-family:Calibri;font-size:10pt;color:#931648;">+32 2 40=
31 875</font><br>
<font color=3D"#931648" size=3D"2" face=3D"Calibri">m.</font><font style=3D=
"font-family:Calibri;font-size:10pt;color:#931648;">+32 472 54 51 64</f=
ont></div>
</div>
</td>
</tr>
<tr>
<td style=3D"HEIGHT: 137px"><font color=3D"#931648"><font face=3D"Calibri">=
<font size=3D"2"><strong>Isabel NV/SA<br>
</strong>Keizerinlaan 13-15 Bld de l'Imp=E9ratrice<br>
1000 Brussels<br>
Belgium<br>
t. +32 2 5451 711<br>
f. +32 2 5451 719<br>
</font></font></font><span style=3D"font-family:Calibri;font-size:10pt;colo=
r:#931648;"><a href=3D"http://www.isabel.eu" title=3D"" target=3D"" style=
=3D"font-family:Calibri;font-size:10pt;color:#931648;"><span style=3D"font-=
family:Calibri; font-size:10pt; color:#931648;">www.isabel.eu</span></a></s=
pan><br>
<span style=3D"font-family:Calibri;font-size:10pt;color:#931648;"><a href=
=3D"http://www.isabelgroup.eu" title=3D"" target=3D"" style=3D"font-family:=
Calibri;font-size:10pt;color:#931648;"><span style=3D"font-family:Calibri; =
font-size:10pt; color:#931648;">www.isabelgroup.eu</span></a></span></td>
</tr>
<tr>
<td valign=3D"top" align=3D"center">
<p id=3D"undefined"><font color=3D"#931648" size=3D"2" face=3D"Calibri"></f=
ont></p>
<p align=3D"left"><font color=3D"#931648" size=3D"1" face=3D"Calibri">
<table class=3D"ImprintUniqueIDTable" style=3D"WIDTH: 100%; BORDER-COLLAPSE=
: collapse" cellspacing=3D"0" cellpadding=3D"0" border=3D"0">
<tbody>
<tr>
<td style=3D"WIDTH: 375px"><a href=3D"http://www.isabel.eu" target=3D""><im=
g width=3D"200" height=3D"63" style=3D"border: 0px Solid ; " src=3D"cid:ima=
[email protected]"></a></td>
<td style=3D"WIDTH: 72px">
<p align=3D"right"><img width=3D"53" height=3D"63" style=3D"border: 0px Sol=
id ; " src=3D"cid:imagea47fb0.PNG-PBY9+jvb8AZkZoAHqYfoEcGQDPeHAUuO@public.gmane.org"></p>
</td>
</tr>
</tbody>
</table>
<br>
Disclaimer: This email and any files transmitted with it are confidential a=
nd intended solely for the use of the individual or entity to whom they are=
addressed. If you are not the named addressee, you should not further read=
, disclose, distribute, copy or
use this e-mail or its contents, immediately notify the sender by reply to=
this e-mail and delete this message as well as any attachments without ret=
aining a copy. </font><span style=3D"font-family:Calibri;font-size:8pt=
;color:#931648;"><a href=3D"http://www.isabel.eu/en/forbusiness/support6/di=
sclaimer/email.html" title=3D"" target=3D"" style=3D"font-family:Calibri;fo=
nt-size:8pt;color:#931648;"><span style=3D"font-family:Calibri; font-size:8=
pt; color:#931648;">The
entire email disclaimer of Isabel NV/SA</span></a></span><br>
<br>
</p>
</td>
</tr>
</tbody>
</table>
<font color=3D"#931648" face=3D"Calibri"></font>
<p></p>
</div>
</div>
<div>
<div></div>
</div>
<div><font color=3D"#931648" face=3D"Calibri"></font></div>
<div><font color=3D"#931648" face=3D"Calibri"></font></div>
<div><font color=3D"#931648" face=3D"Calibri"></font></div>
<div><font color=3D"#931648" face=3D"Calibri"></font></div>
<div><font color=3D"#931648" face=3D"Calibri"></font></div>
<div><font color=3D"#931648" face=3D"Calibri"></font></div>
<div><font color=3D"#931648" face=3D"Calibri"></font></div>
<div><font color=3D"#931648" face=3D"Calibri"></font></div>
<div><font color=3D"#931648" face=3D"Calibri"></font></div>
<div><font color=3D"#931648" face=3D"Calibri"></font></div>
<div><font color=3D"#931648" face=3D"Calibri"></font></div>
</body>
</html>
--_000_B4BFAB1C9685E843B6D08467638BE5B101731A01E3mailbox02isab_--
--_005_B4BFAB1C9685E843B6D08467638BE5B101731A01E3mailbox02isab_
Content-Type: image/png; name="image2baa0c.PNG"
Content-Description: image2baa0c.PNG
Content-Disposition: inline; filename="image2baa0c.PNG"; size=4000;
creation-date="Wed, 25 Jul 2018 16:47:47 GMT";
modification-date="Wed, 25 Jul 2018 16:47:47 GMT"
Content-ID: <image2baa0c.PNG-9dHCbIsI26tO49mfouGJ+Soyn5ZhHHrn@public.gmane.org>
Content-Transfer-Encoding: base64
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
AABJRU5ErkJggg==
--_005_B4BFAB1C9685E843B6D08467638BE5B101731A01E3mailbox02isab_
Content-Type: image/png; name="imagea47fb0.PNG"
Content-Description: imagea47fb0.PNG
Content-Disposition: inline; filename="imagea47fb0.PNG"; size=4424;
creation-date="Wed, 25 Jul 2018 16:47:47 GMT";
modification-date="Wed, 25 Jul 2018 16:47:47 GMT"
Content-ID: <imagea47fb0.PNG-PBY9+jvb8AZkZoAHqYfoEcGQDPeHAUuO@public.gmane.org>
Content-Transfer-Encoding: base64
iVBORw0KGgoAAAANSUhEUgAAAGQAAAB2CAMAAAAJIsb2AAADAFBMVEUAAAABAQECAgIDAwMEBAQF
BQUGBgYHBwcICAgJCQkKCgoLCwsMDAwNDQ0ODg4PDw8QEBARERESEhITExMUFBQVFRUWFhYXFxcY
GBgZGRkaGhobGxscHBwdHR0eHh4fHx8gICAhISEiIiIjIyMkJCQlJSUmJiYnJycoKCgpKSkqKior
KyssLCwtLS0uLi4vLy8wMDAxMTEyMjIzMzM0NDQ1NTU2NjY3Nzc4ODg5OTk6Ojo7Ozs8PDw9PT0+
Pj4/Pz9AQEBBQUFCQkJDQ0NERERFRUVGRkZHR0dISEhJSUlKSkpLS0tMTExNTU1OTk5PT09QUFBR
UVFSUlJTU1NUVFRVVVVWVlZXV1dYWFhZWVlaWlpbW1tcXFxdXV1eXl5fX19gYGBhYWFiYmJjY2Nk
ZGRlZWVmZmZnZ2doaGhpaWlqampra2tsbGxtbW1ubm5vb29wcHBxcXFycnJzc3N0dHR1dXV2dnZ3
d3d4eHh5eXl6enp7e3t8fHx9fX1+fn5/f3+AgICBgYGCgoKDg4OEhISFhYWGhoaHh4eIiIiJiYmK
ioqLi4uMjIyNjY2Ojo6Pj4+QkJCRkZGSkpKTk5OUlJSVlZWWlpaXl5eYmJiZmZmampqbm5ucnJyd
nZ2enp6fn5+goKChoaGioqKjo6OkpKSlpaWmpqanp6eoqKipqamqqqqrq6usrKytra2urq6vr6+w
sLCxsbGysrKzs7O0tLS1tbW2tra3t7e4uLi5ubm6urq7u7u8vLy9vb2+vr6/v7/AwMDBwcHCwsLD
w8PExMTFxcXGxsbHx8fIyMjJycnKysrLy8vMzMzNzc3Ozs7Pz8/Q0NDR0dHS0tLT09PU1NTV1dXW
1tbX19fY2NjZ2dna2trb29vc3Nzd3d3e3t7f39/g4ODh4eHi4uLj4+Pk5OTl5eXm5ubn5+fo6Ojp
6enq6urr6+vs7Ozt7e3u7u7v7+/w8PDx8fHy8vLz8/P09PT19fX29vb39/f4+Pj5+fn6+vr7+/v8
/Pz9/f3+/v7////isF19AAAACXBIWXMAAC4iAAAuIgGq4t2SAAAN7klEQVRoQ+1a91cV1xa+f8W5
iI0oitgQFEXFGBsqVtBYMbELGkUswZoYUKNRY0wUxS5Yg12TEEgUFezGZ+QhFkQsIHbaVcqd/U7Z
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
--_005_B4BFAB1C9685E843B6D08467638BE5B101731A01E3mailbox02isab_--