PNG  IHDR;IDATxܻn0K )(pA 7LeG{ §㻢|ذaÆ 6lذaÆ 6lذaÆ 6lom$^yذag5bÆ 6lذaÆ 6lذa{ 6lذaÆ `}HFkm,mӪôô! x|'ܢ˟;E:9&ᶒ}{v]n&6 h_tڠ͵-ҫZ;Z$.Pkž)!o>}leQfJTu іچ\X=8Rن4`Vwl>nG^is"ms$ui?wbs[m6K4O.4%/bC%t Mז -lG6mrz2s%9s@-k9=)kB5\+͂Zsٲ Rn~GRC wIcIn7jJhۛNCS|j08yiHKֶۛkɈ+;SzL/F*\Ԕ#"5m2[S=gnaPeғL lذaÆ 6l^ḵaÆ 6lذaÆ 6lذa; _ذaÆ 6lذaÆ 6lذaÆ RIENDB`  $^c@@sddlmZddlZddlZddlmZddlmZddlm Z dZ dZ dZ d Z d Zed Zd Zd ZdZdZdZdS(i(tabsolute_importN(trun(tpaths(ttaskss@stusercC@s+ttjdtgdtdt}|jS(s Dump all keys tlistt raiseonerrtcapture_output(RRtKEYCTLtKEYRINGtFalsetTruetoutput(tresult((s</usr/lib/python2.7/site-packages/ipapython/kernel_keyring.pyt dump_keys)s cC@skt|tjstttjdtt|gdt dt }|j r^t d|n|j jS(sv One cannot request a key based on the description it was created with so find the one we're looking for. tsearchRRskey %s not found(t isinstancetsixt string_typestAssertionErrorRRRR tKEYTYPER R t returncodet ValueErrort raw_outputtrstrip(tkeyR ((s</usr/lib/python2.7/site-packages/ipapython/kernel_keyring.pyt get_real_key2s  cC@sht|tjstttjdt|gdtdt }|j r[t d|n|j j S(Ntget_persistentRRspersistent key %s not found(RRRRRRRR R R RRRR(RR ((s</usr/lib/python2.7/site-packages/ipapython/kernel_keyring.pytget_persistent_key?s  cC@sU|rtjdk rtStj}ytt|Wntk rPtSXt S(sReturns True if the kernel persistent keyring is supported. If check_container is True and a containerized environment is detected, return False. There is no support for keyring namespace isolation yet. N( Rtdetect_containertNoneR tostgeteuidRtstrRR (tcheck_containertuid((s</usr/lib/python2.7/site-packages/ipapython/kernel_keyring.pytis_persistent_keyring_supportedHs  cC@sCt|tjstyt|tSWntk r>tSXdS(sC Returns True/False whether the key exists in the keyring. N(RRRRRR RR (R((s</usr/lib/python2.7/site-packages/ipapython/kernel_keyring.pythas_keyYs   cC@snt|tjstt|}ttjd|gdtdt }|j rgt d|j n|j S(s Read the keyring and return the value for key. Use pipe instead of print here to ensure we always get the raw data. tpipeRRskeyctl pipe failed: %s(RRRRRRRRR R RRt error_logR(Rtreal_keyR ((s</usr/lib/python2.7/site-packages/ipapython/kernel_keyring.pytread_keyes   cC@st|tjstt|ts-tt|rt|}ttj d|gd|dt }|j rt d|j qn t||dS(sK Update the keyring data. If they key doesn't exist it is created. tpupdatetstdinRskeyctl pupdate failed: %sN(RRRRtbytesR%RRRRR RRR'tadd_key(RtvalueR(R ((s</usr/lib/python2.7/site-packages/ipapython/kernel_keyring.pyt update_keyus    cC@st|tjstt|ts-tt|rLtd|nttj dt |t gd|dt }|j rtd|jndS(s* Add a key to the kernel keyring. skey %s already existstpaddR+Rskeyctl padd failed: %sN(RRRRR,R%RRRRRR R RR'(RR.R ((s</usr/lib/python2.7/site-packages/ipapython/kernel_keyring.pyR-s  cC@sht|tjstt|}ttjd|tgdt }|j rdt d|j ndS(s' Remove a key from the keyring tunlinkRskeyctl unlink failed: %sN( RRRRRRRRR R RRR'(RR(R ((s</usr/lib/python2.7/site-packages/ipapython/kernel_keyring.pytdel_keys    (t __future__RRRtipapython.ipautilRtipaplatform.pathsRtipaplatform.tasksRR RRRRR R$R%R)R/R-R2(((s</usr/lib/python2.7/site-packages/ipapython/kernel_keyring.pyts