??????????????
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ψddlmZmZmZeZdZddlZddl Z ddl Z ddl Z ddl Z ddl jZddlmZddlmZddlmZmZmZddlmZmZddlmZeƒZd efd „ƒYZdS( i(tabsolute_importtdivisiontprint_functionsA author: Ansible Core Team connection: jail short_description: Run tasks in jails description: - Run commands or put/fetch files to an existing jail version_added: "2.0" options: remote_addr: description: - Path to the jail default: inventory_hostname vars: - name: ansible_host - name: ansible_jail_host remote_user: description: - User to execute as inside the jail vars: - name: ansible_user - name: ansible_jail_user N(t AnsibleError(t shlex_quote(tto_bytest to_nativetto_text(tConnectionBasetBUFSIZE(tDisplayt ConnectioncB`s’eZdZdZdZeZeZd„Z e d„ƒZ d„Z d„Z ejd„Zd ed„Zd „Zd „Zd „Zd „ZRS(s" Local BSD Jail based connections tconn_jail_nametjailcO`sΔtt|ƒj||||Ž|jj|_|j|krP||j|_ntjƒdkrqt dƒ‚n|j dƒ|_ |j dƒ|_ |j|j ƒkrΐt d|jƒ‚ndS(Nis(jail connection requires running as roottjlstjexecsincorrect jail name %s(tsuperR t__init__t _play_contextt remote_addrR tmodified_jailname_keytostgeteuidRt_search_executabletjls_cmdt jexec_cmdt list_jails(tselft play_contextt new_stdintargstkwargs((sC/usr/lib/python2.7/site-packages/ansible/plugins/connection/jail.pyR=scC`s/tjj|ƒ}|s+td|ƒ‚n|S(Ns%s command not found in PATH(t distutilstspawntfind_executableR(t executabletcmd((sC/usr/lib/python2.7/site-packages/ansible/plugins/connection/jail.pyRMscC`s^tj|jddgdtjdtjdtjƒ}|jƒ\}}t|ddƒjƒS(Ns-qtnametstdintstdouttstderrterrorstsurrogate_or_strict(t subprocesstPopenRtPIPEt communicateRtsplit(RtpR'R(((sC/usr/lib/python2.7/site-packages/ansible/plugins/connection/jail.pyRTs  cC`sQtt|ƒjƒ|jsMtjdj|jjƒd|j ƒt |_ndS(s) connect to the jail; nothing to do here u'ESTABLISH JAIL CONNECTION FOR USER: {0}thostN( RR t_connectt _connectedtdisplaytvvvtformatRt remote_userR tTrue(R((sC/usr/lib/python2.7/site-packages/ansible/plugins/connection/jail.pyR2]s %c C`sη|jg}d}|jjdk rQ|d|jjg7}d|jjd}n||j|jjd||g7}tjd|fd|jƒg|D]}t|dd ƒ^q˜}t j |d t d |d t j d t j ƒ}|S(s- run a command on the jail. This is only needed for implementing put_file() get_file() so that we don't have to read the whole file into memory. compared to exec_command() it looses some niceties like being able to return the process's exit code immediately. ts-UsHOME=~t s-csEXEC %sR1R)R*tshellR&R'R(N( RRR7tNoneR R#R4R5RR+R,tFalseR-(RR$R&t local_cmdtset_envtiR0((sC/usr/lib/python2.7/site-packages/ansible/plugins/connection/jail.pyt_buffered_exec_commandds #%cC`sVtt|ƒj|d|d|ƒ|j|ƒ}|j|ƒ\}}|j||fS(s run a command on the jail tin_datatsudoable(RR t exec_commandRAR.t returncode(RR$RBRCR0R'R(((sC/usr/lib/python2.7/site-packages/ansible/plugins/connection/jail.pyRD~s"cC`sC|jtjjƒs3tjjtjj|ƒ}ntjj|ƒS(s˜ Make sure that we put files into a standard path If a path is relative, then we need to choose where to put it. ssh chooses $HOME but we aren't guaranteed that a home dir will exist in any given chroot. So for now we're choosing "/" instead. This also happens to be the former default. Can revisit using $HOME instead if it's a problem (t startswithRtpathtseptjointnormpath(Rt remote_path((sC/usr/lib/python2.7/site-packages/ansible/plugins/connection/jail.pyt_prefix_login_path‡s c C`stt|ƒj||ƒtjd||fd|jƒt|j|ƒƒ}ytt |ddƒdƒψ}t j |j ƒƒj sd}nd}y&|jd|t|fd |ƒ}Wntk rΫtd ƒ‚nXy|jƒ\}}Wn1tk r%tjƒtd ||fƒ‚nX|jd kr`td ||t|ƒt|ƒfƒ‚nWdQXWn!tk rŠtd|ƒ‚nXdS(s$ transfer a file from local to jail s PUT %s TO %sR1R)R*trbs count=0R9sdd of=%s bs=%s%sR&s/jail connection requires dd command in the jails failed to transfer file %s to %sis'failed to transfer file %s to %s: %s %sNs$file or module does not exist at: %s(RR tput_fileR4R5R RRLtopenRRtfstattfilenotst_sizeRAR tOSErrorRR.t Exceptiont tracebackt print_excRERtIOError(Rtin_pathtout_pathtin_filetcountR0R'R(((sC/usr/lib/python2.7/site-packages/ansible/plugins/connection/jail.pyRN•s*  &   5 c C`sutt|ƒj||ƒtjd||fd|jƒt|j|ƒƒ}y|jd|t fƒ}Wnt k rŠt dƒ‚nXt t |ddƒdƒΙ}yB|jjt ƒ}x)|rι|j|ƒ|jjt ƒ}qΑWWn1tk rtjƒt d||fƒ‚nX|jƒ\}}|jd krkt d ||t|ƒt|ƒfƒ‚nWd QXd S( s! fetch a file from jail to local sFETCH %s TO %sR1sdd if=%s bs=%ss/jail connection requires dd command in the jailR)R*swb+s failed to transfer file %s to %sis'failed to transfer file %s to %s: %s %sN(RR t fetch_fileR4R5R RRLRAR RSRRORR'treadtwriteRTRURVR.RER(RRXRYR0tout_filetchunkR'R(((sC/usr/lib/python2.7/site-packages/ansible/plugins/connection/jail.pyR\―s&      cC`s tt|ƒjƒt|_dS(s. terminate the connection; nothing to do here N(RR tcloseR=R3(R((sC/usr/lib/python2.7/site-packages/ansible/plugins/connection/jail.pyRaΗsN(t__name__t __module__t__doc__Rt transportR8thas_pipeliningR=thas_ttyRt staticmethodRRR2R+R-RAR<RDRLRNR\Ra(((sC/usr/lib/python2.7/site-packages/ansible/plugins/connection/jail.pyR 2s     (t __future__RRRttypet __metaclass__t DOCUMENTATIONtdistutils.spawnR Rtos.pathR+RUtansible.constantst constantstCtansible.errorsRtansible.module_utils.six.movesRtansible.module_utils._textRRRtansible.plugins.connectionRR tansible.utils.displayR R4R (((sC/usr/lib/python2.7/site-packages/ansible/plugins/connection/jail.pyts