??????????????
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
σ ΰUdac@`sβddlmZmZmZeZdZddlZddlZddl Z ddl Z ddl Z ddl j ZddlmZmZddlmZmZddlmZddlmZeƒZdefd „ƒYZdS( i(tabsolute_importtdivisiontprint_functions’ connection: qubes short_description: Interact with an existing QubesOS AppVM description: - Run commands or put/fetch files to an existing Qubes AppVM using qubes tools. author: Kushal Das (@kushaldas) version_added: "2.8" options: remote_addr: description: - vm name default: inventory_hostname vars: - name: ansible_host remote_user: description: - The user to execute as inside the vm. default: The *user* account as default in Qubes OS. vars: - name: ansible_user # keyword: # - name: hosts N(tto_bytest to_native(tConnectionBasetensure_connect(tAnsibleConnectionFailure(tDisplayt ConnectioncB`sneZdZdZeZd„Zd d dd„Zd„Z e d e d„ƒZ d„Z d„Zd „ZRS( scThis is a connection plugin for qubes: it uses qubes-run-vm binary to interact with the containers.tqubescO`sbtt|ƒj||||Ž|jj|_t|_d|_|jj r^|jj |_ndS(Ntuser( tsuperR t__init__t _play_contextt remote_addrt_remote_vmnametFalset _connectedR t remote_user(tselft play_contextt new_stdintargstkwargs((sD/usr/lib/python2.7/site-packages/ansible/plugins/connection/qubes.pyR As    s qubes.VMShellc C`sStjd|ƒ|jdƒs,|d}ng}|jdddgƒ|jdkrp|jd|jgƒn|j|jƒ|j|ƒg|D]}t|dd ƒ^q”}tjd |ƒtjd |fd |jƒt j |d t dt j dt j dt j ƒ}|j jt|dd ƒƒ|jd|ƒ\}}|j||fS(sΈrun qvm-run executable :param cmd: cmd string for remote system :param in_data: data passed to qvm-run-vm's stdin :return: return code, stdout, stderr sCMD: s sqvm-runs --pass-ios --serviceR s-uterrorstsurrogate_or_stricts Local cmd: sRUN %sthosttshelltstdintstdouttstderrtinput(tdisplaytvvvvtendswithtextendR tappendRRtvvvt subprocesstPopenRtPIPERtwritet communicatet returncode( Rtcmdtin_dataRt local_cmdtitpRR((sD/usr/lib/python2.7/site-packages/ansible/plugins/connection/qubes.pyt_qubesKs"  %cC`s tt|ƒjƒt|_dS(s-No persistent connection is being maintained.N(R R t_connecttTrueR(R((sD/usr/lib/python2.7/site-packages/ansible/plugins/connection/qubes.pyR3nscC`sott|ƒj|d|d|ƒtjd|ƒ|j|ƒ\}}}tjd||fƒ|||fS(s+Run specified command in a running QubesVM R.tsudoables CMD IS: %ssSTDOUT %r STDERR %r(R R t exec_commandR!R"R2tvvvvv(RR-R.R5trcRR((sD/usr/lib/python2.7/site-packages/ansible/plugins/connection/qubes.pyR6ss "cC`sίtt|ƒj||ƒtjd||fd|jƒt|dƒ}|jƒ}WdQX|jdj |ƒ|dƒ\}}}|dkr·|jdj |ƒ|ƒ\}}}n|dkrΫt d j |ƒƒ‚ndS( sA Place a local file located in 'in_path' inside VM at 'out_path' s PUT %s TO %sRtrbNs cat > "{0}" squbes.VMRootShelliisFailed to put_file to {0}( R R tput_fileR!R&RtopentreadR2tformatR(Rtin_pathtout_pathtfobjt source_datatretcodetdummy((sD/usr/lib/python2.7/site-packages/ansible/plugins/connection/qubes.pyR:s ' ' c C`sΏtt|ƒj||ƒtjd||fd|jƒdd|jdj|ƒg}t|dƒS}tj |dt d|ƒ}|j ƒ|j d kr΅t d j|ƒƒ‚nWd QXd S( sRObtain file specified via 'in_path' from the container and place it at 'out_path' sFETCH %s TO %sRsqvm-runs --pass-ioscat {0}twbRRisFailed to fetch file to {0}N(R R t fetch_fileR!R&RR=R;R'R(RR+R,R(RR>R?t cmd_args_listR@R1((sD/usr/lib/python2.7/site-packages/ansible/plugins/connection/qubes.pyREs  cC`s tt|ƒjƒt|_dS(s Closing the connection N(R R tcloseRR(R((sD/usr/lib/python2.7/site-packages/ansible/plugins/connection/qubes.pyRGsN(t__name__t __module__t__doc__t transportR4thas_pipeliningR tNoneR2R3RRR6R:RERG(((sD/usr/lib/python2.7/site-packages/ansible/plugins/connection/qubes.pyR :s #   (t __future__RRRttypet __metaclass__t DOCUMENTATIONtshlextshutiltostbase64R'tansible.constantst constantstCtansible.module_utils._textRRtansible.plugins.connectionRRtansible.errorsRtansible.utils.displayRR!R (((sD/usr/lib/python2.7/site-packages/ansible/plugins/connection/qubes.pyt s