Uname: Linux web3.us.cloudlogin.co 5.10.226-xeon-hst #2 SMP Fri Sep 13 12:28:44 UTC 2024 x86_64
Software: Apache
PHP version: 8.1.31 [ PHP INFO ] PHP os: Linux
Server Ip: 162.210.96.117
Your Ip: 3.12.154.243
User: edustar (269686) | Group: tty (888)
Safe Mode: OFF
Disable Function:
NONE

name : ssl.cpython-310.opt-2.pyc
o

^b���
@s�	ddlZddlZddlmZddlmZmZm	Z
ddlZddlmZm
Z
mZddlmZmZmZddlmZmZmZmZmZmZmZddlmZmZddlmZmZmZm Z zdd	lm!Z!Wn	e"yhYnwdd
lm#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,ddlm-Z-m.Z.ej/de0d
d�ed�e
j/de0dd�ed�ej/de0dd�ed�ej/de0dd�ed�e
j/de0dd�ed�ej/de0dd�ed�e1j2Z3e1_3dd�e1j4�5�D�Z6e7e1dd�Z8Gdd�de�Z9Gdd �d e�Z:Gd!d"�d"e�Z;Gd#d$�d$e�Z<ej=d%k�rdd&lm>Z>m?Z?dd'l@m@Z@mAZAmBZBdd(l@mCZCmDZDmEZEddl@ZFddlGZGddlHZHddlIZIeJZKd)gZLeMed*�ZNe-ZOeZPd+d,�ZQd-d.�ZRd/d0�ZSd1d2�ZTed3d4�ZUd5d6�ZVGd7d8�d8ed8d9��ZWGd:d;�d;eWe�ZXGd<d=�d=e�ZYeXjZfdddd>�d?d@�Z[dZe\dAeXjZddddddB�dCdD�Z]e[Z^e]Z_GdEdF�dF�Z`dGdH�ZaGdIdJ�dJe@�ZbebeY_ce`eY_ddddAe\e2ddKdKdf	dLdM�ZedNdO�ZfdPZgdQZhdRdS�ZidTdU�ZjekdeEfdVdW�ZldXdY�ZmdS)[�N)�
namedtuple)�Enum�IntEnum�IntFlag)�OPENSSL_VERSION_NUMBER�OPENSSL_VERSION_INFO�OPENSSL_VERSION)�_SSLContext�	MemoryBIO�
SSLSession)�SSLError�SSLZeroReturnError�SSLWantReadError�SSLWantWriteError�SSLSyscallError�SSLEOFError�SSLCertVerificationError)�txt2obj�nid2obj)�RAND_status�RAND_add�
RAND_bytes�RAND_pseudo_bytes)�RAND_egd)
�HAS_SNI�HAS_ECDH�HAS_NPN�HAS_ALPN�	HAS_SSLv2�	HAS_SSLv3�	HAS_TLSv1�HAS_TLSv1_1�HAS_TLSv1_2�HAS_TLSv1_3)�_DEFAULT_CIPHERS�_OPENSSL_API_VERSION�
_SSLMethodcCs|�d�o|dkS)NZ	PROTOCOL_�PROTOCOL_SSLv23��
startswith��name�r,�,/usr/local/python-3.10/lib/python3.10/ssl.py�<lambda>|sr.)�source�OptionscC�
|�d�S)NZOP_r(r*r,r,r-r.��
ZAlertDescriptioncCr1)NZALERT_DESCRIPTION_r(r*r,r,r-r.�r2ZSSLErrorNumbercCr1)NZ
SSL_ERROR_r(r*r,r,r-r.�r2�VerifyFlagscCr1)NZVERIFY_r(r*r,r,r-r.�r2�
VerifyModecCr1)NZCERT_r(r*r,r,r-r.�r2cCsi|]\}}||�qSr,r,)�.0r+�valuer,r,r-�
<dictcomp>�sr7ZPROTOCOL_SSLv2c@s6eZdZejZejZejZ	ej
ZejZ
ejZejZdS)�
TLSVersionN)�__name__�
__module__�__qualname__�_sslZPROTO_MINIMUM_SUPPORTEDZMINIMUM_SUPPORTEDZPROTO_SSLv3�SSLv3ZPROTO_TLSv1ZTLSv1Z
PROTO_TLSv1_1ZTLSv1_1Z
PROTO_TLSv1_2ZTLSv1_2Z
PROTO_TLSv1_3ZTLSv1_3ZPROTO_MAXIMUM_SUPPORTEDZMAXIMUM_SUPPORTEDr,r,r,r-r8�s
r8c@s&eZdZ	dZdZdZdZdZdZdS)�_TLSContentType������N)	r9r:r;�CHANGE_CIPHER_SPEC�ALERTZ	HANDSHAKEZAPPLICATION_DATA�HEADERZINNER_CONTENT_TYPEr,r,r,r-r>�sr>c@s�eZdZ	dZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZd
ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!d Z"d!Z#d"Z$d#S)$�
_TLSAlertTyper�
r?r@rA��(�)�*�+�,�-�.�/�0�1�2�3�<�F�G�P�V�Z�d�m�n�o�p�q�r�s�t�xN)%r9r:r;ZCLOSE_NOTIFYZUNEXPECTED_MESSAGEZBAD_RECORD_MACZDECRYPTION_FAILEDZRECORD_OVERFLOWZDECOMPRESSION_FAILUREZHANDSHAKE_FAILUREZNO_CERTIFICATEZBAD_CERTIFICATEZUNSUPPORTED_CERTIFICATEZCERTIFICATE_REVOKEDZCERTIFICATE_EXPIREDZCERTIFICATE_UNKNOWNZILLEGAL_PARAMETERZ
UNKNOWN_CAZ
ACCESS_DENIEDZDECODE_ERRORZ
DECRYPT_ERRORZEXPORT_RESTRICTIONZPROTOCOL_VERSIONZINSUFFICIENT_SECURITYZINTERNAL_ERRORZINAPPROPRIATE_FALLBACKZ
USER_CANCELEDZNO_RENEGOTIATIONZMISSING_EXTENSIONZUNSUPPORTED_EXTENSIONZCERTIFICATE_UNOBTAINABLEZUNRECOGNIZED_NAMEZBAD_CERTIFICATE_STATUS_RESPONSEZBAD_CERTIFICATE_HASH_VALUEZUNKNOWN_PSK_IDENTITYZCERTIFICATE_REQUIREDZNO_APPLICATION_PROTOCOLr,r,r,r-rH�sHrHc@sfeZdZ	dZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZd
ZdZdZdZdZdZdZdZdZdZdS)�_TLSMessageTyper����������
���r?r@rArB��C�rDN)r9r:r;Z
HELLO_REQUESTZCLIENT_HELLOZSERVER_HELLOZHELLO_VERIFY_REQUESTZNEWSESSION_TICKETZEND_OF_EARLY_DATAZHELLO_RETRY_REQUESTZENCRYPTED_EXTENSIONSZCERTIFICATEZSERVER_KEY_EXCHANGEZCERTIFICATE_REQUESTZSERVER_DONEZCERTIFICATE_VERIFYZCLIENT_KEY_EXCHANGE�FINISHEDZCERTIFICATE_URLZCERTIFICATE_STATUSZSUPPLEMENTAL_DATAZ
KEY_UPDATEZ
NEXT_PROTOZMESSAGE_HASHrEr,r,r,r-rg�s0rg�win32)�enum_certificates�	enum_crls)�socket�SOCK_STREAM�create_connection)�
SOL_SOCKET�SO_TYPE�_GLOBAL_DEFAULT_TIMEOUT�
tls-unique�HOSTFLAG_NEVER_CHECK_SUBJECTcCs�	|sdS|�d�}|s|��|��kS|dkrtd�|���|�d�\}}}d|vr2td�|���|s;td�|���|dkrFtd�|���|�d�\}}}|rR|sTdS|��|��kS)	NF�*rhz1too many wildcards in certificate DNS name: {!r}.�.z9wildcard can only be present in the leftmost label: {!r}.z>sole wildcard without additional labels are not support: {!r}.z<partial wildcards in leftmost label are not supported: {!r}.)�count�lower�CertificateError�format�	partition)Zdn�hostnameZ	wildcardsZdn_leftmost�sepZdn_remainderZhostname_leftmostZhostname_remainderr,r,r-�_dnsname_matchs<	
����r�cCs�	zt�|�}Wn	tyYnwt�|�|kr|Std�|���zt�tj|�WSty8td�|���ty@Ynwtd�|���)Nz'{!r} is not a quad-dotted IPv4 address.z+{!r} is neither an IPv4 nor an IP6 address.z{!r} is not an IPv4 address.)	�_socket�	inet_aton�OSError�	inet_ntoa�
ValueErrorr��	inet_pton�AF_INET6�AttributeError)Zipname�addrr,r,r-�_inet_patonDs*����r�cCs	t|���}||kS�N)r��rstrip)Zcert_ipaddress�host_ipZipr,r,r-�_ipaddress_matchgsr�cCsN	tjdtdd�|std��zt|�}Wnty d}Ynwg}|�dd�}|D]/\}}|dkrE|dur?t||�r?dS|�|�q+|dkrZ|durUt||�rUdS|�|�q+|s|�d	d�D]}|D]\}}|d
kr}t||�rxdS|�|�qgqct	|�dkr�t
d|d
�tt
|��f��t	|�dkr�t
d||df��t
d��)Nz"ssl.match_hostname() is deprecatedri��category�
stacklevelztempty or no certificate, match_hostname needs a SSL socket or SSL context with either CERT_OPTIONAL or CERT_REQUIREDZsubjectAltNamer,ZDNSz
IP Address�subjectZ
commonNamerhz&hostname %r doesn't match either of %sz, zhostname %r doesn't match %rrz=no appropriate commonName or subjectAltName fields were found)�warnings�warn�DeprecationWarningr�r��getr��appendr��lenr��join�map�repr)�certr�r�ZdnsnamesZsan�keyr6�subr,r,r-�match_hostnamessV��
�

���
�r��DefaultVerifyPathszQcafile capath openssl_cafile_env openssl_cafile openssl_capath_env openssl_capathcCsh	t��}tj�|d|d�}tj�|d|d�}ttj�|�r$|ndtj�|�r-|ndg|�R�S)Nrrhrirj)	r<�get_default_verify_paths�os�environr�r��path�isfile�isdir)�parts�cafile�capathr,r,r-r��s��r�csBeZdZ	dZ�fdd�Ze�fdd��Ze�fdd��Z�ZS)�_ASN1Objectr,cst�j|gt|dd��R�S)NFr*��super�__new__�_txt2obj)�cls�oid��	__class__r,r-r��sz_ASN1Object.__new__cs	t�j|gt|��R�Sr�)r�r��_nid2obj)r�Znidr�r,r-�fromnid�sz_ASN1Object.fromnidcs	t�j|gt|dd��R�S)NTr*r�)r�r+r�r,r-�fromname�sz_ASN1Object.fromname)	r9r:r;�	__slots__r��classmethodr�r��
__classcell__r,r,r�r-r��sr�znid shortname longname oidc@seZdZ	dZdZdS)�Purposez1.3.6.1.5.5.7.3.1z1.3.6.1.5.5.7.3.2N)r9r:r;�SERVER_AUTH�CLIENT_AUTHr,r,r,r-r��sr�cs�eZdZ	dZdZdZd1dd�Zdd�Z				d2d	d
�Z		d3dd�Z	d
d�Z
dd�Zdd�Zdd�Z
ejfdd�Zeed�rbe�fdd��Zej�fdd��Ze�fdd��Zej�fdd��Ze�fdd��Zej�fd d��Zeed!�r�ed"d#��Zejd$d#��Zned%d#��Ze�fd&d'��Zej�fd(d'��Ze�fd)d*��Ze�fd+d,��Zej�fd-d,��Ze�fd.d/��Zej�fd0d/��Z�ZS)4�
SSLContext)ZCAZROOTNcOs,|durtjdtdd�t}t�||�}|S)Nz9ssl.SSLContext() without protocol argument is deprecated.rir�)r�r�r��PROTOCOL_TLSr	r�)r��protocol�args�kwargs�selfr,r,r-r��s�zSSLContext.__new__cCs0|durdSt|t�r|�d��d�S|�d�S)NZidna�ascii)�
isinstance�str�encode�decode)r�r�r,r,r-�_encode_hostname�s


zSSLContext._encode_hostnameFTc	Cs|jj|||||||d�S)N)�sock�server_side�do_handshake_on_connect�suppress_ragged_eofs�server_hostname�context�session)�sslsocket_class�_create)r�r�r�r�r�r�r�r,r,r-�wrap_socket�s�zSSLContext.wrap_socketcCs|jj||||�|�||d�S)N)r�r�r�r�)�sslobject_classr�r�)r��incoming�outgoingr�r�r�r,r,r-�wrap_bio
s
�zSSLContext.wrap_biocCsptjdtdd�t�}|D]#}t|d�}t|�dks t|�dkr$td��|�t|��|�|�q
|�	|�dS)N�'ssl NPN is deprecated, use ALPN insteadri�r�r�r�z(NPN protocols must be 1 to 255 in length)
r�r�r��	bytearray�bytesr�rr��extendZ_set_npn_protocols)r�Z
npn_protocols�protosr��br,r,r-�set_npn_protocolss�
zSSLContext.set_npn_protocolscs:�dur	d�_dSt��std����fdd�}|�_dS)Nznot a callable objectcs��|�}�|||�Sr�)r�)�sslobjZ
servernameZsslctx�r��server_name_callbackr,r-�shim_cb+s
z3SSLContext.set_servername_callback.<locals>.shim_cb)Zsni_callback�callable�	TypeError)r�r�r�r,r�r-�set_servername_callback$s

z"SSLContext.set_servername_callbackcCs`t�}|D]#}t|d�}t|�dkst|�dkrtd��|�t|��|�|�q|�|�dS)Nr�rr�z)ALPN protocols must be 1 to 255 in length)r�r�r�rr�r�Z_set_alpn_protocols)r�Zalpn_protocolsr�r�r�r,r,r-�set_alpn_protocols1s
zSSLContext.set_alpn_protocolscCstt�}zt|�D]\}}}|dkr|dus|j|vr|�|�qWnty/t�d�Ynw|r8|j|d�|S)NZx509_asnTz-unable to enumerate Windows certificate store)�cadata)r�rzr�r��PermissionErrorr�r��load_verify_locations)r��	storename�purposeZcertsr��encodingZtrustr,r,r-�_load_windows_store_certs<s
���z$SSLContext._load_windows_store_certscCs@t|t�s	t|��tjdkr|jD]}|�||�q|��dS)Nry)r�r�r��sys�platform�_windows_cert_storesr�Zset_default_verify_paths)r�r�r�r,r,r-�load_default_certsJs


zSSLContext.load_default_certs�minimum_versionc�tt�j�Sr�)r8r�r��r�r�r,r-r�S�zSSLContext.minimum_versioncs4|tjkr|jtjM_ttt�j�||�dSr�)	r8r=�optionsr0ZOP_NO_SSLv3r�r�r��__set__�r�r6r�r,r-r�Ws
crr�)r8r��maximum_versionrr�r,r-r]rzSSLContext.maximum_versionc�ttt�j�||�dSr�)r�r�rrrr�r,r-ra�crr�)r0r�rrr�r,r-rerzSSLContext.optionscrr�)r�r�rrrr�r,r-rirr�cCs|jtj@}|tjkSr��Z_host_flagsr<r�)r�Zncsr,r,r-�hostname_checks_common_namens
z&SSLContext.hostname_checks_common_namecCs.|r
|jtjM_dS|jtjO_dSr�r	rr,r,r-r
sscCsdS�NTr,rr,r,r-r
z�cs	t�j}|dur|jSdSr�)r��
_msg_callback�
user_function)r��innerr�r,r-r
~s
zSSLContext._msg_callbackcsb�durttt�j�|d�dSt�d�st��d����fdd�}�|_ttt�j�||�dS)N�__call__z is not callable.cs�zt|�}Wn	tyYnwzt|�}Wn	tyYnw|tjkr(t}n
|tjkr0t}nt}z||�}Wn	tyAYnw�||||||�Sr�)r8r�r>rGrFrHrg)�conn�	direction�versionZcontent_typeZmsg_type�dataZmsg_enum��callbackr,r-r�s.��

��z'SSLContext._msg_callback.<locals>.inner)r�r�r
r�hasattrr�r)r�rrr�rr-r
�s
crr�)r&r�r�rr�r,r-r��rzSSLContext.protocolcrr�)r3r��verify_flagsrr�r,r-r�rzSSLContext.verify_flagscrr�)r�r�rrrr�r,r-r�rcs*t�j}zt|�WSty|YSwr�)r��verify_moder4r�rr�r,r-r�s
�zSSLContext.verify_modecrr�)r�r�rrrr�r,r-r�rr�)FTTNN)FNN)r9r:r;r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr	�propertyr��setterrrr<r
r
r�rrr�r,r,r�r-r��sl

�
�





&%r�)r�r�r�cCs�	t|t�s
t|��|tjkrtt�}t|_d|_	n|tj
kr$tt�}nt|��|s.|s.|r6|�
|||�n
|jtkr@|�|�t|d�rTtj�d�}|rTtjjsT||_|S)NT�keylog_filename�
SSLKEYLOGFILE)r�r�r�r�r�r��PROTOCOL_TLS_CLIENT�
CERT_REQUIREDr�check_hostnamer��PROTOCOL_TLS_SERVERr�r��	CERT_NONEr�rr�r�r�r��flags�ignore_environmentr)r�r�r�r�r��
keylogfiler,r,r-�create_default_context�s&






r&F)�	cert_reqsr r��certfile�keyfiler�r�r�cCs�	t|t�s
t|��|tjkr|durt}n|tjkr"|dur!t}nt|��t	|�}	||	_
|dur4||	_|r9d|	_
|rA|sAtd��|sE|rK|	�||�|sQ|sQ|rY|	�
|||�n
|	jtkrc|	�|�t|	d�rwtj�d�}
|
rwtjjsw|
|	_|	S)NT�certfile must be specifiedrr)r�r�r�r�r�rr�r!r�r�r r�load_cert_chainr�r"r�rr�r�r�r�r#r$r)r�r'r r�r(r)r�r�r�r�r%r,r,r-�_create_unverified_context
s>

�
�


r,c@s�eZdZ	dd�Ze		d1dd��Zedd��Zejd	d��Zed
d��Z	e	jdd��Z	ed
d��Z
edd��Zedd��Zd2dd�Z
dd�Zd3dd�Zdd�Zdd�Zdd�Zd d!�Zd"d#�Zd$d%�Zd&d'�Zd(d)�Zd4d+d,�Zd-d.�Zd/d0�ZdS)5�	SSLObjectcO�t|jj�d���)NzU does not have a public constructor. Instances are returned by SSLContext.wrap_bio().�r�r�r9�r�r�r�r,r,r-�__init__W��zSSLObject.__init__FNc	Cs*|�|�}|j||||||d�}||_|S)N)r�r��ownerr�)r�Z	_wrap_bio�_sslobj)	r�r�r�r�r�r�r�r�r�r,r,r-r�]s
�zSSLObject._createcC�
	|jjSr��r4r�rr,r,r-r�i�zSSLObject.contextcC�||j_dSr�r6�r��ctxr,r,r-r�nrcCr5r��r4r�rr,r,r-r�rr7zSSLObject.sessioncCr8r�r;�r�r�r,r,r-r�wrcCr5r��r4�session_reusedrr,r,r-r>{r7zSSLObject.session_reusedcCr5r�)r4r�rr,r,r-r��r7zSSLObject.server_sidecCr5r�)r4r�rr,r,r-r��szSSLObject.server_hostname�cCs,	|dur|j�||�}|S|j�|�}|Sr�)r4�read)r�r��buffer�vr,r,r-r@�s�zSSLObject.readcC�	|j�|�Sr�)r4�write�r�rr,r,r-rD�szSSLObject.writecCrCr�)r4�getpeercert�r�Zbinary_formr,r,r-rF�szSSLObject.getpeercertcCs	tjdtdd�dS�Nr�rir�)r�r�r�rr,r,r-�selected_npn_protocol�s
�zSSLObject.selected_npn_protocolcC�	|j��Sr�)r4�selected_alpn_protocolrr,r,r-rK��
z SSLObject.selected_alpn_protocolcCrJr�)r4�cipherrr,r,r-rM��
zSSLObject.ciphercCrJr�)r4�shared_ciphersrr,r,r-rO�rLzSSLObject.shared_cipherscCrJr�)r4�compressionrr,r,r-rP�rNzSSLObject.compressioncCrJr�)r4�pendingrr,r,r-rQ��
zSSLObject.pendingcCs	|j��dSr�)r4�do_handshakerr,r,r-rS�szSSLObject.do_handshakecCrJr�)r4�shutdownrr,r,r-�unwrap�rRzSSLObject.unwrapr�cCrCr�)r4�get_channel_binding�r�Zcb_typer,r,r-rV�szSSLObject.get_channel_bindingcCrJr��r4rrr,r,r-r�rNzSSLObject.versioncCs
|j��Sr�)r4�verify_client_post_handshakerr,r,r-rY�s
z&SSLObject.verify_client_post_handshake)FNNN�r?N�F�r�)r9r:r;r1r�r�rr�rr�r>r�r�r@rDrFrIrKrMrOrPrQrSrUrVrrYr,r,r,r-r-HsF�








	

r-cCs	tt|j�j|_|Sr�)�getattrr-r9�__doc__)�funcr,r,r-�_sslcopydoc�sr`cseZdZ	dd�Ze			dW�fdd�	�Zeedd	���Zej	d
d	��Zeedd���Z
e
j	d
d��Z
eedd���Zdd�ZdXdd�Z
dd�ZdYdd�Zdd�ZedZdd��Zedd��Zedd ��Zed!d"��Zed#d$��Zed%d&��Zd[�fd(d)�	ZdX�fd*d+�	Zd,d-�Zd[�fd.d/�	Zd\�fd0d1�	Zd]�fd2d3�	Zd^�fd4d5�	Zd]�fd6d7�	Zd^�fd8d9�	Zd:d;�Z d<d=�Z!ed>d?��Z"�fd@dA�Z#edBdC��Z$edDdE��Z%�fdFdG�Z&edZdHdI��Z'�fdJdK�Z(dLdM�Z)dNdO�Z*�fdPdQ�Z+ed_dSdT��Z,edUdV��Z-�Z.S)`�	SSLSocketcOr.)NzX does not have a public constructor. Instances are returned by SSLContext.wrap_socket().r/r0r,r,r-r1�r2zSSLSocket.__init__FTNc

s�|�tt�tkrtd��|r|rtd��|durtd��|jr%|s%td��t|j|j	|j
|��d�}|j|fi|��}	t
t|	�jdi|��|	�|���|��||	_||	_d|	_d|	_||	_|�|�|	_||	_||	_z|	��Wnty�}
z|
jtjkr��d}WYd}
~
nd}
~
wwd}||	_ |r�z&|	jj!|	||	j|	|	jd�|	_|r�|	��}|d	kr�td
��|	�"�W|	SW|	Sttfy�|	�#��w|	S)Nz!only stream sockets are supportedz4server_hostname can only be specified in client modez,session can only be specified in client modez'check_hostname requires server_hostname)�family�type�proto�filenoFT�r3r��zHdo_handshake_on_connect should not be specified for non-blocking socketsr,)$�
getsockoptrr�r}�NotImplementedErrorr�r �dictrbrcrdrer�r�rar1�
settimeout�
gettimeout�detach�_context�_session�_closedr4r�r�r�r�r��getpeernamer��errnoZENOTCONN�
_connected�_wrap_socketrS�close)
r�r�r�r�r�r�r�r�r�r��eZ	connected�timeoutr�r,r-r��sl
����
�	��zSSLSocket._createcCs|jSr�)rnrr,r,r-r�4szSSLSocket.contextcCs||_||j_dSr�)rnr4r�r9r,r,r-r�9scC�|jdur	|jjSdSr�r;rr,r,r-r�>�
�zSSLSocket.sessioncCs ||_|jdur||j_dSdSr�)ror4r�r<r,r,r-r�Ds
�cCrxr�r=rr,r,r-r>JryzSSLSocket.session_reusedcCstd|jj��)NzCan't dup() %s instances)rir�r9rr,r,r-�dupPs�z
SSLSocket.dupcCsdSr�r,)r��msgr,r,r-�_checkClosedTrzSSLSocket._checkClosedcCs|js	|��dSdSr�)rsrqrr,r,r-�_check_connectedXs�zSSLSocket._check_connectedr?c
Cs�	|��|jdurtd��z|dur|j�||�WS|j�|�WStyJ}z|jdtkrE|jrE|dur>WYd}~dSWYd}~dS�d}~ww)Nz'Read on closed or unwrapped SSL socket.r�)r|r4r�r@rr�Z
SSL_ERROR_EOFr�)r�r�rA�xr,r,r-r@`s 
��zSSLSocket.readcCs(	|��|jdurtd��|j�|�S)Nz(Write on closed or unwrapped SSL socket.)r|r4r�rDrEr,r,r-rDus

zSSLSocket.writecCs|��|��|j�|�Sr�)r|r}r4rFrGr,r,r-rF~szSSLSocket.getpeercertcCs|��tjdtdd�dSrH)r|r�r�r�rr,r,r-rI�s�zSSLSocket.selected_npn_protocolcCs&|��|jdustjsdS|j��Sr�)r|r4r<rrKrr,r,r-rK�s
z SSLSocket.selected_alpn_protocolcC� |��|jdurdS|j��Sr�)r|r4rMrr,r,r-rM��

zSSLSocket.ciphercCr�r�)r|r4rOrr,r,r-rO�r�zSSLSocket.shared_cipherscCr�r�)r|r4rPrr,r,r-rP�r�zSSLSocket.compressionrcsB|��|jdur|dkrtd|j��|j�|�St��||�S)Nrz3non-zero flags not allowed in calls to send() on %s)r|r4r�r�rDr��send)r�rr#r�r,r-r��s
��zSSLSocket.sendcsF|��|jdurtd|j��|durt��||�St��|||�S)Nz%sendto not allowed on instances of %s)r|r4r�r�r��sendto)r�rZ
flags_or_addrr�r�r,r-r��s
�zSSLSocket.sendtocO�td|j��)Nz&sendmsg not allowed on instances of %s�rir�r0r,r,r-�sendmsg�s�zSSLSocket.sendmsgc	s�|��|jdurc|dkrtd|j��d}t|��?}|�d��!}t|�}||kr:|�||d��}||7}||ks)Wd�n1sDwYWd�dSWd�dS1s\wYdSt��	||�S)Nrz6non-zero flags not allowed in calls to sendall() on %s�B)
r|r4r�r��
memoryview�castr�r�r��sendall)r�rr#r��view�	byte_view�amountrBr�r,r-r��s$
����P�zSSLSocket.sendallcs*	|jdur
|�|||�St��|||�Sr�)r4�_sendfile_use_sendr��sendfile)r��file�offsetr�r�r,r-r��s
zSSLSocket.sendfilecs@|��|jdur|dkrtd|j��|�|�St��||�S)Nrz3non-zero flags not allowed in calls to recv() on %s)r|r4r�r�r@r��recv�r��buflenr#r�r,r-r��s
��
zSSLSocket.recvcsf|��|r|durt|�}n|durd}|jdur+|dkr%td|j��|�||�St��|||�S)Nr?rz8non-zero flags not allowed in calls to recv_into() on %s)r|r�r4r�r�r@r��	recv_into�r�rA�nbytesr#r�r,r-r��s

��zSSLSocket.recv_intocs.|��|jdurtd|j��t��||�S)Nz'recvfrom not allowed on instances of %s)r|r4r�r�r��recvfromr�r�r,r-r��s
�zSSLSocket.recvfromcs0|��|jdurtd|j��t��|||�S)Nz,recvfrom_into not allowed on instances of %s)r|r4r�r�r��
recvfrom_intor�r�r,r-r�s
�zSSLSocket.recvfrom_intocOr�)Nz&recvmsg not allowed on instances of %sr�r0r,r,r-�recvmsg
��zSSLSocket.recvmsgcOr�)Nz+recvmsg_into not allowed on instances of %sr�r0r,r,r-�recvmsg_intor�zSSLSocket.recvmsg_intocCs |��|jdur|j��SdS�Nr)r|r4rQrr,r,r-rQs

zSSLSocket.pendingcs|��d|_t��|�dSr�)r|r4r�rT)r��howr�r,r-rTszSSLSocket.shutdowncCs*|jr
|j��}d|_|Stdt|����NzNo SSL wrapper around )r4rTr�r�)r��sr,r,r-rU"s

zSSLSocket.unwrapcCs |jr|j��Stdt|���r�)r4rYr�r�rr,r,r-rY+s
z&SSLSocket.verify_client_post_handshakecsd|_t���dSr�)r4r��_real_closerr�r,r-r�2szSSLSocket._real_closec	CsN|��|��}z|dkr|r|�d�|j��W|�|�dS|�|�w)Nrg)r}rlrkr4rS)r��blockrwr,r,r-rS6s
zSSLSocket.do_handshakec	s�|jrtd��|js|jdurtd��|jj|d|j||jd�|_z |r+t��	|�}nd}t��
|�|s?d|_|jr?|��|WSt
tfyNd|_�w)Nz!can't connect in server-side modez/attempt to connect already-connected SSLSocket!FrfT)r�r�rsr4r�rtr�ror��
connect_ex�connectr�rSr�)r�r�r��rcr�r,r-�
_real_connectAs,��zSSLSocket._real_connectcCs	|�|d�dS)NF�r��r�r�r,r,r-r�[szSSLSocket.connectcCs	|�|d�Srr�r�r,r,r-r�`szSSLSocket.connect_excs0	t���\}}|jj||j|jdd�}||fS)NT)r�r�r�)r��acceptr�r�r�r�)r�Znewsockr�r�r,r-r�es�zSSLSocket.acceptr�cCs0|jdur|j�|�S|tvrtd�|���dS)Nz({0} channel binding type not implemented)r4rV�CHANNEL_BINDING_TYPESr�r�rWr,r,r-rVqs
�zSSLSocket.get_channel_bindingcCs|jdur
|j��SdSr�rXrr,r,r-r|s

zSSLSocket.version)FTTNNNr�rZr[)r)rN)r?rr�r\)/r9r:r;r1r�r�rr`r�rr�r>rzr|r}r@rDrFrIrKrMrOrPr�r�r�r�r�r�r�r�r�r�r�rQrTrUrYr�rSr�r�r�r�rVrr�r,r,r�r-ra�s��>



	
	










raTc
Cs|tjdtdd�|r|std��|r|std��t|�}
||
_|r&|
�|�|r.|
�||�|	r5|
�|	�|
j	||||d�S)Nz=ssl.wrap_socket() is deprecated, use SSLContext.wrap_socket()rir�z5certfile must be specified for server-side operationsr*)r�r�r�r�)
r�r�r�r�r�rr�r+Zset_ciphersr�)r�r)r(r�r'�ssl_version�ca_certsr�r�Zciphersr�r,r,r-r��s,�

�r�cCs�	ddlm}ddlm}d}d}z|�|dd����d}Wnty/td||f��w||dd�|�}||d|f|d	d
��S)Nr)�strptime)�timegm)ZJanZFebZMarZAprZMayZJunZJulZAugZSepZOctZNovZDecz %d %H:%M:%S %Y GMTrjrhz*time data %r does not match format "%%b%s"rirm)�timer�Zcalendarr��index�titler�)Z	cert_timer�r�ZmonthsZtime_formatZmonth_number�ttr,r,r-�cert_time_to_seconds�s	��r�z-----BEGIN CERTIFICATE-----z-----END CERTIFICATE-----csT	tt�|�dd��tg}|�fdd�tdt��d�D�7}|�td�d�|�S)N�ASCII�strictcsg|]
}�||d��qS)�@r,)r5�i��fr,r-�
<listcomp>�sz(DER_cert_to_PEM_cert.<locals>.<listcomp>rr��
)	r��base64Zstandard_b64encode�
PEM_HEADER�ranger�r��
PEM_FOOTERr�)Zder_cert_bytes�ssr,r�r-�DER_cert_to_PEM_cert�s"
r�cCs^	|�t�stdt��|���t�stdt��|��tt�tt��}t�|�	dd��S)Nz(Invalid PEM encoding; must start with %sz&Invalid PEM encoding; must end with %sr�r�)
r)r�r��strip�endswithr�r�r�Zdecodebytesr�)Zpem_cert_string�dr,r,r-�PEM_cert_to_DER_cert�s
��r�c	Cs�	|\}}|durt}nt}t|||d�}t||d��1}|j||d��
}	|	�d�}
Wd�n1s3wYWd�t|
�SWd�t|
�S1sOwYt|
�S)N)r'r�)rw)r�T)rr"�_create_stdlib_contextr~r�rFr�)r�r�r�rw�host�portr'r�r�ZsslsockZdercertr,r,r-�get_server_certificate�s(��
��
��r�cCst�|d�S)Nz	<unknown>)�_PROTOCOL_NAMESr�)Z
protocol_coder,r,r-�get_protocol_name�sr�r�)nr�r��collectionsr�enumrZ_Enumr�_IntEnumrZ_IntFlagr<rrrr	r
rrr
rrrrrrr�rr�rrrrr�ImportErrorrrrrrrr r!r"r#r$r%�	_convert_r9r&r�r'�__members__�itemsr�r]Z_SSLv2_IF_EXISTSr8r>rHrgr�rzr{r|r}r~rr�r�r�r�rrr�r�Zsocket_errorr�rZHAS_NEVER_CHECK_COMMON_NAMEZ_RESTRICTED_SERVER_CIPHERSr�r�r�r�r�r�r�r�r�r�r�r&r"r,Z_create_default_https_contextr�r-r`rar�r�r�r�r�r�r�r�rr�r�r,r,r,r-�<module>s�Y$�0������
)
1#>��&�7
� 


�
© 2025 GrazzMean