??????????????
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,ddlmZmZmZeZddlZddlZddlZddl m Z m Z ddl m Z ddlmZddlmZmZddlmZddlmZdd lmZmZdd lmZeƒZd d gZd Zd„Z d efd„ƒYZ!de!fd„ƒYZ"dS(i(tabsolute_importtdivisiontprint_functionN(tabstractmethodtabstractproperty(twraps(t constants(tto_bytestto_text(t AnsiblePlugin(tDisplay(tconnection_loadertget_shell_plugin(t unfrackpathtConnectionBasetensure_connectic`stˆƒ‡fd†ƒ}|S(Nc`s&|js|jƒnˆ|||ŽS(N(t _connectedt_connect(tselftargstkwargs(tfunc(sG/usr/lib/python2.7/site-packages/ansible/plugins/connection/__init__.pytwrappeds  (R(RR((RsG/usr/lib/python2.7/site-packages/ansible/plugins/connection/__init__.pyRscB`s7eZdZeZeZeZeZdZ eZ eZ eZ dZdd„Zd„Zed„ƒZed„ƒZed„ƒZed„ƒZed„ƒZeeded „ƒƒZeed „ƒƒZeed „ƒƒZed „ƒZd „Zd„Z d„Z!d„Z"d„Z#d„Z$d„Z%RS(s> A base class for connections to contain common code. tcO`stt|ƒjƒt|dƒs.||_nt|dƒsI||_nt|dƒsdt|_nt|dƒst|_ nd|_ d|_ t|_ d|_ ||_|jsϊ|jrΗ|jnt|ddƒ}td|d|jjƒ|_nd|_dS(Nt _play_contextt _new_stdint_displayRt _shell_typet shell_typet executable(tsuperRt__init__thasattrRRtdisplayRtFalseRtNonet success_keytpromptt _socket_patht_shelltshelltgetattrR Rtbecome(Rt play_contextt new_stdinR(RRR((sG/usr/lib/python2.7/site-packages/ansible/plugins/connection/__init__.pyR=s$          $!cC`s ||_dS(N(R*(Rtplugin((sG/usr/lib/python2.7/site-packages/ansible/plugins/connection/__init__.pytset_become_plugin\scC`s|jS(sYRead-only property holding whether the connection to the remote host is active or closed.(R(R((sG/usr/lib/python2.7/site-packages/ansible/plugins/connection/__init__.pyt connected_scC`s|jS(sJRead-only property holding the connection socket path for this remote host(R&(R((sG/usr/lib/python2.7/site-packages/ansible/plugins/connection/__init__.pyt socket_pathdscC`syBgtjt|ƒƒD]$}|jƒrt|jƒƒ^qSWnFtk rŠgtj|ƒD]$}|jƒrbt|jƒƒ^qbSXdS(sί Takes a string like '-o Foo=1 -o Bar="foo bar"' and returns a list ['-o', 'Foo=1', '-o', 'Bar=foo bar'] that can be added to the argument list. The list will not contain any empty elements. N(tshlextsplitRtstripRtAttributeError(t argstringtx((sG/usr/lib/python2.7/site-packages/ansible/plugins/connection/__init__.pyt_split_ssh_argsisB cC`sdS(s@String used to identify this Connection class from other classesN((R((sG/usr/lib/python2.7/site-packages/ansible/plugins/connection/__init__.pyt transport|scC`sdS(s/Connect to the host we've been initialized withN((R((sG/usr/lib/python2.7/site-packages/ansible/plugins/connection/__init__.pyRscC`sdS(stRun a command on the remote host. :arg cmd: byte string containing the command :kwarg in_data: If set, this data is passed to the command's stdin. This is used to implement pipelining. Currently not all connection plugins implement pipelining. :kwarg sudoable: Tell the connection plugin if we're executing a command via a privilege escalation mechanism. This may affect how the connection plugin returns data. Note that not all connections can handle privilege escalation. :returns: a tuple of (return code, stdout, stderr) The return code is an int while stdout and stderr are both byte strings. When a command is executed, it goes through multiple commands to get there. It looks approximately like this:: [LocalShell] ConnectionCommand [UsersLoginShell (*)] ANSIBLE_SHELL_EXECUTABLE [(BecomeCommand ANSIBLE_SHELL_EXECUTABLE)] Command :LocalShell: Is optional. It is run locally to invoke the ``Connection Command``. In most instances, the ``ConnectionCommand`` can be invoked directly instead. The ssh connection plugin which can have values that need expanding locally specified via ssh_args is the sole known exception to this. Shell metacharacters in the command itself should be processed on the remote machine, not on the local machine so no shell is needed on the local machine. (Example, ``/bin/sh``) :ConnectionCommand: This is the command that connects us to the remote machine to run the rest of the command. ``ansible_user``, ``ansible_ssh_host`` and so forth are fed to this piece of the command to connect to the correct host (Examples ``ssh``, ``chroot``) :UsersLoginShell: This shell may or may not be created depending on the ConnectionCommand used by the connection plugin. This is the shell that the ``ansible_user`` has configured as their login shell. In traditional UNIX parlance, this is the last field of a user's ``/etc/passwd`` entry We do not specifically try to run the ``UsersLoginShell`` when we connect. Instead it is implicit in the actions that the ``ConnectionCommand`` takes when it connects to a remote machine. ``ansible_shell_type`` may be set to inform ansible of differences in how the ``UsersLoginShell`` handles things like quoting if a shell has different semantics than the Bourne shell. :ANSIBLE_SHELL_EXECUTABLE: This is the shell set via the inventory var ``ansible_shell_executable`` or via ``constants.DEFAULT_EXECUTABLE`` if the inventory var is not set. We explicitly invoke this shell so that we have predictable quoting rules at this point. ``ANSIBLE_SHELL_EXECUTABLE`` is only settable by the user because some sudo setups may only allow invoking a specific shell. (For instance, ``/bin/bash`` may be allowed but ``/bin/sh``, our default, may not). We invoke this twice, once after the ``ConnectionCommand`` and once after the ``BecomeCommand``. After the ConnectionCommand, this is run by the ``UsersLoginShell``. After the ``BecomeCommand`` we specify that the ``ANSIBLE_SHELL_EXECUTABLE`` is being invoked directly. :BecomeComand ANSIBLE_SHELL_EXECUTABLE: Is the command that performs privilege escalation. Setting this up is performed by the action plugin prior to running ``exec_command``. So we just get passed :param:`cmd` which has the BecomeCommand already added. (Examples: sudo, su) If we have a BecomeCommand then we will invoke a ANSIBLE_SHELL_EXECUTABLE shell inside of it so that we have a consistent view of quoting. :Command: Is the command we're actually trying to run remotely. (Examples: mkdir -p $HOME/.ansible, python $HOME/.ansible/tmp-script-file) N((Rtcmdtin_datatsudoable((sG/usr/lib/python2.7/site-packages/ansible/plugins/connection/__init__.pyt exec_command…sBcC`sdS(s$Transfer a file from local to remoteN((Rtin_pathtout_path((sG/usr/lib/python2.7/site-packages/ansible/plugins/connection/__init__.pytput_fileΙscC`sdS(slFetch a file from remote to local; callers are expected to have pre-created the directory chain for out_pathN((RR=R>((sG/usr/lib/python2.7/site-packages/ansible/plugins/connection/__init__.pyt fetch_fileΟscC`sdS(sTerminate the connectionN((R((sG/usr/lib/python2.7/site-packages/ansible/plugins/connection/__init__.pytcloseΥscC`su|jj}tjdtjƒ|fd|jjƒtj|tj ƒtjdtjƒ|fd|jjƒdS(Ns)CONNECTION: pid %d waiting for lock on %dthosts&CONNECTION: pid %d acquired lock on %d( Rtconnection_lockfdR!tvvvvtostgetpidt remote_addrtfcntltlockftLOCK_EX(Rtf((sG/usr/lib/python2.7/site-packages/ansible/plugins/connection/__init__.pytconnection_lockΪs )cC`sL|jj}tj|tjƒtjdtjƒ|fd|jj ƒdS(Ns&CONNECTION: pid %d released lock on %dRB( RRCRHRItLOCK_UNR!RDRERFRG(RRK((sG/usr/lib/python2.7/site-packages/ansible/plugins/connection/__init__.pytconnection_unlockΰs cC`stjdƒdS(Ns,Reset is not implemented for this connection(R!twarning(R((sG/usr/lib/python2.7/site-packages/ansible/plugins/connection/__init__.pytresetεscC`s#tjdddƒ|jj|ƒS(NsbConnection.check_become_success is deprecated, calling code should be using become plugins insteadtversions2.12(R!t deprecatedR*t check_success(Rtb_output((sG/usr/lib/python2.7/site-packages/ansible/plugins/connection/__init__.pytcheck_become_successνscC`s#tjdddƒ|jj|ƒS(NscConnection.check_password_prompt is deprecated, calling code should be using become plugins insteadRQs2.12(R!RRR*tcheck_password_prompt(RRT((sG/usr/lib/python2.7/site-packages/ansible/plugins/connection/__init__.pyRVτscC`s#tjdddƒ|jj|ƒS(NsfConnection.check_incorrect_password is deprecated, calling code should be using become plugins insteadRQs2.12(R!RRR*tcheck_incorrect_password(RRT((sG/usr/lib/python2.7/site-packages/ansible/plugins/connection/__init__.pyRWϋscC`s#tjdddƒ|jj|ƒS(NsdConnection.check_missing_password is deprecated, calling code should be using become plugins insteadRQs2.12(R!RRR*tcheck_missing_password(RRT((sG/usr/lib/python2.7/site-packages/ansible/plugins/connection/__init__.pyRXs(RN(&t__name__t __module__t__doc__R"thas_pipeliningthas_native_asynctalways_pipeline_modulestTruethas_ttyt!module_implementation_preferencestallow_executabletsupports_persistencetforce_persistenceR#t default_userRR.tpropertyR/R0t staticmethodR7RR8RRRR<R?R@RARLRNRPRURVRWRX(((sG/usr/lib/python2.7/site-packages/ansible/plugins/connection/__init__.pyR's@  B      tNetworkConnectionBasecB`s•eZdZeZeZd„Zd„Zd ed„Z d„Z d„Z d„Z d„Z d„Zd „Zd d d d „Zd „Zd „ZRS(s5 A base class for network-style connections. cO`s—tt|ƒj||||Žg|_t|_|jj|_t j d|dƒ|_ |j j ƒi|_ d|_|j dƒ|_|jƒdS(Ntlocals /dev/nulltansible_playbook_pid(NNN(RRhRt _messagesR"t _conn_closedRt network_ost _network_osR tgett_localt set_optionst _sub_pluginR#t_cached_variablest_ansible_playbook_pidt_update_connection_state(RR+R,RR((sG/usr/lib/python2.7/site-packages/ansible/plugins/connection/__init__.pyRs     cC`s’y|j|SWn|tk r|jdƒsn|jjdƒ}|rnt||dƒ}|dk rk|Sqnntd|jj |fƒ‚nXdS(Nt_tobjs!'%s' object has no attribute '%s'( t__dict__tKeyErrort startswithRrRoR)R#R4t __class__RY(RtnameR-tmethod((sG/usr/lib/python2.7/site-packages/ansible/plugins/connection/__init__.pyt __getattr__$s   cC`s|jj|||ƒS(N(RpR<(RR9R:R;((sG/usr/lib/python2.7/site-packages/ansible/plugins/connection/__init__.pyR<0scC`s|jj||fƒdS(sž Adds a message to the queue of messages waiting to be pushed back to the controller process. :arg level: A string which can either be the name of a method in display, or 'log'. When the messages are returned to task_executor, a value of log will correspond to ``display.display(message, log_only=True)``, while another value will call ``display.[level](message)`` N(Rktappend(Rtleveltmessage((sG/usr/lib/python2.7/site-packages/ansible/plugins/connection/__init__.pyt queue_message3scC`s|jg}|_|S(N(Rk(Rtmessages((sG/usr/lib/python2.7/site-packages/ansible/plugins/connection/__init__.pyt pop_messages=scC`s|jj||ƒS(s$Transfer a file from local to remote(RpR?(RR=R>((sG/usr/lib/python2.7/site-packages/ansible/plugins/connection/__init__.pyR?AscC`s|jj||ƒS(s!Fetch a file from remote to local(RpR@(RR=R>((sG/usr/lib/python2.7/site-packages/ansible/plugins/connection/__init__.pyR@EscC`sA|jr-|jdd|jƒ|jƒn|jddƒdS(s& Reset the connection RDs2resetting persistent connection for socket_path %ss!reset call on connection instanceN(R&R‚RA(R((sG/usr/lib/python2.7/site-packages/ansible/plugins/connection/__init__.pyRPIs  cC`s"t|_|jrt|_ndS(N(R_RlRR"(R((sG/usr/lib/python2.7/site-packages/ansible/plugins/connection/__init__.pyRARs  cC`sσtt|ƒjd|d|d|ƒ|jdƒr‡d|jj}ttdƒ}|dk rp|d|7}n|j dd |ƒn|j j d ƒrο|j j d ƒd krοy'|j d jd|d|d|ƒWqοt k rλqοXndS( Nt task_keyst var_optionstdirecttpersistent_log_messagessOPersistent connection logging is enabled for %s. This will log ALL interactionstDEFAULT_LOG_PATHs to %sROsP%s and WILL NOT redact sensitive configuration like passwords. USE WITH CAUTION!Rwttypetexternal( RRhRqt get_optionRRGR)tCR#R‚RrRoR4(RR…R†R‡ROtlogpath((sG/usr/lib/python2.7/site-packages/ansible/plugins/connection/__init__.pyRqWs% *' cC`sžtjddtƒ}|j|jj|jj|jj|jj|j ƒ}t t j ƒ}t |t d|ƒƒ}tjj|ƒršt|_||_ndS(sc Reconstruct the connection socket_path and check if it exists If the socket path exists then the connection is active and set both the _socket_path value to the path and the _connected value to True. If the socket path doesn't exist, leave the socket path value to None and the _connected value to False tssht class_onlyt directoryN(R RoR_t_create_control_pathRRGtportt remote_usert connectionRtR RtPERSISTENT_CONTROL_PATH_DIRtdictREtpathtexistsRR&(RRt control_pathttmp_pathR0((sG/usr/lib/python2.7/site-packages/ansible/plugins/connection/__init__.pyRufs   cC`s&|jdƒr"|jd|ƒndS(NRˆtlog(RŒR‚(RR((sG/usr/lib/python2.7/site-packages/ansible/plugins/connection/__init__.pyt _log_messages}sN(RYRZR[R_Rdt_remote_is_localRR~R#R<R‚R„R?R@RPRARqRuR(((sG/usr/lib/python2.7/site-packages/ansible/plugins/connection/__init__.pyRh s       (#t __future__RRRRŠt __metaclass__RHRER1tabcRRt functoolsRtansibleRRtansible.module_utils._textRRtansible.pluginsR tansible.utils.displayR tansible.plugins.loaderR R tansible.utils.pathR R!t__all__tBUFSIZERRRh(((sG/usr/lib/python2.7/site-packages/ansible/plugins/connection/__init__.pyts$      γ