!V1f"dddlmZmZddlmZmZmZddlmZm Z ddl m Z m Z m Z mZmZmZmZmZddlmZmZmZmZGddeZGdd eZGd d eZGd d eZGddZdedefdZdedefdZdedefdZdede fdZ dede fdZ!dede fdZ"dedefdZ#dedefdZ$y))ListOptional)aptmessagesutil) FixStatusstatus_message)FixPlanAptUpgradeStepFixPlanAttachStepFixPlanEnableStepFixPlanNoOpStatusFixPlanNoOpStep FixPlanResult&FixPlanWarningPackageCannotBeInstalled#FixPlanWarningSecurityIssueNotFixed) DataObjectFieldStringDataValue data_listcTeZdZedeedeedegZdededefdZy)UpgradedPackagenameversionpocketc.||_||_||_yNrrr)selfrrrs T/usr/lib/python3/dist-packages/uaclient/api/u/pro/security/fix/_common/execute/v1.py__init__zUpgradedPackage.__init__s   N)__name__ __module__ __qualname__rrfieldsstrr r!rrrsA fo& i) h(F S3r!rcLeZdZedeededgZddedeefdZy) FailedUpgraderrFrequiredNc ||_||_yrrr)rrrs rr zFailedUpgrade.__init__%s  r!r) r"r#r$rrr%r&rr r'r!rr)r)s6 fo& h%8F S(3-r!r)c teZdZedeedeedeedgZ ddedede e efdZ y) FixExecuteError error_typereasonfailed_upgradesFr*Nc.||_||_||_yrr0r1r2)rr0r1r2s rr zFixExecuteError.__init__1s % .r!r) r"r#r$rrrr)r%r&rrr r'r!rr/r/*s_ lO, h( =!9EJF:> ///"$}"56 /r!r/c eZdZedeedededeedeededeedgZ d de de de e de e ede e ef d Z y) FixExecuteResulttitle descriptionFr*statusupgraded_packageserrorsNcJ||_||_||_||_||_yrr7r8r9r:r;)rr7r9r8r:r;s rr zFixExecuteResult.__init__Es) & !2 r!)NNN) r"r#r$rrrrr/r%r&rrr r'r!rr6r6<s g' m_u= h( !9_#=N h /2UC F&*=A26   c]  $D$9:  o./ r!r6ceZdZdZy)ExecuteContextcd|_d|_tjjj |_g|_g|_y)NF) require_enablerequire_attachrSYSTEM_NON_VULNERABLEvaluemsgr9 upgraded_pkgsr;)rs rr zExecuteContext.__init__Us:##55;;??  r!N)r"r#r$r r'r!rr?r?Tsr!r?execute_contextsecurity_issuec|jrZ|jjt|jjxsd|jj d|_yy)Nzunexpected-error)r0r1error)rJr;appendr/coderEr9)rGrHs r _handle_errorrM]s\%% )//44J8J%++//  ")r!warningc T|jjt|jt |j j |j jDcgc]}t|c}tjjj|_ycc}w)N)rr4) r;rKr/ warning_typer datar9source_packagesr)rSYSTEM_STILL_VULNERABLErDrE)rGrNpkgs r _handle_security_issue_not_fixedrUjs~!!++!',,"5"563:<<3O3O,/ 3' '>>DDHHO sB%c |jjt|jtj j |jj|jjt|jj|jjgtjjj|_y)N)packagerr-r4)r;rKr/rPrFIX_CANNOT_INSTALL_PACKAGEformatrQbinary_packagebinary_package_versionr)rrrSrDrEr9)rGrNs r#_handle_package_cannot_be_installedr\zs!!++66== 33 ;;>  44"<<.. '>>DDHHOr!stepc Z|jjtdtj|j j Dcgc]#}t||j j%c}d|_ tjjj|_ycc}w)Nzfix-requires-attachr-r4T)r;rKr/r*SECURITY_UPDATE_NOT_INSTALLED_SUBSCRIPTIONrQrRr)required_servicerBrrSrDrEr9rGr]rTs r_handle_attachrbs!!,FF 99443tyy/I/IJ  &*O"&>>DDHHOs(B(c |jry|jjtdtj j |jj|jjDcgc]#}t||jj%c}d|_ tjjj|_ycc}w)Nzfix-requires-enable)servicer-r4T)rBr;rKr/rSECURITY_SERVICE_DISABLEDrYrQrdrRr)rArrSrDrEr9ras r_handle_enablerfs%%!!,55<< ))=  99443tyy/@/@A  &*O"&>>DDHHOs4(Cc|js |jry|jjsyt j s~|j jtdtj|jjDcgc]#}t||jj%c}d|_y tj tj"gd|jjzddi|jjD]U}tj$|}|s|j&jt)|||jj Wycc}w#t*$r}t-|d t/|}t0j2j4j6|_|j jtd ||jjDcgc]#}t||jj%ncc}wc}Yd}~yd}~wwxYw) Nzfix-require-rootr-r4rJ)zapt-getinstallz--only-upgradez-yDEBIAN_FRONTENDnoninteractive)cmdoverride_env_varsrrEzfix-error-installing-pkg)rBrArQbinary_packagesrwe_are_currently_rootr;rKr/rSECURITY_APT_NON_ROOTrRr)rr9rrun_apt_update_commandrun_apt_commandget_pkg_versionrFr Exceptiongetattrr&rrSrDrE)rGr]rT pkg_versionerEs r_handle_apt_upgraderws%%)G)G 99 $ $  % % '%% -55 $yy88!"s4993C3CD!  ")   ""$ >ii''(02BC 99,, C--c2K--44# +#yy// #!:   aA'!*!B!B!H!H!L!L%% 5 $yy88!"s4993C3CD!!    s2(E9A6E>;=E>> H>A3H9:(H#"H99H>c|jjtjjk(r*t j jj|_yyr)rQr9r NOT_AFFECTEDrDrSYSTEM_NOT_AFFECTEDrE)rGr]s r _handle_noopr{sA yy,99???!*!>!>!D!D!H!H@r!returnct}|jr t|||jrK|jD]<}t |t r t || t |ts1t||>|jr|jD]v}t |tr t|| t |tr t||=t |tr t||Zt |t skt#||xt%|j&|j(|j*|j,|j.sdS|j.S)Nr=)r?rJrMwarnings isinstancerrUrr\planr rbr rfr rwrr{r6r7r8r9rFr;)rHrGrNr]s r _execute_fixrs.$&Oo~6%.. NG'#FG0'JG%KL3OWM  N "'' 4D$ 125D"345D"78#OT:D/2_d3 4 """..%%)77*11t   8G7M7M  r!N)%typingrruaclientrrr'uaclient.api.u.pro.security.fix._commonrr /uaclient.api.u.pro.security.fix._common.plan.v1r r r r rrrruaclient.data_typesrrrrrr)r/r6r?rMrUr\rbrfrwr{rr'r!rrs!((M   NM j J/j/$z0 )# )5B ) I# I 0 I I#I 3I, IN I:K IINI:KI(7 #7 +@7 tI.II 3Cr!