From 7a17a626fe17990e9438a0ba588a5aaca6cbda88 Mon Sep 17 00:00:00 2001
From: "th.l" <thl-cmk@outlook.com>
Date: Thu, 21 Sep 2023 17:35:38 +0200
Subject: [PATCH] update project

---
 README.md                                        |   1 +
 .../cmk/base/cee/plugins}/bakery/squid.py        |   4 +++-
 packages/squid                                   |  11 ++++++-----
 squid-2.0.4-2023-09-21.mkp                       | Bin 0 -> 4644 bytes
 squid.mkp                                        | Bin 4518 -> 0 bytes
 5 files changed, 10 insertions(+), 6 deletions(-)
 rename {agents => lib/python3/cmk/base/cee/plugins}/bakery/squid.py (84%)
 create mode 100644 squid-2.0.4-2023-09-21.mkp
 delete mode 100644 squid.mkp

diff --git a/README.md b/README.md
index b813828..bcc86a6 100644
--- a/README.md
+++ b/README.md
@@ -1,3 +1,4 @@
+[PACKAGE]: ../../raw/master/squid-2.0.4-2023-09-21.mkp "squid-2.0.4-2023-09-21.mkp"
 # Squid Web Proxy
 
 This CheckMK plugin monitors the performance of the _**Squid Web Proxy**_. This plugin is intended to use with the Agent Bakery of CheckMK.
diff --git a/agents/bakery/squid.py b/lib/python3/cmk/base/cee/plugins/bakery/squid.py
similarity index 84%
rename from agents/bakery/squid.py
rename to lib/python3/cmk/base/cee/plugins/bakery/squid.py
index dbaa895..23c3d7c 100755
--- a/agents/bakery/squid.py
+++ b/lib/python3/cmk/base/cee/plugins/bakery/squid.py
@@ -14,6 +14,8 @@
 # 2023-05-20: moved agent plugin from ~/local/share/check_mk/agents/plugins/linux
 #                                  to ~/local/share/check_mk/agents/plugins
 #             renamed bakery plugin from squid to squid.py
+# 2023-09-21: moved file to ~/local/lib/check_mk/base/cee/plugins/bakery
+#             fix crash if port not configured in wato
 
 from pathlib import Path
 from cmk.base.cee.plugins.bakery.bakery_api.v1 import (
@@ -33,7 +35,7 @@ def get_squid_files(conf) -> FileGenerator:
 
     yield PluginConfig(
         base_os=OS.LINUX,
-        lines=[f'port={conf["port"]}'],
+        lines=[f'port={conf.get("port", 3128)}'],
         target=Path('squid.cfg'),
         include_header=False,
     )
diff --git a/packages/squid b/packages/squid
index 96c8476..7712d7e 100644
--- a/packages/squid
+++ b/packages/squid
@@ -7,12 +7,13 @@
                 'Rewritten for CMK 2.1.x\n',
  'download_url': 'https://thl-cmk.hopto.org',
  'files': {'agent_based': ['squid.py'],
-           'agents': ['bakery/squid.py', 'plugins/squid'],
+           'agents': ['plugins/squid'],
            'checkman': ['squid'],
-           'gui': ['wato/squid.py', 'metrics/squid.py']},
+           'gui': ['wato/squid.py', 'metrics/squid.py'],
+           'lib': ['python3/cmk/base/cee/plugins/bakery/squid.py']},
  'name': 'squid',
  'title': 'Squid3 Health Check',
- 'version': '2.0.3-2023-05-22',
+ 'version': '2.0.4-2023-09-21',
  'version.min_required': '2.1.0b1',
- 'version.packaged': '2.1.0p21',
- 'version.usable_until': None}
\ No newline at end of file
+ 'version.packaged': '2.2.0p7',
+ 'version.usable_until': None}
diff --git a/squid-2.0.4-2023-09-21.mkp b/squid-2.0.4-2023-09-21.mkp
new file mode 100644
index 0000000000000000000000000000000000000000..ee884059f74f08d6a9ab8b1cceec1b5773e62d3c
GIT binary patch
literal 4644
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
CpcTyk

literal 0
HcmV?d00001

diff --git a/squid.mkp b/squid.mkp
deleted file mode 100644
index fb912a247b4de607eef751901df98259ae2a2751..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 4518
zcmZu!XE+;-<7|1&s!_EXdzMP<8bxZBQfepm-l-9L#VCqeQG4&!-myc?s7-09O;OaA
znEAi|kH6=6@7vvdx-WOnvBi;+0!LhI3Gi?aZzo%zC`cG21{4(*6$1)O07XSXFc<fG
z2WElrMJXh9<?6AN-S*RJp4UZoFUsR|vm3UP7i3Li;BX^Wwzwkp7>3wQni96`<KT-u
zV%$A`BvP)$p@kUzB}TAdYUka(hoQ~{38*7%9-~svl;0@${?^1)FV50UoRy7nXrpg!
zjiZE(g(VR??0(2Z-8f8MIMM~?>vl3^uD*GjO??nlik?yDGj0nGygmOK3%Zr^494#b
z{7MAD5KG?!fJI~cjY@nUm{<CA^YM~Czc(FZxEu-*aE*|nG(hz*CU(IBaoj}DuTZI(
z1N}H2bC@hy<Kn;hY6Z*_Y`w;?)WX=Ph<E$eywxf*tWa}%RH-Gv6kPVHs_3a@O0VUv
za;0As4{^@SG<KU1KqNMgO*)|MqRf3-#0tf6Nc-b`t#`O?i5=UdZ(JtMtJ|2OK?_{f
zvLeOZClSN*x9*rP3<(-cNnuOrvvHa=l0oQ6#swX!cg^4O1j7q#a%}B`OV<wAi}z`O
z?i-~WBFToJ5d$+5^KrCh{YREOf0#;0*kP7xp-rRg!3pI6wn{>Uhe%8_CTF-53YK~*
z4(4ku;?QW1Eu=b+=oS&Dyz1-gwi>>?S~wm}B1lOBC@TS|9Eu6vSpKx=W%UoSd`xC-
zKW6GYXufG_6LcgOfGU4WMRJ3_1CL@uUg5zq!msb}I7eCiJ3RCTVS>Y7yl+BX<9!mF
zc(93)Sxb1K<v!+XxlWvrc{Sqq`s=?;Th-nZYNK6ZZ^H~c4=GlJ7QV2#S`cKqV`RHF
zk;&@4Jn*Yos_h&<Q7MZ&UH9(c!u_Dd)gX01u#hu5<4XeHE-2u!nb2=OEgJrjJfjhi
zl)1t;mRe2Z)si6KrY1+I!>r)gdfwn2HlIKjJU>MvkH$+5;(UAYiBUsGg*SLHc5ji1
zCOm*8F>!z|fBW*xjhW5<8XYmUM!JCT@;j@#1}k3J*Kdpic3QUZDeD7h3Tt{w`vl2?
zWjeBVRwAn`P3B2=7T5h3+X<+gBq`%F3+vZ=M4O#(*FPdM9N-X~Vn_+=LtuK&fY^Nf
zjI5`f`?O>bOoZcHgPi^9WS7NNg}21Vo;XYIS&>@Gm}MV*iM>l)ZW?*S(-N<`7Kn16
zf)(<2LsX=}Kcx36KLGMljAS@m@Z=RAgH8~H^C+P2s!U@i@#Cj9z_vLB3R*5gLs7+8
zv8x<GMF@_R-dbEH?_dxf+g#E|yZJKGz^2z2?(?jghtFFBGx$8R3XY$R{(35H<w1?J
z>Q|qu2S|r$km)l(^WH!!2NwC-ANI8OL*dhULkY?<e-g5GV?MUa7QRMg8?Npc6@OAF
z=LzVURv;S4GyVK``q`g`vBzSeTTJ?UraH-&nNdcQp<VA&B+IQTuh|Q|-X>(h+bva&
zwOH(xe5u^PI>bIS635@|vL++V$+pxiBR|G2FIv_4oTu5pfA$r$i~c>>9y-ek?NO9%
z&vBRkxX>EOu6J^fz*lf-Hl#E|n>oZCXnEf=8YSmx*CrC_sTL&CISXBt(Rr2ayu`_q
zbfnGFMwBbdFwGlTF3bN4WD$+fXrpWb)hgAg>8T?Hx`T(%>dh-Z#6Jup*z*tjs0Z~6
zpD#w+H89KwPC=;;_V%9_X)0~CO@1ecoj@aLs<MXV{ndvb>~ITvJ*A<TbQsO~U{^{j
zX5n6z&L3wu?NlUnru)coqzTL$%#ESWy&wEt9PyWsI==gZoR&oD)yriOWwbaUj;-}_
z*%ac-sX5j`lHtP{*ErctmR0yp@Gr3@p<zyCTMNNHC<pSwgC&V3zohwO+e~&$nWT6l
zAxiXab>E~nEz4!>DMA;^&$F9K+8;`YdU*+-dJlsrfqY!-uN<qCfxG6Q3`P<lDUqaR
zs@}?Zg?Gu1wk+`*bL#yvwrcL0Iju?g(s$3w>kqU9-4izX9Jc37q&r%eb>&O#txK{J
z<_nfh++H>7n)7OYH<^Xgt4Tii0eZ5_8h>OpI(qVZeq7f0po)Q9xAw=-8xb}YG4=r2
z??|eL<q%NHrVXR^jMew!43Mh(()R)GS#~8@49U5!I_i}tFs9^18@+m^^VLel%mziL
z^5}~HDy-r>duS=*aUjye*Yl!Oyq=_<Neq%I?ud)rb~^<!72A)wqgzt6dKjMT=*0WJ
zU*L3D;y#zQKV<jPS1`)!b{-bkQdOjfn8N@$Avjal2<d$;%Z@*gJWS0#ETC)q(_6rU
zpkFqsFLuZz_KWzCsYLz-BL(|r4Z6AI*|}Z-E_!rI{DDS8IlpT>?@!9Xn4PRc%W1mG
zyVT_dElG=s6`9%G@(vW`wDxhn*MOiL>1w8&se_5j9M{+*_3H-HC-oLd18pz!(gBL4
zfU-wRL=Ntm$rvE<tfFYJdNHMgyN>JhH&*=p786~wfaUu7=7Yxz$=EWdku2Zp^}~6^
zUZ-{p%``o~GMyf@jx%i5Xu4waubwsE`M@XRzj=?m8L-}z8f@HN<d3LlQ5x)F^qR-|
zS8>h=s%OKCuM5BUJ=H-~+FDzZE~~p^e0Oh<RMW1D&?l&qh?I}2PxL(HDI_06#bG)`
zi0=Os_jM3@jt!=rmVQDRxVh#2<G_HL*Cg#p(aEFQEMed9B)7BS*2T&^;zHrHgApy0
z&vb(zJ8{vtmV=hrL^JaL0YbN=5Ti|h(}pd;X>a^^dz?RU|ITkGX3sGJ&rCTqSnr5W
z_K=ljwZ7RN{(qC;j<Q$zCZGo)s<zCtV`^cs*9kv^Q8f2Vc7veDk`%`4x6x#(mIIQ&
z#aO|43#|_m#4gc4fs%33vVrqiFBo4)#0_XOu&v~`lrX6A0zJDuGyL57@9Y*!GoYjO
zw9qs9OCc~XE1gc}jZ?=S(orSGZ(Otc_{2Af=rZFD7!%vU1?MaA*^EZ@TO^r)DaqzF
z-M%=K{!ga=CWxR9Z)?gw-UYqA;p48vO>Dp1y;<jT!E-M+3f#?vE^{m(KAQbI6?jWW
z=Fk7yp)&YWj%|czZ6<NX$*JJ<#><~0<WA<L?zK=Dr{x9FPx9T+Db)mtSFy1=X4G$U
za{1Z#1;%431nW>@8rmVU5w)dC+^{S*Zhl5Swp0h>yVX{Guh?Pj@eCXe8kFb3d$PjU
zjdD-x`f8Q&^JkdGlNd38W{6<m5V3X0ta>52M^uaybW>9XN)Wc5EuS57Q-uz^Ui*gl
z{fb{0ObL@wfxW=ckYN-aEX@%sacqHHkJVm3?}9iwChbao!WG3MP(p{BdLlhrp+27H
z?OhP(X($zjsqS~IG5m=ZqRv!R?EWdO1TxA|UN<6J2>h_v*2r7DKc9&RjC;R_9=yc+
zeX79^Mw8TOF*Cg?wvoVtXKoVV;MS(^hu&&%W4d_jqisq*nVd6{^`n7X$<yYIwHMs<
zGPU;+BFZaZi>crYE_M>__yr3^PL`ais(ai&+2YS{vGTT;ez8aLLZYF{5eyrA(SOk>
z*$nl*`{}F96HL6t9*7cJkGdUW+rItQlJ)q<HEB{i(N*bdn{@VF%Mi8?Gk)9ebz}`l
zxqJA1307qK-Z?dls}HCTZ^3&SF~&7tGeTdW!*pGuMP!rPZ!5;AaIZ58uq1`c_$Ap(
z+*<SuD!&XST$L*U1=v$LD1g-Rk?2kR2-ioP>6<IZ5=>NOl(|hjSw32`#!~#*h<gw7
z*M{v36DC3syTYnh$pF7iqXr76BteA`9v!u-kB&zxwfzZP)A<`Kw?s_aWVCsfUjA<&
zba^^vj_>Dfh0BcyJ6+y0*5bWC#l1O5rSkDVk4@nlMBH9^1IjNLCOc?Ve{!rO3Bv!9
zWNO{QBTyF{USIX&zgVWQ(3x)z_}O2@qeuvi>64jw=7qB??`uLV@AK4mN^6Hlwmg85
zuyAr4_FL!{E$4^{V7!Gz%?-&*llf76lopQ0@el6;kDk+5i!(V&jNTnAk5bqY#}}1p
z5&btJ!Q5%}r%k>2fm9#x%&cq_-)|2m!d;%7kZ1>y-K3p@6IC}N1n*`T0gQMLN9GD#
z;&x~(K4|oMr8nC?$HVp@U?b2yn<((?xB)vNm3$*p5xR0}+MZYOyq&wt=k+H6GbIBf
zBhPg9TD~stid2%Q^`^Ct<^fLo<<QY}hUEItg{=nz{z<WP%dtKED0AiX-8Z(|9;>_@
z3EOA90eeIqp4IDAe&5WryMHn7sVV7Bjms?0L)yD?EFy?FGdLll)u(*<D)~skWMs&-
z$k|3H+xx&YGtvuQ(gKsyNiN<cL>^6v9U>|LOYgR~A%2K_@vDO;4wKwux_<`pVb#wj
zAFXKOC(R_0>{^@Zxv`+B969MgjaAVh_x|aK3~V_a9Og2)bn4M-O!?JuA(ormIEilK
z$@OJy`<2S2|3zaSa(PzdE@A5M&HHDJM=ZlqszAApCya$HcD>9EX;!*;085MSW!Hn%
z=|EA+znoeruX>TkCZ7SN3%vTL=V&a0X8*Wc7RDL$COFiz(<C=1m?PYx%XGzw4!Ro|
zjLA*NEiN1v>Ya&Rg2~MO0t$4F%ZW?f9<_OWaZ06>u;C)aI_6d-<X2DjLFAtiyvs~m
zfA@;e;PG>sd1fP&J<&XE#(0l!TdM0&M}5~Ppnv92etK|ao@$A&k2|uhZGgE|Ip6->
zU^SQD@>vKdYvrwz%Ed^3LGPC+U)XEG#ywUzi8Szf#2mxZJ{RyD#cMkwK_7mhAf0lm
zvD=tg^<&_lnHEdCYmw0is}9FII`4=tX{NN_`bZmh6m)9dFz5a$>6+qNMAqzTJfwq%
zX9W7>GPOz--1>*qT~$5}7>h$c>9Js3-?I>du$RJVSu4!N)08qni+eg{fE?~`#WGNc
zc>JDNj!BoFT(Oni#KdEH>5bzmGN7Pc^=E1|vWTH#pZ9Ukx{!Jvt5*Lw{M?ueUJCBP
zRAy<-tU8&?ln@O-9?SLrc0+595H@=5s|5=LLshy=Pokq*Thirrxk7>0cpDpW5E}3F
z84I4hL;K?sZ&H@CyLK|V%acuc!o}mW=l-zReQkCIr0t&(g}HlR2Il{LvMOIio5EAi
z<O<flGCZKv?7xMEjYX!(gLfYA1*(@Rn<`iHNET<8%B7OYzNvpV!@HSnKalKp60r6R
zVI<r}(>{6+C5IKtan-hrO0TV5F6GXu%R8(2j;!)6{7#BFC_K(I+0YO^P8fgf+VLUk
z8)SG=wKbFDNw+4=$zgFA5t(mls(z+tF{cxufyJ1Do`g8XZCxAkP+HxFPSseYJ^>iN
zXel`@O>4K?xd=He)G7T%xzsS1HfDetR$|9wLj~BP7_5zw)t*rasdw7C2+Vm2^C{Q0
zhxcaI>>#fX>Q}ZOOlp}W5>+1=So%x<_;N_|X4aq#IK_8J=R$E2U<mnCr`m&&*q3Tv
zHWUT4BpDlOMCgpM!)BhG+QYP1?RS7?ESl3OMQ1u#tCD17xM$mJnmjsh#B)r*sfAom
z1IiO-yY!W@(z88rw}AVuNJBo-p*{Uk$BWV^1(35V^Co7dKKFXLtW@BYYiiA-wTpV=
zUQ3$-!>N7Y*D2OmmQrl9zFwnSLR0)M_;RYydR^ukDew9%P{pYM?40!(CsTq1{+7b8
zCMG&xul((*{j9jeo#HYhg(~TE4$^N%Ym>tQaN;%$`3Y1(y&x?1k4nVfA0~bqu7|8R
zQs0L>f)lnzK5w+Y1jw7rCk^TZE6o`i&XhrF3u;4TO>M#}od3@JqT7-*?vAxDrv3Ds
zzn$)%*=%23Z#TkOL-=he5s#6}&>VSym3=8F+|jP>!EpvDX*_rGa%iTz!eGkZ*$B@6
W?&E*e$dy<;Nn7V0>%HN7_x=y6JG`*~

-- 
GitLab