HEX
Server: LiteSpeed
System: Linux ratab.tasjeel.ae 4.18.0-553.30.1.lve.el8.x86_64 #1 SMP Tue Dec 3 01:21:19 UTC 2024 x86_64
User: arhamste (1605)
PHP: 8.1.33
Disabled: NONE
Upload Files
File: //lib/python3.6/site-packages/ipapython/__pycache__/session_storage.cpython-36.pyc
3

�
�i�3�@s�ddlZddlZd$Zejdkr$dZndZyeje�ZWn.ek
rdZze	e
e���WYddZ[XnXejZeZ
e
ZeZejZeZGdd�dej�ZGdd	�d	ej�ZGd
d�dej�ZGdd
�d
ej�ZGdd�dej�ZGdd�dej�ZGdd�dej�ZGdd�dej�Zeje�ZeZeZej Z!eZ"eZ#eje�Z$eje�Z%Gdd�dej�Z&Gdd�de'�Z(dd�Z)eje�Z*eje�Z+eje�Z,e&Z-ej.Z/e/Z0ej1Z1eje*�fe1_2e
e1_3e)e1_4ej5Z5e*fe5_2de5_3ej6Z6e*efe6_2de6_3ej7Z7e*e,fe7_2de7_3ej8Z8e*eje+�fe8_2e
e8_3e)e8_4ej9Z9e*e+fe9_2e
e9_3e)e9_4ej:Z:e*ej;eje�fe:_2e
e:_3e)e:_4ej<Z<e*e+eej;e,fe<_2e
e<_3e)e<_4ej=Z=e*e+eje�fe=_2e
e=_3e)e=_4ej>Z>e*eje�ej ej;ej;ej;ej;ej;fe>_2e
e>_3e)e>_4ej?Z?e*e+eje0�fe?_2e
e?_3e)e?_4ej@Z@e*e+eje0�eje-�fe@_2e
e@_3e)e@_4ejAZAe*e+eje0�feA_2e
eA_3e)eA_4ejBZBe*eje-�feB_2deB_3ejCZCe*eefeC_2e!eC_3ejDZDe*eejej;�feD_2e
eD_3e)eD_4ejEZEe*ej;feE_2deE_3dZFdZGdd�ZHd d!�ZId"d#�ZJdS)%�Ni	�8i�darwinz
libkrb5.dylibzlibkrb5.so.3c@seZdZdZgZdS)�
_krb5_contextz krb5/krb5.h struct _krb5_contextN)�__name__�
__module__�__qualname__�__doc__�_fields_�r	r	�%/usr/lib/python3.6/session_storage.pyrsrc@seZdZdZgZdS)�_krb5_ccachezkrb5/krb5.h struct _krb5_ccacheN)rrrrrr	r	r	r
r!src@s*eZdZdZdefdejfdejfgZdS)�
_krb5_datazkrb5/krb5.h struct _krb5_data�magic�length�dataN)	rrrr�
krb5_magic�ctypes�c_uint�c_char_prr	r	r	r
r&src@seZdZdZgZdS)�krb5_principal_dataz&krb5/krb5.h struct krb5_principal_dataN)rrrrrr	r	r	r
r/src@s4eZdZdZdefdefdejfdeje	�fgZ
dS)�_krb5_keyblockz!krb5/krb5.h struct _krb5_keyblockr
Zenctyper�contentsN)rrrrr�krb5_enctyperr�POINTER�
krb5_octetrr	r	r	r
r4s
rc@s,eZdZdZdefdefdefdefgZdS)�_krb5_ticket_timesz%krb5/krb5.h struct _krb5_ticket_timesZauthtimeZ	starttimeZendtimeZ
renew_tillN)rrrr�krb5_timestamprr	r	r	r
r>s
rc@seZdZdZgZdS)�
_krb5_addressz krb5/krb5.h struct _krb5_addressN)rrrrrr	r	r	r
rHsrc@seZdZdZgZdS)�_krb5_authdataz!krb5/krb5.h struct _krb5_authdataN)rrrrrr	r	r	r
rMsrc
@sbeZdZdZdefdefdefdefdefdefde	fd	e
je�fd
e
fde
fde
je�fgZd
S)�_krb5_credszkrb5/krb5.h struct _krb5_credsr
�client�serverZkeyblock�timesZis_skeyZticket_flagsZ	addresses�ticketZ
second_ticketZauthdataN)rrrrr�krb5_principal�
krb5_keyblock�krb5_ticket_times�krb5_boolean�
krb5_flagsrr�krb5_address_p�	krb5_data�krb5_authdata_prr	r	r	r
r\src@seZdZdS)�	KRB5ErrorN)rrrr	r	r	r
r+msr+cCs|dkrt||j|��dS)z.Error checker for krb5_error_code return valuerN)r+r)�result�funcZ	argumentsr	r	r
�
krb5_errcheckqsr.sX-CACHECONF:skrb5_ccache_conf_datac	
Cst|t�s|jd�}t|t�s(|jd�}t|t�s<|jd�}t||�}||krRdSt�}t�}t�}zrttj	|��t
|tj|�tj	|��t|tj	|��tj
|�}t�}|j|_t|�|_t||||tj	|��Wd|r�t||�|r�t||�|�rt|�XdS)z=
    Stores the session cookie in a hidden ccache entry.
    zutf-8�asciiN)�
isinstance�bytes�encode�get_data�krb5_contextr#�krb5_ccache�krb5_init_contextr�byref�krb5_parse_namer�krb5_cc_defaultZcreate_string_bufferr�valuer�lenr�krb5_cc_set_config�krb5_free_principal�
krb5_cc_close�krb5_free_context)	�
princ_name�keyr:Zoldvalue�context�	principal�ccacheZbufrr	r	r
�
store_data�s:











rEc
CsHt|t�s|jd�}t|t�s(|jd�}t�}t�}t�}t�}t�}tj�}�z�ttj	|��t
|tj	|��t||tj	|��t|tj|�tj	|��t
||tj	|��t|tj	|�tt�tjt�tjt�tj|�|tjd��t�}t�}	d}
t||tj	|��z�x�t�}yt||tj	|�tj	|��Wntk
�rFPYnXt|||j�dk�r�t|||j�dk�r�|
�r�t|tj	|	��|}	d}
nt|tj	|���q
WWdt||tj	|��X|
�r�|	jj}t|tj	|	��|SWd|�r�t||�|�rt||�|�rt||�|�r$t||�|�r4t ||�|�rBt!|�XdS)z;
    Gets the session cookie in a hidden ccache entry.
    zutf-8NF�T)"r0r1r2r4r#r5rrr6r7r9�krb5_cc_get_principalr8�krb5_unparse_name�krb5_build_principalr;�
CONF_REALM�	CONF_NAME�krb5_cc_cursor�
krb5_creds�krb5_cc_start_seq_get�krb5_cc_next_credr+�krb5_principal_comparerr �krb5_free_cred_contents�krb5_cc_end_seq_getr"rr=�krb5_free_unparsed_namer>r?)
r@rArBrCZ	srv_princrDZpname_princZpnameZcursorZcredsZ	got_credsZ
checkcredsrr	r	r
r3
sz









r3cCs�t|t�s|jd�}t|t�s(|jd�}t�}t�}t�}z�ttj|��t	|tj
|�tj|��t|tj|��yt||||d�Wn0t
k
r�}z|jdtkr�WYdd}~XnXWd|r�t||�|r�t||�|r�t|�XdS)zB
    Removes the hidden ccache entry with the session cookie.
    zutf-8Nr)r0r1r2r4r#r5r6rr7r8rr9r<r+�args�KRB5_CC_NOSUPPr=r>r?)r@rArBrCrD�er	r	r
�remove_datags.





rWi�:ǖ)Kr�sysrU�platformZLIBKRB5_FILENAMEZCDLLZLIBKRB5�OSErrorrV�ImportError�strZc_int32Z
krb5_int32Zkrb5_error_coderrZc_uint8rrZ	Structurerrrrrrrrrr#r$r%rr&r'r)r(r*r�	Exceptionr+r.r4r5Zkrb5_data_prMZc_void_pZkrb5_pointerrLr6ZargtypesZrestypeZerrcheckr?r=Zkrb5_free_data_contentsr9r>r8rr<rGrIrNrOrRrQrPrHrSrJrKrEr3rWr	r	r	r
�<module>s�
	











-Z