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@sSttjdtt|gdtdt}|jrFtd|n|j j S(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( RRRR tKEYTYPER R t returncodet ValueErrort raw_outputtrstrip(tkeyR ((s</usr/lib/python2.7/site-packages/ipapython/kernel_keyring.pyt get_real_key2s  cC@sPttjdt|gdtdt}|jrCtd|n|jj S(Ntget_persistentRRspersistent key %s not found( RRRR 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@s+yt|tSWntk r&tSXdS(sC Returns True/False whether the key exists in the keyring. N(RR RR (R((s</usr/lib/python2.7/site-packages/ipapython/kernel_keyring.pythas_keyYs   cC@sVt|}ttjd|gdtdt}|jrOtd|jn|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( RRRRR R RRt error_logR(Rtreal_keyR ((s</usr/lib/python2.7/site-packages/ipapython/kernel_keyring.pytread_keyes    cC@sot|r^t|}ttjd|gd|dt}|jrktd|jqkn t ||dS(sK Update the keyring data. If they key doesn't exist it is created. tpupdatetstdinRskeyctl pupdate failed: %sN( R!RRRRR RRR#tadd_key(RtvalueR$R ((s</usr/lib/python2.7/site-packages/ipapython/kernel_keyring.pyt update_keyus    cC@slt|rtd|nttjdt|tgd|dt}|jrhtd|j ndS(s* Add a key to the kernel keyring. skey %s already existstpaddR'Rskeyctl padd failed: %sN( R!RRRRRR R RR#(RR)R ((s</usr/lib/python2.7/site-packages/ipapython/kernel_keyring.pyR(s   cC@sPt|}ttjd|tgdt}|jrLtd|jndS(s' Remove a key from the keyring tunlinkRskeyctl unlink failed: %sN( RRRRR R RRR#(RR$R ((s</usr/lib/python2.7/site-packages/ipapython/kernel_keyring.pytdel_keys    (t __future__RRtsixtipapython.ipautilRtipaplatform.pathsRtipaplatform.tasksRR RRRRR R R!R%R*R(R-(((s</usr/lib/python2.7/site-packages/ipapython/kernel_keyring.pyts