PNG  IHDRQgAMA a cHRMz&u0`:pQ<bKGDgmIDATxwUﹻ& ^CX(J I@ "% (** BX +*i"]j(IH{~R)[~>h{}gy)I$Ij .I$I$ʊy@}x.: $I$Ii}VZPC)I$IF ^0ʐJ$I$Q^}{"r=OzI$gRZeC.IOvH eKX $IMpxsk.쒷/&r[޳<v| .I~)@$updYRa$I |M.e JaֶpSYR6j>h%IRز if&uJ)M$I vLi=H;7UJ,],X$I1AҒJ$ XY XzI@GNҥRT)E@;]K*Mw;#5_wOn~\ DC&$(A5 RRFkvIR}l!RytRl;~^ǷJj اy뷦BZJr&ӥ8Pjw~vnv X^(I;4R=P[3]J,]ȏ~:3?[ a&e)`e*P[4]T=Cq6R[ ~ޤrXR Հg(t_HZ-Hg M$ãmL5R uk*`%C-E6/%[t X.{8P9Z.vkXŐKjgKZHg(aK9ڦmKjѺm_ \#$5,)-  61eJ,5m| r'= &ڡd%-]J on Xm|{ RҞe $eڧY XYrԮ-a7RK6h>n$5AVڴi*ֆK)mѦtmr1p| q:흺,)Oi*ֺK)ܬ֦K-5r3>0ԔHjJئEZj,%re~/z%jVMڸmrt)3]J,T K֦OvԒgii*bKiNO~%PW0=dii2tJ9Jݕ{7"I P9JKTbu,%r"6RKU}Ij2HKZXJ,妝 XYrP ެ24c%i^IK|.H,%rb:XRl1X4Pe/`x&P8Pj28Mzsx2r\zRPz4J}yP[g=L) .Q[6RjWgp FIH*-`IMRaK9TXcq*I y[jE>cw%gLRԕiFCj-ďa`#e~I j,%r,)?[gp FI˨mnWX#>mʔ XA DZf9,nKҲzIZXJ,L#kiPz4JZF,I,`61%2s $,VOϚ2/UFJfy7K> X+6 STXIeJILzMfKm LRaK9%|4p9LwJI!`NsiazĔ)%- XMq>pk$-$Q2x#N ؎-QR}ᶦHZډ)J,l#i@yn3LN`;nڔ XuX5pF)m|^0(>BHF9(cզEerJI rg7 4I@z0\JIi䵙RR0s;$s6eJ,`n 䂦0a)S)A 1eJ,堌#635RIgpNHuTH_SԕqVe ` &S)>p;S$魁eKIuX`I4춒o}`m$1":PI<[v9^\pTJjriRŭ P{#{R2,`)e-`mgj~1ϣLKam7&U\j/3mJ,`F;M'䱀 .KR#)yhTq;pcK9(q!w?uRR,n.yw*UXj#\]ɱ(qv2=RqfB#iJmmL<]Y͙#$5 uTU7ӦXR+q,`I}qL'`6Kͷ6r,]0S$- [RKR3oiRE|nӦXR.(i:LDLTJjY%o:)6rxzҒqTJjh㞦I.$YR.ʼnGZ\ֿf:%55 I˼!6dKxm4E"mG_ s? .e*?LRfK9%q#uh$)i3ULRfK9yxm܌bj84$i1U^@Wbm4uJ,ҪA>_Ij?1v32[gLRD96oTaR׿N7%L2 NT,`)7&ƝL*꽙yp_$M2#AS,`)7$rkTA29_Iye"|/0t)$n XT2`YJ;6Jx".e<`$) PI$5V4]29SRI>~=@j]lp2`K9Jaai^" Ԋ29ORI%:XV5]JmN9]H;1UC39NI%Xe78t)a;Oi Ҙ>Xt"~G>_mn:%|~ޅ_+]$o)@ǀ{hgN;IK6G&rp)T2i୦KJuv*T=TOSV>(~D>dm,I*Ɛ:R#ۙNI%D>G.n$o;+#RR!.eU˽TRI28t)1LWϚ>IJa3oFbu&:tJ*(F7y0ZR ^p'Ii L24x| XRI%ۄ>S1]Jy[zL$adB7.eh4%%누>WETf+3IR:I3Xה)3אOۦSRO'ٺ)S}"qOr[B7ϙ.edG)^ETR"RtRݜh0}LFVӦDB^k_JDj\=LS(Iv─aTeZ%eUAM-0;~˃@i|l @S4y72>sX-vA}ϛBI!ݎߨWl*)3{'Y|iSlEڻ(5KtSI$Uv02,~ԩ~x;P4ցCrO%tyn425:KMlD ^4JRxSهF_}شJTS6uj+ﷸk$eZO%G*^V2u3EMj3k%)okI]dT)URKDS 7~m@TJR~荪fT"֛L \sM -0T KfJz+nإKr L&j()[E&I ߴ>e FW_kJR|!O:5/2跌3T-'|zX ryp0JS ~^F>-2< `*%ZFP)bSn"L :)+pʷf(pO3TMW$~>@~ū:TAIsV1}S2<%ޟM?@iT ,Eūoz%i~g|`wS(]oȤ8)$ ntu`өe`6yPl IzMI{ʣzʨ )IZ2= ld:5+請M$-ї;U>_gsY$ÁN5WzWfIZ)-yuXIfp~S*IZdt;t>KūKR|$#LcԀ+2\;kJ`]YǔM1B)UbG"IRߊ<xܾӔJ0Z='Y嵤 Leveg)$znV-º^3Ւof#0Tfk^Zs[*I꯳3{)ˬW4Ւ4 OdpbZRS|*I 55#"&-IvT&/윚Ye:i$ 9{LkuRe[I~_\ؠ%>GL$iY8 9ܕ"S`kS.IlC;Ҏ4x&>u_0JLr<J2(^$5L s=MgV ~,Iju> 7r2)^=G$1:3G< `J3~&IR% 6Tx/rIj3O< ʔ&#f_yXJiގNSz; Tx(i8%#4 ~AS+IjerIUrIj362v885+IjAhK__5X%nV%Iͳ-y|7XV2v4fzo_68"S/I-qbf; LkF)KSM$ Ms>K WNV}^`-큧32ŒVؙGdu,^^m%6~Nn&͓3ŒVZMsRpfEW%IwdǀLm[7W&bIRL@Q|)* i ImsIMmKmyV`i$G+R 0tV'!V)֏28vU7͒vHꦼtxꗞT ;S}7Mf+fIRHNZUkUx5SAJㄌ9MqμAIRi|j5)o*^'<$TwI1hEU^c_j?Е$%d`z cyf,XO IJnTgA UXRD }{H}^S,P5V2\Xx`pZ|Yk:$e ~ @nWL.j+ϝYb퇪bZ BVu)u/IJ_ 1[p.p60bC >|X91P:N\!5qUB}5a5ja `ubcVxYt1N0Zzl4]7­gKj]?4ϻ *[bg$)+À*x쳀ogO$~,5 زUS9 lq3+5mgw@np1sso Ӻ=|N6 /g(Wv7U;zωM=wk,0uTg_`_P`uz?2yI!b`kĸSo+Qx%!\οe|އԁKS-s6pu_(ֿ$i++T8=eY; צP+phxWQv*|p1. ά. XRkIQYP,drZ | B%wP|S5`~́@i޾ E;Չaw{o'Q?%iL{u D?N1BD!owPHReFZ* k_-~{E9b-~P`fE{AܶBJAFO wx6Rox5 K5=WwehS8 (JClJ~ p+Fi;ŗo+:bD#g(C"wA^ r.F8L;dzdIHUX݆ϞXg )IFqem%I4dj&ppT{'{HOx( Rk6^C٫O.)3:s(۳(Z?~ٻ89zmT"PLtw䥈5&b<8GZ-Y&K?e8,`I6e(֍xb83 `rzXj)F=l($Ij 2*(F?h(/9ik:I`m#p3MgLaKjc/U#n5S# m(^)=y=đx8ŬI[U]~SцA4p$-F i(R,7Cx;X=cI>{Km\ o(Tv2vx2qiiDJN,Ҏ!1f 5quBj1!8 rDFd(!WQl,gSkL1Bxg''՞^ǘ;pQ P(c_ IRujg(Wz bs#P­rz> k c&nB=q+ؔXn#r5)co*Ũ+G?7< |PQӣ'G`uOd>%Mctz# Ԫڞ&7CaQ~N'-P.W`Oedp03C!IZcIAMPUۀ5J<\u~+{9(FbbyAeBhOSܳ1 bÈT#ŠyDžs,`5}DC-`̞%r&ڙa87QWWp6e7 Rϫ/oY ꇅ Nܶըtc!LA T7V4Jsū I-0Pxz7QNF_iZgúWkG83 0eWr9 X]㾮݁#Jˢ C}0=3ݱtBi]_ &{{[/o[~ \q鯜00٩|cD3=4B_b RYb$óBRsf&lLX#M*C_L܄:gx)WΘsGSbuL rF$9';\4Ɍq'n[%p.Q`u hNb`eCQyQ|l_C>Lb꟟3hSb #xNxSs^ 88|Mz)}:](vbۢamŖ࿥ 0)Q7@0=?^k(*J}3ibkFn HjB׻NO z x}7p 0tfDX.lwgȔhԾŲ }6g E |LkLZteu+=q\Iv0쮑)QٵpH8/2?Σo>Jvppho~f>%bMM}\//":PTc(v9v!gոQ )UfVG+! 35{=x\2+ki,y$~A1iC6#)vC5^>+gǵ@1Hy٪7u;p psϰu/S <aʸGu'tD1ԝI<pg|6j'p:tպhX{o(7v],*}6a_ wXRk,O]Lܳ~Vo45rp"N5k;m{rZbΦ${#)`(Ŵg,;j%6j.pyYT?}-kBDc3qA`NWQū20/^AZW%NQ MI.X#P#,^Ebc&?XR tAV|Y.1!؅⨉ccww>ivl(JT~ u`ٵDm q)+Ri x/x8cyFO!/*!/&,7<.N,YDŽ&ܑQF1Bz)FPʛ?5d 6`kQձ λc؎%582Y&nD_$Je4>a?! ͨ|ȎWZSsv8 j(I&yj Jb5m?HWp=g}G3#|I,5v珿] H~R3@B[☉9Ox~oMy=J;xUVoj bUsl_35t-(ՃɼRB7U!qc+x4H_Qo֮$[GO<4`&č\GOc[.[*Af%mG/ ňM/r W/Nw~B1U3J?P&Y )`ѓZ1p]^l“W#)lWZilUQu`-m|xĐ,_ƪ|9i:_{*(3Gѧ}UoD+>m_?VPۅ15&}2|/pIOʵ> GZ9cmíتmnz)yߐbD >e}:) r|@R5qVSA10C%E_'^8cR7O;6[eKePGϦX7jb}OTGO^jn*媓7nGMC t,k31Rb (vyܴʭ!iTh8~ZYZp(qsRL ?b}cŨʊGO^!rPJO15MJ[c&~Z`"ѓޔH1C&^|Ш|rʼ,AwĴ?b5)tLU)F| &g٣O]oqSUjy(x<Ϳ3 .FSkoYg2 \_#wj{u'rQ>o;%n|F*O_L"e9umDds?.fuuQbIWz |4\0 sb;OvxOSs; G%T4gFRurj(֍ڑb uԖKDu1MK{1^ q; C=6\8FR艇!%\YÔU| 88m)֓NcLve C6z;o&X x59:q61Z(T7>C?gcļxѐ Z oo-08jہ x,`' ҔOcRlf~`jj".Nv+sM_]Zk g( UOPyεx%pUh2(@il0ݽQXxppx-NS( WO+轾 nFߢ3M<;z)FBZjciu/QoF 7R¥ ZFLF~#ȣߨ^<쩡ݛкvџ))ME>ώx4m#!-m!L;vv#~Y[đKmx9.[,UFS CVkZ +ߟrY٧IZd/ioi$%͝ب_ֶX3ܫhNU ZZgk=]=bbJS[wjU()*I =ώ:}-蹞lUj:1}MWm=̛ _ ¾,8{__m{_PVK^n3esw5ӫh#$-q=A̟> ,^I}P^J$qY~Q[ Xq9{#&T.^GVj__RKpn,b=`żY@^՝;z{paVKkQXj/)y TIc&F;FBG7wg ZZDG!x r_tƢ!}i/V=M/#nB8 XxЫ ^@CR<{䤭YCN)eKOSƟa $&g[i3.C6xrOc8TI;o hH6P&L{@q6[ Gzp^71j(l`J}]e6X☉#͕ ׈$AB1Vjh㭦IRsqFBjwQ_7Xk>y"N=MB0 ,C #o6MRc0|$)ف"1!ixY<B9mx `,tA>)5ػQ?jQ?cn>YZe Tisvh# GMމȇp:ԴVuږ8ɼH]C.5C!UV;F`mbBk LTMvPʍϤj?ԯ/Qr1NB`9s"s TYsz &9S%U԰> {<ؿSMxB|H\3@!U| k']$U+> |HHMLޢ?V9iD!-@x TIî%6Z*9X@HMW#?nN ,oe6?tQwڱ.]-y':mW0#!J82qFjH -`ѓ&M0u Uγmxϵ^-_\])@0Rt.8/?ٰCY]x}=sD3ojަЫNuS%U}ԤwHH>ڗjܷ_3gN q7[q2la*ArǓԖ+p8/RGM ]jacd(JhWko6ڎbj]i5Bj3+3!\j1UZLsLTv8HHmup<>gKMJj0@H%,W΃7R) ">c, xixј^ aܖ>H[i.UIHc U1=yW\=S*GR~)AF=`&2h`DzT󑓶J+?W+}C%P:|0H܆}-<;OC[~o.$~i}~HQ TvXΈr=b}$vizL4:ȰT|4~*!oXQR6Lk+#t/g lԁߖ[Jڶ_N$k*". xsxX7jRVbAAʯKҎU3)zSNN _'s?f)6X!%ssAkʱ>qƷb hg %n ~p1REGMHH=BJiy[<5 ǁJҖgKR*倳e~HUy)Ag,K)`Vw6bRR:qL#\rclK/$sh*$ 6덤 KԖc 3Z9=Ɣ=o>X Ώ"1 )a`SJJ6k(<c e{%kϊP+SL'TcMJWRm ŏ"w)qc ef꒵i?b7b('"2r%~HUS1\<(`1Wx9=8HY9m:X18bgD1u ~|H;K-Uep,, C1 RV.MR5άh,tWO8WC$ XRVsQS]3GJ|12 [vM :k#~tH30Rf-HYݺ-`I9%lIDTm\ S{]9gOڒMNCV\G*2JRŨ;Rҏ^ڽ̱mq1Eu?To3I)y^#jJw^Ńj^vvlB_⋌P4x>0$c>K†Aļ9s_VjTt0l#m>E-,,x,-W)سo&96RE XR.6bXw+)GAEvL)͞K4$p=Ũi_ѱOjb HY/+@θH9޼]Nԥ%n{ &zjT? Ty) s^ULlb,PiTf^<À] 62R^V7)S!nllS6~͝V}-=%* ʻ>G DnK<y&>LPy7'r=Hj 9V`[c"*^8HpcO8bnU`4JȪAƋ#1_\ XϘHPRgik(~G~0DAA_2p|J묭a2\NCr]M_0 ^T%e#vD^%xy-n}-E\3aS%yN!r_{ )sAw ڼp1pEAk~v<:`'ӭ^5 ArXOI驻T (dk)_\ PuA*BY]yB"l\ey hH*tbK)3 IKZ򹞋XjN n *n>k]X_d!ryBH ]*R 0(#'7 %es9??ښFC,ՁQPjARJ\Ρw K#jahgw;2$l*) %Xq5!U᢯6Re] |0[__64ch&_}iL8KEgҎ7 M/\`|.p,~`a=BR?xܐrQ8K XR2M8f ?`sgWS%" Ԉ 7R%$ N}?QL1|-эټwIZ%pvL3Hk>,ImgW7{E xPHx73RA @RS CC !\ȟ5IXR^ZxHл$Q[ŝ40 (>+ _C >BRt<,TrT {O/H+˟Pl6 I B)/VC<6a2~(XwV4gnXR ϱ5ǀHٻ?tw똤Eyxp{#WK qG%5],(0ӈH HZ])ג=K1j&G(FbM@)%I` XRg ʔ KZG(vP,<`[ Kn^ SJRsAʠ5xՅF`0&RbV tx:EaUE/{fi2;.IAwW8/tTxAGOoN?G}l L(n`Zv?pB8K_gI+ܗ #i?ޙ.) p$utc ~DžfՈEo3l/)I-U?aԅ^jxArA ΧX}DmZ@QLےbTXGd.^|xKHR{|ΕW_h] IJ`[G9{).y) 0X YA1]qp?p_k+J*Y@HI>^?gt.06Rn ,` ?);p pSF9ZXLBJPWjgQ|&)7! HjQt<| ؅W5 x W HIzYoVMGP Hjn`+\(dNW)F+IrS[|/a`K|ͻ0Hj{R,Q=\ (F}\WR)AgSG`IsnAR=|8$}G(vC$)s FBJ?]_u XRvύ6z ŨG[36-T9HzpW̞ú Xg큽=7CufzI$)ki^qk-) 0H*N` QZkk]/tnnsI^Gu't=7$ Z;{8^jB% IItRQS7[ϭ3 $_OQJ`7!]W"W,)Iy W AJA;KWG`IY{8k$I$^%9.^(`N|LJ%@$I}ֽp=FB*xN=gI?Q{٥4B)mw $Igc~dZ@G9K X?7)aK%݅K$IZ-`IpC U6$I\0>!9k} Xa IIS0H$I H ?1R.Чj:4~Rw@p$IrA*u}WjWFPJ$I➓/6#! LӾ+ X36x8J |+L;v$Io4301R20M I$-E}@,pS^ޟR[/s¹'0H$IKyfŸfVOπFT*a$I>He~VY/3R/)>d$I>28`Cjw,n@FU*9ttf$I~<;=/4RD~@ X-ѕzἱI$: ԍR a@b X{+Qxuq$IЛzo /~3\8ڒ4BN7$IҀj V]n18H$IYFBj3̵̚ja pp $Is/3R Ӻ-Yj+L;.0ŔI$Av? #!5"aʄj}UKmɽH$IjCYs?h$IDl843.v}m7UiI=&=0Lg0$I4: embe` eQbm0u? $IT!Sƍ'-sv)s#C0:XB2a w I$zbww{."pPzO =Ɔ\[ o($Iaw]`E).Kvi:L*#gР7[$IyGPI=@R 4yR~̮´cg I$I/<tPͽ hDgo 94Z^k盇΄8I56^W$I^0̜N?4*H`237}g+hxoq)SJ@p|` $I%>-hO0eO>\ԣNߌZD6R=K ~n($I$y3D>o4b#px2$yڪtzW~a $I~?x'BwwpH$IZݑnC㧄Pc_9sO gwJ=l1:mKB>Ab<4Lp$Ib o1ZQ@85b̍ S'F,Fe,^I$IjEdù{l4 8Ys_s Z8.x m"+{~?q,Z D!I$ϻ'|XhB)=…']M>5 rgotԎ 獽PH$IjIPhh)n#cÔqA'ug5qwU&rF|1E%I$%]!'3AFD/;Ck_`9 v!ٴtPV;x`'*bQa w I$Ix5 FC3D_~A_#O݆DvV?<qw+I$I{=Z8".#RIYyjǪ=fDl9%M,a8$I$Ywi[7ݍFe$s1ՋBVA?`]#!oz4zjLJo8$I$%@3jAa4(o ;p,,dya=F9ً[LSPH$IJYЉ+3> 5"39aZ<ñh!{TpBGkj}Sp $IlvF.F$I z< '\K*qq.f<2Y!S"-\I$IYwčjF$ w9 \ߪB.1v!Ʊ?+r:^!I$BϹB H"B;L'G[ 4U#5>੐)|#o0aڱ$I>}k&1`U#V?YsV x>{t1[I~D&(I$I/{H0fw"q"y%4 IXyE~M3 8XψL}qE$I[> nD?~sf ]o΁ cT6"?'_Ἣ $I>~.f|'!N?⟩0G KkXZE]ޡ;/&?k OۘH$IRۀwXӨ<7@PnS04aӶp.:@\IWQJ6sS%I$e5ڑv`3:x';wq_vpgHyXZ 3gЂ7{{EuԹn±}$I$8t;b|591nءQ"P6O5i }iR̈́%Q̄p!I䮢]O{H$IRϻ9s֧ a=`- aB\X0"+5"C1Hb?߮3x3&gşggl_hZ^,`5?ߎvĸ%̀M!OZC2#0x LJ0 Gw$I$I}<{Eb+y;iI,`ܚF:5ܛA8-O-|8K7s|#Z8a&><a&/VtbtLʌI$I$I$I$I$I$IRjDD%tEXtdate:create2022-05-31T04:40:26+00:00!Î%tEXtdate:modify2022-05-31T04:40:26+00:00|{2IENDB`Mini Shell

HOME


Mini Shell 1.0
DIR:/lib/python2.7/site-packages/sos/policies/
Upload File :
Current File : //lib/python2.7/site-packages/sos/policies/redhat.pyc
�
u��ec
@s�ddlmZddlZddlZddlZddlZddlZddlmZddl	m
Z
mZddlm
Z
mZmZddlmZddlmZejd�ZyddlZeZWnek
r�eZnXd	Zy
eZWnek
rnXd
e
fd��YZdZ d
Z!ede�Z"ede�Z#edede�Z$dddgZ%dddgZ&dZ'dZ(dZ)dZ*e'Z+dZ,dZ-dZ.dZ/eddd d!g�Z0d"Z1d#Z2d$Z3d%Z4ededd&g�Z5d'Z6d(Z7ededed)e%de&�Z8d*Z9d+Z:d,Z;d-Z<ied.e(d/e)d0e;d1e"�e(6ed.e*d/e+�e*6ed.e,d/e-d1e0�e,6ed.e.d/e/d0e<d1e$�e.6ed.e1d/e2d0e;d1e"�e16ed.e3d/e4d0e;d1e5�e36ed.e6d/e7d0e9d1e8�e66Z=d2Z>d3Z?d4Z@d5efd6��YZAd7eAfd8��YZBd9ZCd:ZDd;ZEied.eCd/eEd0e;d1e"�eC6ZFd<eAfd=��YZGd>eAfd?��YZHd@eGfdA��YZIdBefdC��YZJdS(Di����(tprint_functionN(tDeviceAuthorizationClass(tPlugintRedHatPlugin(tLinuxPolicytPackageManagertPresetDefaults(t_sos(t
SoSOptionstsoss/etc/os-releasetRedHatPolicycBs�eZdZdZdZdZdZdZdZdZ	ddgZ
eZd	Z
d
ZdZdZdZdZd
Zdd�Zed��Zd�Zd�Zd�Zd�Zd�ZRS(tCentOSshttps://www.centos.org/s/etc/redhat-releases/var/tmps7rpm -qa --queryformat "%{NAME}|%{VERSION}|%{RELEASE}\n"srpm -qalsrpm -Vt	debuginfos-develt/s/opt/rhtfriendlysVhttps://sso.redhat.com/auth/realms/redhat-external/protocol/openid-connect/auth/devicesPhttps://sso.redhat.com/auth/realms/redhat-external/protocol/openid-connect/tokencCsJtt|�jd|�d|_t|_|rG|j�||_n|j�}td|j	d|j
d|jd|jd|�|_
tg|_|j
j�|_|js�tdd	tj�tjd
�n|j|j�|_|jr�d|_n	d|_|jtjd
7_|jtjd7_|j�|j�dS(Ntsysroottt
query_commandtverify_commandt
verify_filtert
files_commandtchroots'Could not obtain installed package listtfileis/usr/sbin:/usr/bin:/root/bins'/sbin:/bin:/usr/sbin:/usr/bin:/root/bins/usr/local/bins/usr/local/sbin(tsuperR
t__init__t
ticket_numbertFalsetusrmovet_container_initt
_host_sysrootRt	_rpmq_cmdt	_rpmv_cmdt_rpmv_filtert
_rpmql_cmdtpackage_managerRtvalid_subclassestall_pkgstpkgstprinttsyststderrtexitt
check_usrmovetPATHtostpathsept
set_exec_pathtload_presets(tselfR((s7/usr/lib/python2.7/site-packages/sos/policies/redhat.pyRAs2		
						
cCstS(s�This method checks to see if we are running on CentOS Linux. It must be
        overriden by concrete subclasses to return True when running on a
        Fedora, CentOS, RHEL or other CentOS distribution or False otherwise.(R(tcls((s7/usr/lib/python2.7/site-packages/sos/policies/redhat.pytcheckfscCsXd|kr.tjjd�o-tjjd�S|dd}|ddkrPtStSdS(sqTest whether the running system implements UsrMove.

            If the 'filesystem' package is present, it will check that the
            version is greater than 3. If the package is not present the
            '/bin' and '/sbin' paths are checked and UsrMove is assumed
            if both are symbolic links.

            :param pkgs: a packages dictionary
        t
filesystems/bins/sbintversionit3N(R,tpathtislinktTrueR(R0R%tfilesys_version((s7/usr/lib/python2.7/site-packages/sos/policies/redhat.pyR*ms
"cCsHg}d�}|jr@x!|D]}|j||��qW|S|SdS(s2Mangle paths for post-UsrMove systems.

            If the system implements UsrMove, all files will be in
            '/usr/[s]bin'. This method substitutes all the /[s]bin
            references in the 'files' list with '/usr/[s]bin'.

            :param files: the list of package managed files
        cSsKddg}||kr5|tjjd|d�fStjdd|�fS(Ns/bin/rpms
/bin/mailxs/usris(^)(/s?bin)s\1/usr\2(R,R6tjointretsub(R6t
skip_paths((s7/usr/lib/python2.7/site-packages/sos/policies/redhat.pyttransform_path�sN(Rtextend(R0tfilestpathsR>tf((s7/usr/lib/python2.7/site-packages/sos/policies/redhat.pytmangle_package_path}s			
cCs�ttjkr1tjtdkr1t|_q1nttjkrStjt|_n|joh|jdk}|r�tjj|j|j	�}||_	n|r�|jSdS(s�Check if sos is running in a container and perform container
        specific initialisation based on ENV_HOST_SYSROOT.
        tdockertociR
(RDREN(t
ENV_CONTAINERR,tenvironR8t
_in_containertENV_HOST_SYSROOTRR6tabspatht_tmp_dirtNone(R0tuse_sysrootthost_tmp_dir((s7/usr/lib/python2.7/site-packages/sos/policies/redhat.pyR�scCs�ddlm}m}g}|d|dtd|d|dddt�}|j�\}}|rf|Sxj|j�d	D]X}y|jd
d	�\}	}
Wntk
r�qwX|
dkrw|jt|	��qwqwW|S(Ni����(tPopentPIPEs"LC_ALL=C /sbin/chkconfig --list %stshelltstdoutR(tbufsizet	close_fdsit:ton(	t
subprocessRORPR8tcommunicatetsplitt
IndexErrortappendtint(R0tnameRORPtrettptoutterrttabstrunleveltonoff((s7/usr/lib/python2.7/site-packages/sos/policies/redhat.pytrunlevel_by_service�s&
	
cCs|s
|jS|S(N(RK(R0topt_tmp_dir((s7/usr/lib/python2.7/site-packages/sos/policies/redhat.pytget_tmp_dir�sN(t__name__t
__module__tdistrotvendort
vendor_urlt_redhat_releaseRKRR!RR RRHRtdefault_scl_prefixtname_patternRLt
upload_urltupload_usertclient_identifier_urlttoken_endpointRtclassmethodR2R*RCRReRg(((s7/usr/lib/python2.7/site-packages/sos/policies/redhat.pyR
,s0%				t	containertHOSTtverifytall_logstboottstoragetsystemsboot.all-images=onsrpm.rpmva=onsrpm.rpmdb=onsCentOS LinuxtrhvtVirtualizationtrheltrhospsOpenStack PlatformtocpsOpenShift Container Platformtplugoptssprocess.lsof=offs#networking.ethtool_namespaces=Falsesnetworking.namespaces=200tcfmet
CloudFormst	satellitet	Satellites
apache.log=ontcantboots(For use when normal system startup failstprofiless9Data collection will be limited to a boot-affecting scopes$This preset may increase report sizes(This preset may increase report run times1This preset may increase report size and run timeR]tdesctnotetoptssZ
Any information provided to %(vendor)s will be treated in accordance with the published support policies at:

  %(vendor_url)s

The generated archive may contain data considered sensitive and its content should be reviewed by the originating organization before being passed to any third party.

No changes will be made to system configuration.
shttps://api.access.redhat.comssftp://sftp.access.redhat.comt
RHELPolicycBs�eZeZdZdZeded�Ze	Z
dZdZ
dd�Zed��Zd�Zd�Zd	�Zd
�Zed�Zd�Zd
�Zd�Zd�Zd�Zd�Zd�ZRS(Rshttps://wiki.centos.org/supportsThis command will collect diagnostic and configuration information from this %(distro)s system and installed applications.

An archive containing the collected information will be generated in %(tmpdir)s and may be provided to a %(vendor)s support representative.
s%(vendor_text)s
tpostcCs*tt|�jd|�|jt�dS(NR(RR�Rtregister_presetstrhel_presets(R0R((s7/usr/lib/python2.7/site-packages/sos/policies/redhat.pyR!scCs�tjjt�stSttd��d}xZ|D]R}|jd�r/|jd�\}}|jd�}|j|j	�r�t
Sq/q/WWdQXtS(s�Test to see if the running host is a RHEL installation.

            Checks for the presence of the "CentOS Linux"
            release string at the beginning of the NAME field in the
            `/etc/os-release` file and returns ``True`` if it is
            found, and ``False`` otherwise.

            :returns: ``True`` if the host is running RHEL or ``False``
                      otherwise.
        trtNAMEt=s"'N(R,R6texistst
OS_RELEASERtopent
startswithRYtstripRjR8(R1RBtlineR]tvalue((s7/usr/lib/python2.7/site-packages/sos/policies/redhat.pyR2%s
cCsL|jdjr&tjtd��n|jsHt|_tjd�ndS(NtcmdlineoptssVThe option --upload-user has been deprecated in favour of device authorization in RHELs&No case id provided, uploading to SFTP(tcommonsRqtloggertinfot_tcase_idtRH_SFTP_HOSTRp(R0((s7/usr/lib/python2.7/site-packages/sos/policies/redhat.pytprompt_for_upload_user=s		cCs*|jdjr&tjtd��ndS(NR�sVThe option --upload-pass has been deprecated in favour of device authorization in RHEL(R�tupload_passR�R�R�(R0((s7/usr/lib/python2.7/site-packages/sos/policies/redhat.pytprompt_for_upload_passwordHscCs�|jr|jS|jdjr.|jdjS|jdjdkrHtS|jdjsitjd�tSd}t||jSdS(NR�tsftps&No case id provided, uploading to SFTPs /support/v1/cases/%s/attachments(RpR�tupload_protocolR�R�R�R�tRH_API_HOST(R0trh_case_api((s7/usr/lib/python2.7/site-packages/sos/policies/redhat.pytget_upload_urlQs	
cCsdj|j�}i|d6S(Ns	Bearer {}t
Authorization(tformatt
_device_token(R0tstr_auth((s7/usr/lib/python2.7/site-packages/sos/policies/redhat.pyt_get_upload_https_auth_scCs�i|jjd�d||j�fd6}t|j|j�}|j�|_tj	dj
|j���tj
|j�d|d|j�d|�S(s�If upload_https() needs to use requests.post(), use this method.
        Policies should override this method instead of the base upload_https()
        :param archive:     The open archive file object
        R
i����Rs1Device authorized correctly. Uploading file to {}R@theadersRw(R]RYt_get_upload_headersRRrRstget_access_tokenR�R�R�R�tget_upload_url_stringtrequestsR�R�R�(R0tarchiveRwR@tRHELAuth((s7/usr/lib/python2.7/site-packages/sos/policies/redhat.pyt_upload_https_postcscCs+|j�jt�r'idd6dd6SiS(Ntfalset	isPrivatesno-caches
cache-control(R�R�R�(R0((s7/usr/lib/python2.7/site-packages/sos/policies/redhat.pyR�zscCs9|j�jt�rdS|j�jt�r2dS|jS(NsCustomer PortalsRed Hat Secure FTP(R�R�R�R�Rp(R0((s7/usr/lib/python2.7/site-packages/sos/policies/redhat.pyR�s
cCs4|jjd�d}|jr0d|j|fS|S(s�The RH SFTP server will only automatically connect file uploads to
        cases if the filename _starts_ with the case number
        R
i����s%s_%s(tupload_archive_nameRYR�(R0tfname((s7/usr/lib/python2.7/site-packages/sos/policies/redhat.pyt_get_sftp_upload_name�s	cCs$tjd�d|j�kr2tt|�j�StsGtd��nd}d}|j	s�yt
|j|j�}Wn5tk
r�}dt
|�kr�tjd�q�q�X|j�|_	n|j	r�tjdj|j���ntd}d}|j	rr|j�}tj|d|d	d
�}|jdkretj|j�d}tj|j�d
}q�td�nwitd6}tj|dtj|�d	d
�}	|	jdkr�tj|	j�}
|
d}|
d
}td|�n|r|rtt|�jd|d|�Std��dS(s�Override the base upload_sftp to allow for setting an on-demand
        generated anonymous login for the RH SFTP server if a username and
        password are not given
        s//isOpython-requests is not installed and is required for obtaining SFTP auth token.send user denieds:Device token authorization has been cancelled by the user.s1Device authorized correctly. Uploading file to {}s/support/v2/sftp/tokenR�ttimeouti
i�tusernamettokensUUnable to retrieve Red Hat auth token using provided credentials. Will try anonymous.tisAnonymoustdatasHUsing anonymous user %s for upload. Please inform your support engineer.tusertpasswords1Could not retrieve valid or anonymous credentialsN(R�RYR�RR�tupload_sftptREQUESTS_LOADEDt	ExceptionRLR�RRrRststrR�R�R�R�R�R�R�R�R�tstatus_codetjsontloadsttextR&R8tdumps(R0t_tokent_userR�teturlR^R�tadatatanontresp((s7/usr/lib/python2.7/site-packages/sos/policies/redhat.pyR��sP		
	

$

cCs�y]|jrD|jjt�rD|j�s8|j�rDt|_ntt|�j|�}Wnft	k
r�}t
}|jjt�s��q�td|tf�t|_tt|�j|�}nX|S(sOverride the base upload_archive to provide for automatic failover
        from RHCP failures to the public RH dropbox
        s5Upload to Customer Portal failed due to %s. Trying %s(RpR�R�tget_upload_usertget_upload_passwordR�RR�tupload_archiveR�RR&(R0R�tuploadedR�((s7/usr/lib/python2.7/site-packages/sos/policies/redhat.pyR��s	cCs�y�|jjd�}|j|dd}|ddkr>dS|ddkrRdS|dd	krfd
S|ddkrzdS|dd
kr�dSWntk
r�nXtS(Nsredhat-release*iR4t4it5Servert5Clientit6it7it8i(R�R�(R"tall_pkgs_by_name_regexR%R�R(R0trrtpkgname((s7/usr/lib/python2.7/site-packages/sos/policies/redhat.pytdist_version�s 
cCs�x7ddgD])}|jjd|�r
|jt�Sq
W|jd�dk	r\|jt�S|jd�dk	r~|jt�S|jd�dk	r�|jt�S|jd�dk	s�|jd�dk	r�|jt	�S|jt
�S(	Ntrescuet	emergencys	%s.targetssatellite-commons
rhosp-releaseR�sovirt-enginetvdsm(tinit_systemt
is_runningtfind_presettCBtpkg_by_nameRLtRH_SATELLITEtRHOSPtRH_CFMEtRHVtRHEL(R0ttarget((s7/usr/lib/python2.7/site-packages/sos/policies/redhat.pytprobe_preset�s



N(RhRitRHEL_RELEASE_STRRjRkRlR�tdisclaimer_texttmsgR�t_upload_urlRLR�t_upload_methodRRtR2R�R�R�R�R8R�R�R�R�R�R�R�R�(((s7/usr/lib/python2.7/site-packages/sos/policies/redhat.pyR�s,										?		tCentOsPolicycBseZdZdZdZRS(Rshttps://www.centos.org/(RhRiRjRkRl(((s7/usr/lib/python2.7/site-packages/sos/policies/redhat.pyR�statomictAtomicsAtomic HosttRedHatAtomicPolicycBsFeZdZeded�Zdd�Zed��Z	d�Z
RS(sAtomic Hosts�This command will collect diagnostic and configuration information from this %(distro)s system.

An archive containing the collected information will be generated in %(tmpdir)s and may be provided to a %(vendor)s support representative.
s%(vendor_text)s
cCs*tt|�jd|�|jt�dS(NR(RR�RR�tatomic_presets(R0R((s7/usr/lib/python2.7/site-packages/sos/policies/redhat.pyR#scCs�t}ttjkr|Stjt|j}tjj|�sCtSy:x3t|d�j�j	�D]}|t
|kO}qbWWntk
r�nX|S(NR�(RRIR,RGRmR6R�R�treadt
splitlinestATOMIC_RELEASE_STRtIOError(R1R�thost_releaseR�((s7/usr/lib/python2.7/site-packages/sos/policies/redhat.pyR2's"
cCs)|jd�r|jt�S|jt�S(Nsatomic-openshift(R�R�tRHOCPtATOMIC(R0((s7/usr/lib/python2.7/site-packages/sos/policies/redhat.pyR�6s
N(RhRiRjR�R�R�RLRRtR2R�(((s7/usr/lib/python2.7/site-packages/sos/policies/redhat.pyR�stRedHatCoreOSPolicycBsFeZdZeded�Zdd�Zed��Z	d�Z
RS(tCoreOSs�This command will collect diagnostic and configuration information from this %(distro)s system.

An archive containing the collected information will be generated in %(tmpdir)s and may be provided to a %(vendor)s support representative.
s%(vendor_text)s
cCstt|�jd|�dS(NR(RR�R(R0R((s7/usr/lib/python2.7/site-packages/sos/policies/redhat.pyRHscCst}ttjkr|Stjt|j}y:x3t|d�j�j�D]}|d|kO}qLWWntk
rznX|S(NR�R(	RRIR,RGRmR�R�R�R�(R1tcoreosR�R�((s7/usr/lib/python2.7/site-packages/sos/policies/redhat.pyR2Ks"
cCs
|jt�S(N(R�R�(R0((s7/usr/lib/python2.7/site-packages/sos/policies/redhat.pyR�XsN(RhRiRjR�R�R�RLRRtR2R�(((s7/usr/lib/python2.7/site-packages/sos/policies/redhat.pyR�=s
tCentOsAtomicPolicycBseZdZdZdZRS(sCentOS Atomic HostRshttps://www.centos.org/(RhRiRjRkRl(((s7/usr/lib/python2.7/site-packages/sos/policies/redhat.pyR^stFedoraPolicycBs>eZdZdZdZdd�Zed��Zd�Z	RS(tFedorasthe Fedora Projectshttps://fedoraproject.org/cCstt|�jd|�dS(NR(RRR(R0R((s7/usr/lib/python2.7/site-packages/sos/policies/redhat.pyRjscCstjjd�S(sXThis method checks to see if we are running on Fedora. It returns
        True or False.s/etc/fedora-release(R,R6tisfile(R1((s7/usr/lib/python2.7/site-packages/sos/policies/redhat.pyR2mscCs0|jd�p|jd�d}t|d�S(Nsfedora-releasesfedora-release-.*i����R4(R�R�R\(R0tpkg((s7/usr/lib/python2.7/site-packages/sos/policies/redhat.pytfedora_versionssN(
RhRiRjRkRlRLRRtR2R(((s7/usr/lib/python2.7/site-packages/sos/policies/redhat.pyRds(Kt
__future__RR�R,R'R;tloggingtsos.policies.authRtsos.pluginsRRtsos.policiesRRRR	RR�Rt	getLoggerR�R�R8R�tImportErrorRR�t	raw_inputtinputt	NameErrorR
RFRIt_opts_verifyt_opts_all_logst_opts_all_logs_verifyt_cb_profilest_cb_plugoptsR�R�tRHV_DESCR�t	RHEL_DESCR�t
RHOSP_DESCR�t
RHOCP_DESCt
RHOSP_OPTSR�tRH_CFME_DESCR�tRH_SATELLITE_DESCtSAT_OPTSR�tCB_DESCtCB_OPTStCB_NOTEt	NOTE_SIZEt	NOTE_TIMEtNOTE_SIZE_TIMER�R�R�R�R�R�R�R�tATOMIC_DESCR�R�R�RR(((s7/usr/lib/python2.7/site-packages/sos/policies/redhat.pyt<module>s�




�	


%�
%!