403Webshell
Server IP : 162.144.4.212  /  Your IP : 216.73.216.108
Web Server : Apache
System : Linux gator2125.hostgator.com 5.14.0-162.23.1.9991722448259.nf.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Jul 31 18:11:45 UTC 2024 x86_64
User : cozeellc ( 2980)
PHP Version : 8.3.31
Disable Function : NONE
MySQL : OFF |  cURL : ON |  WGET : ON |  Perl : ON |  Python : OFF |  Sudo : ON |  Pkexec : ON
Directory :  /usr/libexec/oracle-cloud-agent/plugins/osms/agent/linux/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /usr/libexec/oracle-cloud-agent/plugins/osms/agent/linux/osms_agent.pyc
a

���f�@�@s�ddlZddlZddlZddlZddlZddlZddlZddlm	Z	ddl
Z
ddlZddlZddl
Z
ddlZddlmZmZddlmZddlZddlZddlmZmZddlmZddlZddlZddlZddl Zddl!m"Z"dd	l#m$Z$dd
l%m&Z&ddl%m'Z'ddl%m(Z(dd
l)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/ej0�1d�Z0ej0�2e0�3d��3d��e0�3d��3d��3d��3d��3d�Z4e�5d�Z6ej7�8e6�Z7e(�9e�:�e$j;e7e6�Z<e"e6�da=da>da?dZ@daAdaBdZCddgZDe�E�ZFGdd�de	e�ZGdd�ZHGdd�de,�ZIGdd�dejJ�ZKGdd �d e'jL�ZMdId"d#�ZNd$d%�ZOd&d'�ZPdJd)d*�ZQd+d,�ZRd-d.�ZSd/d0�ZTd1d2�ZUd3d4�ZVd5d6�ZWd7d8�ZXd9d:�ZYd;d<�ZZd=d>�Z[d?d@�Z\dAdB�Z]dCdD�Z^dEdF�Z_dGdH�Z`dS)K�N)�ThreadingMixIn)�make_server�
WSGIServer��
is_hop_by_hop)�
health_pb2�health_pb2_grpc)�HealthServicer)�is_fips_enabled�)�version)�oracle_cloud_agent_plugin_pb2)�"oracle_cloud_agent_plugin_pb2_grpc)�	osmsx_ctl)�PluginState�circuit_breaker�StoppableThread�get_random_open_port�stop_thread�is_plugin_oci_osmh_enabledz//etc/oracle-cloud-agent/plugins/osms/config.yml�logging�agent�loggers�leveli�Qz6/var/lib/oracle-cloud-agent/plugins/osms/ca-bundle.crtz /etc/pki/tls/certs/ca-bundle.crtz"/etc/ssl/certs/ca-certificates.crtc@seZdZdS)�ThreadingWSGIServerN)�__name__�
__module__�__qualname__�rr�4/sparta/input/plugins/osms/agent/linux/osms_agent.pyr>srcCsbtj�d�r^tdd��}|��}Wd�n1s40Yt�d|�}t�d||�r^dSdS)Nz-/etc/oracle-cloud-agent/plugins/osms/systemid�rzOCID:(.*)</string>zOCID: %sTF)�os�path�isfile�open�read�re�search)�
instance_ocid�system_file�file_string�registered_ocidrrr�
ocid_checkBs&r,c@seZdZdd�Zdd�ZdS)�
ActionCheckerc
Cs�t�d��d�}|}|j��s�z"|��|}t�d|�t�Wn�ty�}z�|d9}t	||�}dt
|�vr�t�d�ztddg�Wn0ty�}zt�
d	|�WYd}~n
d}~00t�
d
||�WYd}~n
d}~00|j�|�qdS)Nr�check_intervalz<OSMS check completed successfully. Next check in %s seconds.rzFault -9z/Registration error. Attempting un-registration.�osms�
unregisterzUn-registration failed: %sz5Error checking actions (next check in %s seconds): %s)�config�get�_stop_event�is_set�check�logger�info�check_osmsx_ctl�	Exceptionr�repr�debug�run_cmd�error�wait)�self�default_check_intervalr.�e�errrrr�runMs&



"$zActionChecker.runcCsht�s&t�d�tddtddt�g�ttd�rNt�d�tddtdg�nt�d	�tdd
g�dS)Nzregister instancer/z--log-level�registerz--server-url�idzCheck for actionsr5zCOCID mismatch or systemid not detected. Attempting re-registration.r0)	�instance_registeredr6r;r<�loglevel�get_server_urlr,�instance_metadatar7�r?rrrr5es


zActionChecker.checkN)rrrrCr5rrrrr-Lsr-cs,eZdZ�fdd�Zdd�Zdd�Z�ZS)�ProxyServercs"t�j|i|��d|_d|_dS)NT)�super�__init__�daemon�_server)r?�args�kwargs��	__class__rrrMrszProxyServer.__init__cCs�t�d��d�}|sdStdkr8ttjd�}|t_|t_t	�
�}|�tt
�|�t�t�d��d��d�}t�d��d��d�}t|||t�|_|j��dS)Nr�proxy�DEBUG�w�host�port)r1r2rGr$r!�devnull�sys�stdout�stderr�falcon�API�add_error_handlerr9�internal_error_handler�add_sinkrTrrrO�
serve_forever)r?�agent_proxyrY�applicationrWrXrrrrCws
zProxyServer.runcCs|jr|j��|j��dS�N)rO�shutdown�server_closerJrrr�stop�s
zProxyServer.stop)rrrrMrCrh�
__classcell__rrrRrrKqsrKc@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�OsmsAgentPluginServicercCst��|_tj|_g|_dSre)�	threading�Lock�_state_lockr�stopped�_state�	_messagesrJrrrrM�s
z OsmsAgentPluginServicer.__init__cCs�t�d�t��}d|_|jtjkr(|S|j��zN|jtjkr|t	t
�r^d}|g|_t�|�nt�g|_t�d�tj|_Wn8t
y�}z t�d|�t��WYd}~n
d}~00Wd�n1s�0Y|S)Nz'gRPC Start: starting OSMS Agent serviceTz8plugin osms does nothing when plugin oci-osmh is enabledz&gRPC Start: OSMS Agent service startedz&Failed to start OSMS Agent service: %s)r6r7r
�
StartResponse�successror�runningrmrrIrp�start_osms_agent_serverr9�	exception�
EXIT_EVENT�set)r?�request�context�resp�messagerArrr�Start�s(

<zOsmsAgentPluginServicer.StartcCs�t�d�t��}d|_|j�tz*dg|_t�tj	|_
g|_t�d�Wn0tyz}zt�d|�WYd}~n
d}~00t
��Wd�n1s�0Y|S)Nz&gRPC Stop: stopping OSMS Agent serviceT�Stopping OSMS Agent servicez%gRPC Stop: OSMS Agent service stoppedz%Failed to stop OSMS Agent service: %s)r6r7r
rqrrrmrp�stop_osms_agent_serverrrnror9rurvrw)r?rxryrzrArrr�Stop�s
"&zOsmsAgentPluginServicer.StopcCsTt�dtj|jj|j�t��}d|_tj|_|jj|_	|jD]}|j
�|�q>|S)Nz2gRPC Status: version: %s, status: %s, messages: %sr/)r6r;r�__version__ro�namerpr
�StatusResponse�status�messages�append)r?rxryrzr{rrr�Status�s�

zOsmsAgentPluginServicer.StatusN)rrrrMr|rr�rrrrrj�srj�./etc/oracle-cloud-agent/plugins/osms/devconfigc
Cs�i}tj�|�s|Szrt|��V}|D]@}|�d�r4q$|�dd�}t|�dkr$|d��||d��<q$Wd�n1sz0YWn0ty�}zt	�
d|�WYd}~n
d}~00|S)N�#�=�rrzError getting devconfig: %s)r!r"�existsr$�
startswith�split�len�stripr9r6r=)�cfg_file�cfg�f�line�fieldsrArrr�
get_devconfig�s

<"r�cCs4t|tjtjf�s"tjt|�d�}t�|�|�dS)N)�description)�
isinstancer]�	HTTPError�
HTTPStatus�HTTPInternalServerError�strr6ru)rA�reqrz�paramsrrrr`�s
r`c	Cst�d��d�}|j�|�s$t���tj�t	|j�}t
�}tj�
tt|di�}dd�|j��D�}tj|j||||j��|dd�}d�|j|j�|_|j|_dd�|j��D�}|�|�t�d	|jj|jj�t�d
|jj�t�d|j�t�d|j�dS)
Nr�
endpoint_pathcSs*i|]"\}}t|�s|��dkr||�qS)rW)r�lower��.0�k�vrrr�
<dictcomp>��zproxy.<locals>.<dictcomp>�x)�auth�verify�data�headers�timeoutz{} {}cSsi|]\}}t|�s||�qSrrr�rrrr��r�zrequest method and url: %s %szrequest headers: %szresponse status code: %szresponse headers: %s) r1r2�relative_urir�r]�HTTPNotFound�urllib�parse�urljoin�ENDPOINT�
get_ca_bundle�oci_agent_utils�instance_principal�get_instance_principal_signerr6rIr��items�requestsrx�method�bounded_streamr%�format�status_code�reasonr��content�body�set_headersr;�url)r�rzr��uri�	ca_bundle�signerr��responserrrrT�s0�	
rT�rcCs�|p|}t�d|�tj��}d|vr4|d|d<n|�dd�tj|tjtjd|d�}|�	�\}}|j
|vr�td||j
||f��t�d||�|�d�S)	Nzrun_cmd args: %s�LD_LIBRARY_PATH_ORIG�LD_LIBRARY_PATHT)r[r\�	close_fds�envz.Command: %s failed (%s): stderr: %s stdout: %szrun_cmd stdout: %s, stderr: %s�utf-8)
r6r;r!�environ�copy�pop�
subprocess�Popen�PIPE�communicate�
returncoder9�decode)rP�success_return_code�logargs�new_env�proc�
stdoutdata�
stderrdatarrrr<s,
�
��r<c
Cs`d}z&t�}t�}t�d||�||k}Wn0tyZ}zt�d|�WYd}~n
d}~00|S)NFz%stored_server_url: %s, server_url: %sz%Error check instance registration: %s)rH�get_stored_server_urlr6r;r9)�
registered�
server_url�stored_server_urlrBrrrrFs"rFcCsXt�d�}|r|Std}t�d�r2tdd}nt�d�d}t�d��d��||�S)	N�endpoint�canonicalRegionName�
regionInfo�realmDomainComponentz=No regionInfo key detected. Defaulting to oraclecloud domain.zoraclecloud.comr�endpoint_format)�	DEVCONFIGr2rIr6�warningr1r�)�dev_endpoint�region�realm_domainrrr�get_endpoint(s


r�cCsrt�d��d�}t�d��d�}|r>d�|�d�|�d��}n,t�d�}|sjtd}t�d��d	��|�}||S)
Nrr�rTzhttp://{}:{}rWrXr�r�r�)r1r2r�r�rI)r�rcr�r�rrrrH5s
rHcCsTd}td��4}|D]}t�d|�}|r|�d�}qWd�n1sF0Y|S)Nz,/etc/oracle-cloud-agent/plugins/osms/up2datez^serverURL=(?P<server_url>.*)$r�)r$r&�match�group)r��fobjr�r�rrrr�Bs
*r�c
CsFzt�|�Wn2ty@}z|jtjkr,�WYd}~n
d}~00dSre)r!�unlink�OSError�errno�ENOENT)�filepathrBrrr�remove_fileLs
r�c
Cs8tt�tD]~}t�|tj�rttddd��J}t|dd��}|�|���Wd�n1s^0YWd�n1s|0Yq�qt	�
d�t�
d��
d��
d�fD]�}|r�t�|tj�r�ttddd��P}t|dd��"}|�d|���Wd�n1�s0YWd�q�1�s(0Yq�dS)	NrVr�)�encodingr�r�linux�a�
)r��OSMS_CA_BUNDLE�SYSTEM_CA_BUNDLESr!�access�R_OKr$�writer%r�r2r1)�system_ca_bundle�osms_bundle�
sys_bundle�
dev_ca_bundle�
dev_bundlerrr�update_ca_bundleTs 
�J$
�rcCst�ttj�rtSdSre)r!r�r�r�rrrrr�esr�cCs*ztgd��Wnty$YdS0dS)N)�rpmz-qz	al-configFT)r<r9rrrr�is_autonomous_linuxks
rcCs�t�d�t�}|�dtjj�d��t�	t
jjdd��a
t�t�t
�t�|t
�t�}t�d�|��t
�d�|��t
��tj�d�|��tj��dS)	NzStarting gRPC serverr/�SERVING�
)�max_workerszBinding to ephemeral port {} z127.0.0.1:{}z1|1|tcp|127.0.0.1:{}|grpc
)r6r7r	rwr�HealthCheckResponse�
ServingStatus�Value�grpc�server�
concurrent�futures�ThreadPoolExecutor�GRPC_SERVERr�add_pluginServicer_to_serverrjr�add_HealthServicer_to_serverrr;r��add_insecure_port�startrZr[r��flush)�healthrXrrr�start_grpc_serverss
rcCs&tdur"t�t�d�t�d�dS)NzStopping gRPC server)rr~r6r7rhrrrr�stop_grpc_server�s
rcCsRt�rt�d�dSt�d�t�at��t�d�t�d�t�a	t	��dS)Nz*Autonomous Linux is not supported by OSMS.zStarting proxy serverr�zStarting action checker)
rr6r7rK�PROXY_SERVERr�time�sleepr-�ACTION_CHECKERrrrrrt�s



rtcCs0t�d�ttt�t�d�tt�t�dS)NzStopping action checkerzStopping proxy server)r6r7rr�ACTION_CHECKER_TIMEOUTr�disable_osmsx_ctlrrrrr~�s



r~c
Cs\z&t�dt�\}}|dkr$t�|�Wn0tyV}zt�d|�WYd}~n
d}~00dS)N�allr�zCheck osmsx_ctl failed: %s)rr5�osmsx_paramsr6r=r9��
osmsx_ctl_err�osmsx_ctl_exit_coderBrrrr8�sr8c
Csfz0t�d�t�dt�\}}|dkr.t�|�Wn0ty`}zt�d|�WYd}~n
d}~00dS)NzDisabling osmsx_ctlrr�zDisable osmsx_ctl failed: %s)r6r7r�disablerr=r9rrrrr�s
rcCsrt�at�at�ddd�}t�tj|�t�tj|�t�	d�t�	dt
j�t�t
��t�	d�t�dS)NcSst��dSre)rvrw)�sig�framerrr�signal_handler�szmain.<locals>.signal_handlerzStarting OSMS Agent servicezOSMS Version: %sr})N)r�r�r�r�r�signal�SIGINT�SIGTERMr6r7rr�rrvr>r)r%rrr�main�s


r))r�)r�N)a�concurrent.futuresrr�r�logging.configr!r&r&�socketserverrr�rZrkr�urllib.parser��wsgiref.simple_serverrr�wsgiref.utilrr]r	�grpc_health.v1rr�grpc_health.v1.healthr	r��oci_agent_utils.configr��!oci_agent_utils.instance_metadata�"oci_agent_utils.instance_principal�oci_agent_utils.fips.fipsr
�r�sharedr
rr�
shared.commonrrrrrrr1�	from_file�
dictConfigr2rG�	getLoggerr6rI�InstanceMetadata�OsmsxParams�getpidr�rr�r�rrrrr�r��Eventrvrr,r-�ThreadrK�pluginServicerrjr�r`rTr<rFr�rHr�r�rr�rrrrtr~r8rr)rrrr�<module>s� "
�
%=




	

Youez - 2016 - github.com/yon3zu
LinuXploit