CasperSecurity

Current Path : /lib/python3/dist-packages/supervisor/__pycache__/
Upload File :
Current File : //lib/python3/dist-packages/supervisor/__pycache__/web.cpython-310.pyc

o

O0�^�^�@s�ddlZddlZddlZddlZddlZddlmZddlmZddlm	Z	ddlm
Z
ddlmZddlmZddl
mZdd	lmZdd
lmZddlmZddlmZdd
lmZddlmZddlmZddlmZddlmZddlmZddlmZddlm Z ddl!m"Z"Gdd�d�Z#Gdd�d�Z$Gdd�d�Z%Gdd�de%�Z&Gdd�de%�Z'Gd d!�d!�Z(d"e'd#�d$e&d#�de(d#�d%�Z)Gd&d'�d'�Z*dS)(�N)�
templating)�urllib)�urlparse)�	as_string)�PY2)�unicode)�	producers)�	http_date)�
get_header)�	collector)�
ProcessStates��NOT_DONE_YET)�VERSION)�
make_namespec)�split_namespec)�SystemNamespaceRPCInterface)�RootRPCInterface)�Faults)�RPCError)�SupervisorNamespaceRPCInterfacec@s6eZdZdZe�dej�Zdd�Zdd�Z	dd�Z
d	S)
�DeferredWebProducerz� A medusa producer that implements a deferred callback; requires
    a subclass of asynchat.async_chat that handles NOT_DONE_YET sentinel zConnection: (.*)cCs"||_||_d|_t|j�|_dS)NF)�callback�request�finished�float�delay)�selfrr�r�0/usr/lib/python3/dist-packages/supervisor/web.py�__init__'szDeferredWebProducer.__init__cCsn|jrdSz|��}|turtWSd|_|�|�WSt��}|jjjj	�
d|�d|_|j�d�YdS)N�TzWeb interface errori�)rrr�sendresponse�	traceback�
format_excr�channel�server�logger�log�error)r�response�tbrrr�more-szDeferredWebProducer.morec
Cs&|�di�}|D]	}|||j|<qd|jvrd|jd<|�d�r.d|jd<|j�d�dS|�dd	�}t|�|jd<|j�|�t|j|jj�}d}d}|jjd
kri|dkrf|j�	d�s`d}nAd
|jd<n;d}n8|jjdkr�|dkrvd}n+d|jvr�d|jvr�|jddks�d}n|jj
r�d|jd<d}nd}n|jjdur�d}t�|j�
��}|r�d|jd<|r�t�t�|jj��}	t�||	g�}	n-tr�t|jj�dkr�|jjd}t|t�r�t�|�|jjd<|jj�d|�t�|jj�}	|jj�t�t�|	|jj���d|jj_|�r|jj��dSdS)N�headers�Content-Typez
text/plain�LocationrzContent-Lengthi-�bodyr!z1.0z
keep-alive�z
Keep-Alive�
Connectionz1.1�closezTransfer-Encoding�chunked)�getrr)�len�pushr
�
CONNECTION�header�version�has_key�use_chunkedr�simple_producer�build_reply_header�chunked_producer�composite_producer�outgoingr�
isinstancer�insertr%�push_with_producer�globbing_producer�hooked_producerr(�current_request�close_when_done)
rr*r-r9r0�
connection�close_it�wrap_in_chunking�outgoing_header�outgoing_producerrrrr"?s�





�
��
��
����
�z DeferredWebProducer.sendresponseN)�__name__�
__module__�__qualname__�__doc__�re�compile�
IGNORECASEr8r r,r"rrrrr"src@�eZdZdd�ZdS)�ViewContextcKs|j�|�dS�N)�__dict__�update)r�kwrrrr �szViewContext.__init__N)rNrOrPr rrrrrV��rVc@s4eZdZdZdZdd�Zdd�Zdd�Zd	d
�ZdS)�MeldViewztext/html;charset=utf-8g�?cCsR||_|jj}tj�|�stj�tj�t��}tj�||�}t	�
|�|_d|_dSrW)
�context�template�os�path�isabs�abspath�dirname�__file__�joinr�	parse_xml�rootr)rr]r^�hererrrr �s
zMeldView.__init__cCs\|��}|tur
tS|jj}|d}|j|d<d|d<d|d<t�d�|d<t|�|d<|S)	Nr-r.zno-cache�Pragmaz
Cache-Controlr�Expiresr0)�renderrr]r*�content_typer	�build_http_dater)rr0r*r-rrr�__call__�s
zMeldView.__call__cCsdSrWr�rrrrrk��zMeldView.rendercCs
|j��SrW)rg�clonerorrrrq��
zMeldView.cloneN)	rNrOrPrlrr rnrkrqrrrrr\�s	r\c@rU)�TailViewc

CsL|jj}|jj}d|vrd}d}nS|d}d}|�dd�}td|��r)t|�dnd�}|s1d}n3t|�}z	|�|||�}Wn%t	yc}z|j
tjkrQd|}nd	|j
|j
f}WYd}~nd}~ww|��}	|	�d
�}
|
�d|�|	�d�}|�|�|	�d
�}|dur�|jdt�|�t�tt|���fd�n|��t|	���S)N�processnamezNo process name foundr�limit�1024i������zNo file for %sz#ERROR: unexpected rpc fault [%d] %s�titlezSupervisor tail of process %s�tailbody�refresh_anchorz!tail.html?processname=%s&limit=%s��href)r]�supervisord�formr5�min�isdigit�intr�readProcessStdoutLogr�coder�NO_FILE�textrq�findmeld�content�
attributesr�quote�str�abs�deparentr�write_xhtmlstring)
rr}r~�tailrt�offsetru�rpcinterface�ergrxryrzrrrrk�sL�
���



��zTailView.renderN)rNrOrPrkrrrrrs�r[rsc@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�
StatusViewcCs�|��}t�t|jjj|jj��}dd|dd�}dd|dd�}dd|dd�}dd	|dd�}d
d|dd�}d
d|dd�}	|tjkrO|||||	g}
|
S|tj	tj
tjfvrb|d|||	g}
|
Sdd|||	g}
|
S)N�Startz*index.html?processname=%s&amp;action=start)�namer|�target�Restartz,index.html?processname=%s&amp;action=restart�Stopz)index.html?processname=%s&amp;action=stopz	Clear Logz-index.html?processname=%s&amp;action=clearlogzTail -f Stdoutz
logtail/%s�_blankzTail -f Stderrzlogtail/%s/stderr)�	get_staterr�r�group�configr�r�RUNNING�STOPPED�EXITED�FATAL)r�process�statert�start�restart�stop�clearlog�tailf_stdout�tailf_stderr�actionsrrr�actions_for_process�sL�������

���zStatusView.actions_for_processcCs&|tjkrdS|tjtjfvrdSdS)N�
statusrunning�statuserror�
statusnominal)rr�r��BACKOFF)rr�rrr�css_class_for_states

zStatusView.css_class_for_statec
s�|jj}dt|�f}dt|g�f}t||g�}|�r�|dkr'dd�}d|_|S|dkr;|j����fdd	�}d|_|S|d
krV|j�	ddidd
ig���fdd�}	d|	_|	S��r��fdd�}
d|
_t
��\}}|j�|�}
|
durt|
S|
j
�|�}|dur�|
S|dkr�z|j����WnSty�}zG|jtjkr�d�n,|jtjkr�d�n#|jtjkr�d�n|jtjkr�d�n|jtjkr�d�nd|j|jf���fdd�}d|_|WYd}~Sd}~wwt��r��fdd�}d|_|S�fdd�}d|_|S|dk�rKz|j����Wn&t�y.}zd|j|jf��fd d!�}d|_|WYd}~Sd}~wwt���r@��fd"d#�}d|_|S�fd$d%�}d|_|S|d&k�r~|j�	d'�gd(�d)�gd(�g�}t|��rs|���fd*d+�}d|_|S�fd,d-�}d|_|S|d.k�r�z|j����Wn&t�y�}zd|j|jf��fd/d0�}d|_|WYd}~Sd}~ww�fd1d2�}d|_|St|��)3N�
supervisor�system�refreshcSsdt��}|S)NzPage refreshed at %s)�time�ctime)�messagerrr�	donothing.sz+StatusView.make_callback.<locals>.donothingg�������?�stopallcs��turtSdt��S)NzAll stopped at %s�rr�r�r�rrrr�6s
z)StatusView.make_callback.<locals>.stopall�
restartall�
methodNamezsupervisor.stopAllProcesseszsupervisor.startAllProcessescs��}|tur	tSdt��S)NzAll restarted at %sr�)�resultr�rrr�Bsz,StatusView.make_callback.<locals>.restartallc�d�S)NzNo such process named %srr��namespecrr�wrongK�z'StatusView.make_callback.<locals>.wrongr�zno such filezfile not executablezalready started�spawn error�abnormal termination�unexpected rpc fault [%d] %scsd��fS)N�ERROR: Process %s: %srr)�msgr�rr�starterrisz*StatusView.make_callback.<locals>.starterrc
s�z��}Wn2ty7}z&|jtjkrd}n|jtjkrd}nd|j|jf}d�|fWYd}~Sd}~ww|tur>tSd�S)Nr�r�r�r��Process %s started)rr�r�SPAWN_ERROR�ABNORMAL_TERMINATIONr�r)r�r�r���bool_or_callbackr�rr�startprocessos 
���
z.StatusView.make_callback.<locals>.startprocesscr�)Nr�rrr�rr�	startdone�r�z+StatusView.make_callback.<locals>.startdoner�c��SrWrr�r�rr�stoperr�rpz)StatusView.make_callback.<locals>.stoperrc
sTz��}Wnty}zd|j|jfWYd}~Sd}~ww|tur&tSd�S)Nr��Process %s stopped)rr�r�r)r�r�r�rr�stopprocess�s
���z-StatusView.make_callback.<locals>.stopprocesscr�)Nr�rrr�rr�stopdone�r�z*StatusView.make_callback.<locals>.stopdoner�zsupervisor.stopProcess)r��paramszsupervisor.startProcesscs��}|tur	tSd�S�NzProcess %s restartedr
)�results)rr�rr�restartprocess�sz0StatusView.make_callback.<locals>.restartprocesscr�r�rrr�rr�restartdone�r�z-StatusView.make_callback.<locals>.restartdoner�cr�rWrrr�rr�clearerr�rpz*StatusView.make_callback.<locals>.clearerrcr�)NzLog for %s clearedrrr�rrr��r�z*StatusView.make_callback.<locals>.clearlog)r]r}rrrrr��stopAllProcessesr��	multicallr�process_groupsr5�	processes�startProcessrr�rr��NOT_EXECUTABLE�ALREADY_STARTEDr�r�r��callable�stopProcess�clearProcessLogs�
ValueError)rr��actionr}�mainr�r�r�r�r�r��
group_name�process_namer�r�r�r�r�r�r�r�r��results_or_callbackr�r�r�r�r)r�rr�r�r�
make_callback!s�
��
����

���
	
����

���zStatusView.make_callbackc 
Cs|jj}|jj}|�d�}|�d�}|�d�}|rH|js%|�||�|_tS|��}|tur/tS|durH|d}|ddt�|�}||dd<|jj	}t
d	t|�fg�}	g}
|j�
�D]}|j��D]}|
�|jj|f�qcq\|
��g}
|
D],\}}|�|j|j|�}t||�}|	j�|�}|
�|d
||||d|dd
��qx|��}|dur�|�d�}d|jd<|�|�|
�rb|�d��|
�}d}|D]�\}}|�d�}|�|d���|�|d�|jd<|�d�}|�|d�|�d�}t|d|d�}|jdt�|�d�|�|�|d}|�d�}|�|�D]5\}}|�d�}|du�r4d|jd<�q|j|d|dd �|�|d�|d!�rS|j|d!d"��q|�r]d#|jd<|}q�n
|�d$�}|� d%�|�d&��t!�t"t#j$�%�j&�}|�d'��|�t'|�(��S)(Nrtr�r��
SERVER_URL�/z?message=%sr-r/r��	statenamer��description)�statusr�r�r�r�r��
statusmessage�
status_msg�class�trF�status_textr��	info_text�name_anchorr�r�ztail.html?processname=%sr{r��
actionitem_td�actionitem_anchor�hiddenr|)r|r�r�)r��shade�statustablezNo programs to manage�supervisor_version�copyright_date))r]r~r*r5rr�rrr�r}rrr��valuesr��keys�appendr�r��sortr�rr��getProcessInforqr��attribr��repeat�lowerr�r��replacerr��datetime�date�today�yearrr�) rr~r*rtr�r��
server_url�locationr}r��processnamesr��	gprocname�data�	groupnamer��	sent_name�inforg�
statusarea�iterator�	shaded_tr�
tr_element�itemr�r��anchorr��
li_element�
actionitem�table�copyright_yearrrrrk�s�


�����

�	




�

�




�
�
�
 
zStatusView.renderN)rNrOrPr�r�r�rkrrrrr��s+.r�c@s eZdZdZdd�Zdd�ZdS)�OKViewrcC�
||_dSrW)r])rr]rrrr 6rrzOKView.__init__cCsddiS)Nr0�OKrrorrrrn9r�zOKView.__call__N)rNrOrPrr rnrrrrr4srzui/status.html)r^�viewzui/tail.html)�
index.htmlz	tail.htmlzok.htmlc@s0eZdZdZdd�Zdd�Zdd�Zdd	�Zd
S)�supervisor_ui_handlerz&Supervisor Web UI HTTP Request HandlercCrrW)r})rr}rrrr Orrzsupervisor_ui_handler.__init__cCsf|jdvrdS|��\}}}}|�d�r|dd�}|�d�s|s#d}t��D]	}||kr0dSq'dS)N)�POST�GETFr�r1r!T)�command�	split_uri�
startswith�VIEWSr�)rrr`r��query�fragment�viewnamerrr�matchRs


���zsupervisor_ui_handler.matchcCs*|jdkr
t||�|_dS|�d|�dS)Nr#r!)r%r�continue_request)rrrrr�handle_requestbs
z$supervisor_ui_handler.handle_requestcCs"i}|��}|�|�d|vrd|d<|d}t�|�}t�|�}|��D]
\}}	|	d||<q%|D]\}}	|	||<q2|��|d<|d}
|
r[|
ddkr[|
dd�}
|
r[|
ddksM|
s_d}
t�|
�}|durjdSd	ii}|d
}
|d}t	|||||j
d�}|
|�}|jj}|t
||��dS)
N�QUERY_STRINGr!rr��	PATH_INFOr�r1r!r-r r^)r^rr~r*r})�cgi_environmentrYr�	parse_qsl�parse_qs�items�get_server_urlr(r5rVr}r%rDr)rrrr~�cgi_envr)�form_urlencoded�
query_data�k�vr`�viewinfor*�	viewclass�viewtemplater]r �pushproducerrrrr-hsD



�
�z&supervisor_ui_handler.continue_requestN)rNrOrP�IDENTr r,r.r-rrrrr"Lsr")+r_rRr�r#rr�r�supervisor.compatrrrrr�supervisor.medusar�supervisor.medusa.http_serverr	r
� supervisor.medusa.xmlrpc_handlerr�supervisor.processr�supervisor.httpr�supervisor.optionsrrr�supervisor.xmlrpcrrrr�supervisor.rpcinterfacerrrVr\rsr�rr(r"rrrr�<module>sXw".I
����
Hacker Blog, Shell İndir, Sql İnjection, XSS Attacks, LFI Attacks, Social Hacking, Exploit Bot, Proxy Tools, Web Shell, PHP Shell, Alfa Shell İndir, Hacking Training Set, DDoS Script, Denial Of Service, Botnet, RFI Attacks, Encryption
Telegram @BIBIL_0DAY