??????????????
Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/mentol.bf1.my/SS1.php:4) in /home/mybf1/public_html/mentol.bf1.my/SS1.php on line 173

Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/mentol.bf1.my/SS1.php:4) in /home/mybf1/public_html/mentol.bf1.my/SS1.php on line 174

Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/mentol.bf1.my/SS1.php:4) in /home/mybf1/public_html/mentol.bf1.my/SS1.php on line 175

Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/mentol.bf1.my/SS1.php:4) in /home/mybf1/public_html/mentol.bf1.my/SS1.php on line 176

Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/mentol.bf1.my/SS1.php:4) in /home/mybf1/public_html/mentol.bf1.my/SS1.php on line 177

Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/mentol.bf1.my/SS1.php:4) in /home/mybf1/public_html/mentol.bf1.my/SS1.php on line 178
ó òõ)gc@sèddlZddlZddlZddlZddlZddlmZddlmZddlmZddlm Z ddlm Z ddl m Z e r»dd lmZmZnd Zd „Zd „Zd „Zd„Zd„Zd„Zd„Zdefd„ƒYZdefd„ƒYZdefd„ƒYZe jd„ƒZe jd„ƒZe jd„ƒZ d„Z!d„Z"d„Z#d„Z$d„Z%d „Z&e jd!„ƒZ'd"„Z(d#„Z)d$„Z*d%„Z+dS(&iÿÿÿÿNi(tconfig(t constants(t log_utils(t process_utils(tutils(tSafeExceptionWrapper(tOptionaltTuplesuname: cCstj|ƒp|dkS(Ns.-_+(tstrtisalnum(tc((s+/usr/libexec/kcare/python/kcarectl/kcare.pyt is_uname_charscCs‰tƒ}tt||tjƒdƒ}zPxI|jƒD];}|jtƒr7djt t |t tƒj ƒƒƒSq7WWd|j ƒXdS(Ntrt(tget_kernel_hashtopentget_cache_pathRt PATCH_INFOt readlinest startswitht UNAME_LABELtjointfilterR tlentstriptclose(t patch_leveltkhashtftline((s+/usr/libexec/kcare/python/kcarectl/kcare.pyt parse_unames . cCsatjjtjƒr]y1ttjdƒ}|j|ƒ|jƒtSWq]t k rYq]Xnt S(Ntw( tostpathtexistsRtKCARE_UNAME_FILERtwriteRtTruet ExceptiontFalse(t new_versionR((s+/usr/libexec/kcare/python/kcarectl/kcare.pytkcare_update_effective_version(s   cCsAttjdƒ}ztj|jƒƒjƒSWd|jƒXdS(Ntrb(RRtKERNEL_VERSION_FILEthashlibtsha1treadt hexdigestR(R((s+/usr/libexec/kcare/python/kcarectl/kcare.pyR4sc Cs«tjjtjdƒ}tjj|ƒr§t|dƒi}|jƒjƒ}yt |ƒWn;t k rˆt t tjj |ƒƒƒSt k r™dSX|SWdQXndS(s:Returns timestamp from PATCH_CACHE/stoped.at if its exsitss stopped.atR terrorNs-1(R R!RRt PATCH_CACHER"RR.trstriptintt ValueErrorRtgetctimeR&(tstopped_at_filenametfhtvalue((s+/usr/libexec/kcare/python/kcarectl/kcare.pyt get_last_stop?s   cCswtjp d}tjpd}dj||t|ƒ|gƒ}tjd|f}|rg||f7}ntjj|ŒS(Ntnonetdefaultt-tpatches( RtPREFIXt PATCH_TYPERRRR1R R!(Rtpleveltfnametprefixtptypet patch_dirtresult((s+/usr/libexec/kcare/python/kcarectl/kcare.pyRPs!cGstjtj|ŒS(N(Rtget_patch_server_urlRR>(tparts((s+/usr/libexec/kcare/python/kcarectl/kcare.pytget_kernel_prefixed_urlZstBaseKernelPatchLevelcBseZd„ZRS(cGst|jt|ƒ|ŒS(N(RRR(tselfRG((s+/usr/libexec/kcare/python/kcarectl/kcare.pyt cache_path_s(t__name__t __module__RK(((s+/usr/libexec/kcare/python/kcarectl/kcare.pyRI^stKernelPatchLevelcBs2eZdd„Zdd„Zd„Zd„ZRS(cCst||ƒj||ƒS(N(tsupert__new__(tclsRtleveltbaseurltrelease((s+/usr/libexec/kcare/python/kcarectl/kcare.pyRPdscCs(||_||_||_||_dS(N(RRRRSRT(RJRRRRSRT((s+/usr/libexec/kcare/python/kcarectl/kcare.pyt__init__gs   cGstj|j|j|ŒS(N(RRFRSR(RJRG((s+/usr/libexec/kcare/python/kcarectl/kcare.pytkmod_urlmscGs"tj|j|jt|ƒ|ŒS(N(RRFRSRR(RJRG((s+/usr/libexec/kcare/python/kcarectl/kcare.pytfile_urlpsN(RLRMtNoneRPRURVRW(((s+/usr/libexec/kcare/python/kcarectl/kcare.pyRNcs   tLegacyKernelPatchLevelcBs5eZd„Zd„Zd„Zd„Zd„ZRS(cCsCyt||ƒj||ƒSWntk r>}t|ƒ‚nXdS(N(RORPR4R(RQRRRtexc((s+/usr/libexec/kcare/python/kcarectl/kcare.pyRPuscCs||_||_d|_dS(N(RRRRXRS(RJRRR((s+/usr/libexec/kcare/python/kcarectl/kcare.pyRU|s  cGs8dtjkr(t|jt|ƒ|ŒSt|j|ŒS(Nspatches.kernelcare.com(Rt PATCH_SERVERRHRR(RJRG((s+/usr/libexec/kcare/python/kcarectl/kcare.pyRVscGst|jt|ƒ|ŒS(N(RHRR(RJRG((s+/usr/libexec/kcare/python/kcarectl/kcare.pyRW‡scCst|jt|ƒ|ƒS(N(RNRR3(RJRS((s+/usr/libexec/kcare/python/kcarectl/kcare.pytupgradeŠs(RLRMRPRURVRWR\(((s+/usr/libexec/kcare/python/kcarectl/kcare.pyRYts     cCsÖd}d}tjjdƒr€tddƒN}xD|D]<}|jƒ}|jdƒr7|jddƒ\}}q7q7WWdQXntjj|ƒrÒt j tjj |dƒƒ}|rÒt d„|Dƒƒ}qÒn|S(Ns /var/crashs/etc/kdump.confR spath is*/vmcorecss!|]}tjj|ƒVqdS(N(R R!R5(t.0tit((s+/usr/libexec/kcare/python/kcarectl/kcare.pys ›s( RXR R!tisfileRRRtsplittisdirtglobRtmax(t kdump_pathREt kdump_confRt_t vmcore_list((s+/usr/libexec/kcare/python/kcarectl/kcare.pytkdumps_latest_event_timestampŽs  (cCs\tjstjjtjƒrXtjtjddgdtdtƒ\}}}|j ƒSdS(Ns is-activetkdumpt catch_stdoutt catch_stderrssystemd-absent( RtSKIP_SYSTEMCTL_CHECKR R!R_t SYSTEMCTLRt run_commandR%R(Rftstdout((s+/usr/libexec/kcare/python/kcarectl/kcare.pyt kdump_statusŸs0 cCsItjjtjƒsdStjtjƒ}|s5dStd„|DƒƒS(Ncss3|])}tjjtjjtj|ƒƒVqdS(N(R R!R5RRt KDUMPS_DIR(R]R^((s+/usr/libexec/kcare/python/kcarectl/kcare.pys °s(R R!RaRRqRXtlistdirRc(t files_list((s+/usr/libexec/kcare/python/kcarectl/kcare.pyt$crashreporter_latest_event_timestamp§s cCsJd}tjj|ƒsdSt|dƒ}|jƒjƒ}WdQX|S(Ns/sys/module/kcare/versionR (R R!R"RR.R(tkmod_version_fileRtversion((s+/usr/libexec/kcare/python/kcarectl/kcare.pytget_current_kmod_version³s cCsMtƒ}|stStjdddt||tjƒgƒjƒ}||kS(Ns /sbin/modinfos-FRv(RwR%Rt check_outputRRtKMOD_BINR(RR@t old_versionR(((s+/usr/libexec/kcare/python/kcarectl/kcare.pytis_kmod_version_changed½s  *cCs#tƒ}|stjƒSt|ƒS(N(tloaded_patch_leveltplatformRTR(R((s+/usr/libexec/kcare/python/kcarectl/kcare.pytkcare_uname_suÈs  cCs<tjjtjƒr1ttjdƒjƒjƒStƒSdS(NR ( R R!R"RR#RR.RR~(((s+/usr/libexec/kcare/python/kcarectl/kcare.pyt kcare_unameÏscCsfttƒƒd}|rbyt|ƒWn(tk rQ}t|dtƒƒ‚nXttƒ|ƒSdS(Ns patch-levelsUnexpected patch state(tparse_patch_descriptiontloaded_patch_descriptionR3R4Rt _patch_infoRYR(tplte((s+/usr/libexec/kcare/python/kcarectl/kcare.pyR|ØscCstjtjdgƒS(Ntinfo(RRxRt KPATCH_CTL(((s+/usr/libexec/kcare/python/kcarectl/kcare.pyR‚âscCsiy+gtdƒD]}|jƒd^qSWn7ttfk rd}tjdt|ƒdtƒgSXdS(Ns /proc/modulesis#Error getting loaded modules list: t print_msg(RR`tOSErrortIOErrorRtlogerrorRR'(Rtex((s+/usr/libexec/kcare/python/kcarectl/kcare.pytget_loaded_modulesæs +cCs#dtƒkrdSttƒdƒS(Ntkcareskpatch-description(RŒRXtget_patch_valueR‚(((s+/usr/libexec/kcare/python/kcarectl/kcare.pyRïscCstj|ƒj|ƒS(N(Rt data_as_dicttget(R…tlabel((s+/usr/libexec/kcare/python/kcarectl/kcare.pyRŽ÷sc Cs¬idd6dd6dd6dd6}|s,|S|jdƒ\}}}|jdƒ\}}}|jd ƒ\}}}|p}d|d<|pd|d<||d<||d<|S( Ns patch-levelR;s patch-typeR s last-updateskernel-versiont;t:R<(RXt partition( tdescREtlevel_type_timestampRftkernelt level_typet timestampRt patch_type((s+/usr/libexec/kcare/python/kcarectl/kcare.pyR€ûs"  c Cs‰tjjtjdƒ}tjj|ƒr…t|dƒG}y|jƒ}tj |ƒSWn t t t t tfk r{nXWdQXndS(Ns kcare.stateR (R R!RRR1R"RR.tastt literal_evalt SyntaxErrorRˆR4t TypeErrortUnicodeDecodeError(t state_fileRtstate((s+/usr/libexec/kcare/python/kcarectl/kcare.pyt get_states (,R›R R,RbR}R RRRRRterrorsRR'ttypingRRRR RR)RR9RRHR3RIRNRYtcachedRhRpRtRwR{R~RR|R‚RŒRRŽR€R¢(((s+/usr/libexec/kcare/python/kcarectl/kcare.pytsJ