__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

[email protected]: ~ $
�

�M�g�r��~�SrSSKJr SSKJr SSKrSSKrSSKJrJ	r	 SSK
Jr SSKJ
r
 SSKJr SS	KJrJrJrJr SS
KJr SSKJr SSKJr \"\5rSS
jr\R:R=S5=(d SrSSjr Sr!Sr"\""5ur#r$\RJ"\#S5r&"SS\5r'"SS\5r(g)z@tests for passlib.apache -- (c) Assurance Technologies 2008-2011�)�with_statement)�	getLoggerN)�apache�registry)�MissingBackendError)�irange)�unittest)�TestCase�get_file�set_file�ensure_mtime_changed)�u)�to_bytes)�to_unicode_for_identifyc��[RRU5n[RRU5U-
n[R"XU45 g)z)backdate file's mtime by specified amountN)�os�path�getatime�getmtime�utime)r�offset�atime�mtimes    �;/usr/lib/python3/dist-packages/passlib/tests/test_apache.py�backdate_file_mtimersA��
�G�G���T�"�E��G�G���T�"�6�)�E��H�H�T�5�>�"��PASSLIB_TEST_HTPASSWD_PATH�htpasswdc�B�UbURS5n[R"[/U-[R[R
U(a[ROSS9nUR
U5up4UR5n[U=(d S5nX54$)z
helper to run htpasswd cmd
N�utf-8)�stdout�stderr�stdin�)	�encode�
subprocess�Popen�
htpasswd_path�PIPE�STDOUT�communicate�waitr)�argsr#�proc�out�err�rcs      r�_call_htpasswdr2+s~��
�����W�%�����]�O�d�2�:�?�?�#-�#4�#4�u�J�O�O�Z^�`�D�����&�H�C�	
����B�
!�#�)��
,�C��7�Nrc�0�[SX/U5up4U(+$)z
wrapper for htpasswd verify
z-vi)r2)r�user�passwordr/r1s     r�_call_htpasswd_verifyr69s���e�T�0�(�;�G�C��6�Mrc��[/5upU(d[RS5 SU;nSU4$![a gf=f)z(
helper to check if htpasswd is present
)FFz htpasswd test returned with rc=0z -B T)r2�OSError�log�warning)r/r1�have_bcrypts   r�_detect_htpasswdr<AsO��� ��$�������6�7��C�-�K����������s�
4�
A�Az requires `htpasswd` cmdline toolc��\rSrSrSrSrSrSrSrSr	Sr
S	rS
rSr
SrS
rSrSrSrSrSrSrSrSrSrSrSrSrSrSrSr\S5r \\!RD"\#RH"S5S5S 55r%S!r&g")#�HtpasswdFileTest�Zztest HtpasswdFile class�HtpasswdFilestuser2:2CHkkwa2AtqGs
user3:{SHA}3ipNV1GrBtxPmHFC21fCbVCSXIo=
user4:pass4
user1:$apr1$t4tc7jTh$GPIWVUo8sQKJlUdV8V5vu0
s4user3:{SHA}3ipNV1GrBtxPmHFC21fCbVCSXIo=
user4:pass4
syuser2:pass2x
user3:{SHA}3ipNV1GrBtxPmHFC21fCbVCSXIo=
user4:pass4
user1:$apr1$t4tc7jTh$GPIWVUo8sQKJlUdV8V5vu0
user5:pass5
suseræ:2CHkkwa2AtqGs
suser�:2CHkkwa2AtqGs
suser1:pass1
user1:pass2
suser2:2CHkkwa2AtqGs
user3:{SHA}3ipNV1GrBtxPmHFC21fCbVCSXIo=
user4:pass4
user1:$apr1$t4tc7jTh$GPIWVUo8sQKJlUdV8V5vu0
user5:$2a$12$yktDxraxijBZ360orOyCOePFGhuis/umyPNJoL5EbsLk.s6SWdrRO
user6:$5$rounds=110000$cCRp/xUUGVgwR4aP$p0.QKFS5qLNRqw1/47lXYiAcgIjJK.WjCO8nrEKuUK.
c�@�UR5n[XR5 [R"U5nURUR
5UR5 URURU5 URUR5 US-UlURURUS-5 URUR5 [R"USS9nURUR
5S5 URURU5 URUR5 URS5 [R"USS9nSSS5 URUR
5S5 URURU5 URUR5 [R"U5 UR[[RU5 g!,(df   N�=f)	�test constructor autoload�xT��newrz ``autoload=False`` is deprecatedF)�autoloadN)�mktempr�	sample_01rr@�assertEqual�	to_stringr�
assertTruer�assertFalse�assertWarningListr�remove�assertRaises�IOError��selfr�hts   r�test_00_constructor_autoload�-HtpasswdFileTest.test_00_constructor_autoload}s����{�{�}����~�~�&�
�
 �
 ��
&������������8�������$�'�������!���*���������$��*�-�������"��
 �
 ��4�
0����������-�������$�'�������"��
#�
#�$F�
G��$�$�T�E�:�B�H���������-�������$�'�������"�	�	�	�$�����'�6�#6�#6��=�H�
G�s�H�
Hc�N�UR5n[XR5 [RRU5nUR
UR5UR5 UR
URS5 URUR5 g�N)rGrrHrr@�	from_pathrIrJrrLrrQs   r�test_00_from_path�"HtpasswdFileTest.test_00_from_path�so���{�{�}����~�~�&�
�
 �
 �
*�
*�4�
0������������8�������$�'�������"rc��[RRUR5nUR	URS55 UR	URS55 UR
URS55 URUR5UR5 UR[UR
S5 g)�
test delete()�user1�user2�user5�user:N)rr@�from_stringrHrK�deleterLrIrJ�	sample_02rO�
ValueError�rRrSs  r�test_01_delete�HtpasswdFileTest.test_01_delete�s���
�
 �
 �
,�
,�T�^�^�
<������	�	�'�*�+�����	�	�'�*�+�������7�+�,�����������8�	
���*�b�i�i��9rc�D�UR5nSn[X5 [R"U5nUR	S5 UR[
U5U5 [R"USS9nUR	S5 UR[
U5S5 g)Nsuser1:pass1
user2:pass2
r]T)�autosavesuser2:pass2
)rGrrr@rbrIr�rRr�samplerSs    r�test_01_delete_autosave�(HtpasswdFileTest.test_01_delete_autosave�s}���{�{�}��.�����
�
 �
 ��
&��
�	�	�'������$���0�
�
 �
 ���
5��
�	�	�'������$��)9�:rc��[RRURSS9nUR	URSS55 UR
URSS55 URUR5UR5 URS5 [RRURSS9nS	S	S	5 UR	URSS55 UR
URSS55 URUR5UR5 UR[UR
S
S5 URS5 URSS
5 S	S	S	5 UR	URSS
55 g	!,(df   N�=f!,(df   NA=f)ztest set_password()�	plaintext��default_schemer^�pass2xr_�pass5z``default`` is deprecated)�defaultNr`�pass�update\(\) is deprecated�test)rr@rarHrK�set_passwordrLrIrJ�	sample_03rMrOrd�update�check_passwordres  r�test_02_set_password�%HtpasswdFileTest.test_02_set_password�s\��
�
 �
 �
,�
,��N�N�;�-�8����������:�;��������'�:�;�����������8��
#�
#�$?�
@��$�$�0�0�����0�U�B�A���������:�;��������'�:�;�����������8�	
���*�b�o�o�w��G��
#�
#�$?�
@��I�I�g�v�&�A�����)�)�'�6�:�;�A�
@��A�
@�s�&)F3�6G�3
G�
Gc�J�UR5nSn[X5 [R"U5nUR	SS5 UR[
U5U5 [R"USSS9nUR	SS5 UR[
U5S5 g)N�user1:pass1
r]�pass2roT)rqrisuser1:pass2
)rGrrr@rxrIrrjs    r�test_02_set_password_autosave�.HtpasswdFileTest.test_02_set_password_autosave�s����{�{�}��!�����
�
 �
 ��
&��
�����)�����$���0�
�
 �
 ��k�D�
Q��
�����)�����$��)9�:rc���SnURU"S5S5 URU"S5S5 UR[US5 URU"S5[RS5 URU"S5[RS5 URU"S5[RS5 URU"S5[RS5 g)	z%test set_password() -- default_schemec��[R"US9nURSS5 URR	URS55$)Nrpr]�pass1)rr@rx�context�identify�get_hash)�schemerSs  r�check�CHtpasswdFileTest.test_02_set_password_default_scheme.<locals>.check�s>���$�$�F�;�B��O�O�G�W�-��:�:�&�&�r�{�{�7�';�<�<r�sha256_crypt�	des_crypt�xxx�portable�portable_apache_22�host_apache_22N)rIrO�KeyErrorr�htpasswd_defaults)rRr�s  r�#test_02_set_password_default_scheme�4HtpasswdFileTest.test_02_set_password_default_scheme�s���	=�	
����~�.��?�����{�+�[�9�	
���(�E�5�1�	
����z�*�F�,D�,D�Z�,P�Q�����3�4�f�6N�6N�Oc�6d�e�����/�0�&�2J�2J�K[�2\�]�	
����t��f�&>�&>�?S�&T�Urc��[RRUR5nUR	SS5 URS5 UR	SS5 UR
[UR55/SQ5 g)�test users()r_rs�user3�pass3�r]r^r��user4r_N)	rr@rarHrxrbrI�sorted�usersres  r�
test_03_users�HtpasswdFileTest.test_03_users�s`��
�
 �
 �
,�
,�T�^�^�
<��
�����)�
�	�	�'��
�����)��������
�+�-Z�[rc��[RRUR5nUR	[
URSS5 URUR
SS5SL5 [SS5H\n[U5nURUR
SU-SU-55 URUR
SU-S5SL5 M^ UR	[URS
S5 URS/S-5 URURS
S55 URURS
S55 SSS5 g![a US	:XaM�ef=f!,(df   g=f)�test check_password()��pass9�user9N�r4ruF�5r`�verify\(\) is deprecated�r]r�r�)rr@ra�	sample_05rO�	TypeErrorr{rKr�strrrdrM�verifyrL�rRrS�is   r�test_04_check_password�'HtpasswdFileTest.test_04_check_passwordsM��
�
 �
 �
,�
,�T�^�^�
<�����)�R�%6�%6��7�C�����)�)�'�'�:�d�B�C���1��A��A��A�
����� 1� 1�&��(�F�1�H� E�F����� 1� 1�&��(�G� D�� M�N�	�	
���*�b�&7�&7��&�I��
#�
#�%@�$A�!�$C�
D��O�O�B�I�I�g�w�7�8����R�Y�Y�w��8�9�E�
D��'�
���8���	
��E�
D�s �
A
E�AE6�E3�1E3�6
Fc���UR5n[US5 [US5 [R"USS9nURUR
5S5 URSS5 UR5 URUR
5S5 [XR5 UR5 URUR
5UR5 URS	S
5 UR5 URUR
5UR5 [R"5nUR[UR5 UR[UR5 [XR5 [R"5nURU5 URURSS55 g)�test load()r$�rorprr]r�rr_rsN)rGrrrr@rIrJrx�load_if_changedrH�loadrO�RuntimeError�
sample_duprKr{�rRr�ha�hb�hcs     r�test_05_load�HtpasswdFileTest.test_05_loads_���{�{�}����r���D�!�$�
�
 �
 ��k�
B����������-�	�����)�
�����������)9�:�	��~�~�&�
��������������8�	�����)�
���	�����������8��
 �
 �
"�����,����0����,��(:�(:�;�	����'�
�
 �
 �
"��
����
�����)�)�'�'�:�;rc��UR5n[XR5 [R"U5nURS5 URS5 UR
5 UR[U5UR5 [R"SS9nURSS5 UR[UR5 UR
U5 UR[U5S5 g)�test save()r]r^rorpr�rN)
rGrrHrr@rb�saverIrrcrxrOr��rRrrSr�s    r�test_06_save�HtpasswdFileTest.test_06_saveAs����{�{�}����~�~�&�
�
 �
 ��
&��	�	�	�'��
�	�	�'��
���	�����$�����8��
 �
 ��
<��
�����)����,����0�	����
�����$��)9�:rc�~�UR[[RSS9 [RR	UR
SSS9nUR
UR5[S5/5 URS5 [RR	UR
SS9nSSS5 UR
UR5S	/5 [RR	URS
SS9nUR
UR5[S5/5 g!,(df   N�=f)ztest 'encoding' kwd�utf-16��encodingr T�r��return_unicode�useræz``encoding=None`` is deprecatedNsuseræ�latin-1)rOrdrr@ra�sample_04_utf8rIr�rrM�sample_04_latin1res  r�test_07_encodings�"HtpasswdFileTest.test_07_encodingsWs��	
���*�f�&9�&9�H��M��
 �
 �
,�
,�T�-@�-@�7�<@�-�B���������q���%8�9��
#�
#�$E�
F��$�$�0�0��1D�1D�t�0�T�B�G���������%8�9��
 �
 �
,�
,�T�-B�-B�7@�QU�-�W���������q���%8�9�G�
F�s�)D.�.
D<c��[RRUR5nUR	URS5S5 UR	URS5S5 UR	URS5S5 UR
S5 UR	URS5S5 SSS5 g!,(df   g=f)�test get_hash()r�s!{SHA}3ipNV1GrBtxPmHFC21fCbVCSXIo=r�spass4r_N�find\(\) is deprecated)rr@rarHrIr�rM�findres  r�test_08_get_hash�!HtpasswdFileTest.test_08_get_hashks���
�
 �
 �
,�
,�T�^�^�
<��������W�-�/S�T�������W�-�x�8�������W�-�t�4�
�
#�
#�$=�
>����R�W�W�W�-�x�8�?�
>�
>�s�"C	�	
Cc��[RRUR5nUR	UR5UR5 [R"5nUR	UR5S5 g)ztest to_stringrN)rr@rarHrIrJres  r�test_09_to_string�"HtpasswdFileTest.test_09_to_stringu�^���
 �
 �
,�
,�T�^�^�
<������������8��
 �
 �
"����������-rc�H�[R"SSSSS9n[U5 g)N�fakepathTr�)rirEr�)rr@�reprres  r�test_10_repr�HtpasswdFileTest.test_10_repr�s��
�
 �
 ��d��y�
Y���R�rc��UR[[RRS5 UR[[RRS5 g)Nsrealm:user1:pass1
spass1
)rOrdrr@ra�rRs r�test_11_malformed�"HtpasswdFileTest.test_11_malformed�sD�����*�f�&9�&9�&E�&E�"�	$����*�f�&9�&9�&E�&E��	rc�`�UR[[RRSSS9 g)Nr)r)rOr�rr@rar�s r�test_12_from_string�$HtpasswdFileTest.test_12_from_string�s*�����)�V�%8�%8�%D�%D��D�	�	*rc�p�[S5n[RRU5nUR	[UR
55/SQ5 URSS5 UR	[UR
55/SQ5 URSS5 UR	[UR
55/SQ5 URS5 UR	[UR
55/S	Q5 [S
5nUR	UR5U5 g)zwhitespace & comment handlingz`
user2:pass2
user4:pass4
user7:pass7
 	 
user1:pass1
 # legacy users
#user6:pass6
user5:pass5

)r]r^r�r_�user7r��althash4�user6�althash6)r]r^r�r_r�r�r�)r]r^r�r_r�zd
user2:pass2
user4:althash4
 	 
user1:pass1
 # legacy users
#user6:pass6
user5:pass5
user6:althash6
N)
rrr@rarIr�r��set_hashrbrJ)rR�sourcerS�targets    r�test_13_whitespace�#HtpasswdFileTest.test_13_whitespace�s���
�
�

���
 �
 �
,�
,�V�
4���������
�+�-Z�[�	���G�Z�(��������
�+�-Z�[�	���G�Z�(��������
�+�-c�d�	�	�	�'���������
�+�-Z�[��
�

��	
��������0rc�
^�UR5n[R"USS9mU4SjnTRSU"SS55 [RSnTRSU"SU55 [RS	nTRS
U"SU55 TRSS5 TR5 UR
[USS
55 UR
[USS
55 UR
[US
S
55 UR
[USS
55 UR[USS55 UR[USS55 UR[US
S55 g)z+
verify "htpasswd" command can read output
T�rrEc�X>�TRRU5RU5$rW�r��handler�hash��pwdr�rSs  �r�hash_scheme�>HtpasswdFileTest.test_htpasswd_cmd_verify.<locals>.hash_scheme��#����:�:�%�%�f�-�2�2�3�7�7rr]r5�
apr_md5_cryptr�r^�hostr�r�z$xxx$foo$bar$baz�wrongN)	rGrr@r�r�r�rLr6rK)rRrr��host_no_bcrypt�	host_bestrSs     @r�test_htpasswd_cmd_verify�)HtpasswdFileTest.test_htpasswd_cmd_verify�sK���
�{�{�}��
�
 �
 �d��
5��	8�	���G�[��O�D�E� �1�1�2B�C��
���G�[��^�D�E��,�,�V�4�	�
���G�[��Y�?�@�	���G�/�0�	���	����.�t�W�g�F�G����.�t�W�g�F�G����.�t�W�g�F�G����.�t�W�g�F�G����-�d�G�Z�H�I����-�d�G�Z�H�I����-�d�G�Z�H�Ir�bcryptzbcrypt support requiredc�n^�UR5n[R"USS9mU4SjnTRSU"SS55 TR	5 UR[
USS55 [(aUR[
USS55 gUR[
USS55 g)	z�
verify "htpasswd" command can read bcrypt format

this tests for regression of issue 95, where we output "$2b$" instead of "$2y$";
fixed in v1.7.2.
Tr�c�X>�TRRU5RU5$rWr�r�s  �rr��EHtpasswdFileTest.test_htpasswd_cmd_verify_bcrypt.<locals>.hash_scheme�r�rr]r5rr�N)	rGrr@r�r�rLr6�HAVE_HTPASSWD_BCRYPTrK)rRrr�rSs   @r�test_htpasswd_cmd_verify_bcrypt�0HtpasswdFileTest.test_htpasswd_cmd_verify_bcrypt�s�����{�{�}��
�
 �
 �d��
5��	8�
���G�[��X�>�?�
���	����.�t�W�g�F�G����O�O�1�$���L�M�
���2�4��*�M�Nr�N)'�__name__�
__module__�__qualname__�__firstlineno__�__doc__�descriptionPrefixrHrcryr�r�r�r�rTrYrfrlr|r�r�r�r�r�r�r�r�r�r�r�r�r��requires_htpasswd_cmdrr	�
skipUnlessr�has_backendr�__static_attributes__r	rrr>r>Zs���!�&��B�I�J�I�"�I�5�N�2��.�J�F�I�>�D#�	:�;�<�.;�V�.\�:�4!<�J;�,:�(9�	.���*�
-1�^�"J��"J�H�
����-�-�h�7�9R�S�O�T��Orr>c�~�\rSrSrSrSrSrSrSrSr	Sr
S	rS
rSr
SrS
rSrSrSrSrSrSrSrSrSrg)�HtdigestFileTestiztest HtdigestFile class�HtdigestFiles�user2:realm:549d2a5f4659ab39a80dac99e159ab19
user3:realm:a500bb8c02f6a9170ae46af10c898744
user4:realm:ab7b5d5f28ccc7666315f508c7358519
user1:realm:2a6cf53e7d8f8cf39d946dc880b14128
sZuser3:realm:a500bb8c02f6a9170ae46af10c898744
user4:realm:ab7b5d5f28ccc7666315f508c7358519
s�user2:realm:5ba6d8328943c23c64b50f8b29566059
user3:realm:a500bb8c02f6a9170ae46af10c898744
user4:realm:ab7b5d5f28ccc7666315f508c7358519
user1:realm:2a6cf53e7d8f8cf39d946dc880b14128
user5:realm:03c55fdc6bf71552356ad401bdb9af19
s0useræ:realmæ:549d2a5f4659ab39a80dac99e159ab19
s.user�:realm�:549d2a5f4659ab39a80dac99e159ab19
c��UR5n[XR5 [R"U5nURUR
5UR5 [R"USS9nURUR
5S5 [R"U5 UR[[RU5 g)rBTrDrN)rGrrHrrrIrJrrNrOrPrQs   rrT�-HtdigestFileTest.test_00_constructor_autoloads����{�{�}����~�~�&�
�
 �
 ��
&������������8��
 �
 ��4�
0����������-�	�	�	�$�����'�6�#6�#6��=rc�:�[RRUR5nUR	URSS55 UR	URSS55 UR
URSS55 UR
URSS55 URUR5UR5 UR[UR
SS5 UR[UR
SS	5 g
)r\r]�realmr^r_r��realm5r`r4�realm:N)rrrarHrKrbrLrIrJrcrOrdres  rrf�HtdigestFileTest.test_01_delete+s���
�
 �
 �
,�
,�T�^�^�
<������	�	�'�7�3�4�����	�	�'�7�3�4�������7�G�4�5�������7�H�5�6�����������8�	
���*�b�i�i��'�B�	
���*�b�i�i���Brc�$�UR5n[XR5 [R"U5nURUR
SS55 URUR
SS55 URUR
SS55 UR[U5UR5 SUl
URUR
SS55 UR[U5UR5 g)Nr]rr�rr_Tr^)rGrrHrrrKrbrLrIrrircrQs   rrl�(HtdigestFileTest.test_01_delete_autosave:s����{�{�}����~�~�&�
�
 �
 ��
&������	�	�'�7�3�4�������7�H�5�6�������7�G�4�5�����$�����8��������	�	�'�7�3�4�����$�����8rc��[RRUR5nUR	URSSS55 UR
URSSS55 URUR5UR5 UR[UR
SS5 SUlURSS5 URSSS5 UR[UR
SSS	5 UR[UR
S
SS	5 UR[UR
SSS	5 UR[UR
SS
S	5 URS5 UR!SSS5 SSS5 UR	URSS55 g!,(df   N0=f)z
test update()r^rrrr_rsr��realm2r`ru�uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuur4r�rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrvrwN)rrrarHrKrxrLrIrJryrOr��
default_realmr{rdrMrzres  rr|�%HtdigestFileTest.test_02_set_passwordHsb��
�
 �
 �
,�
,�T�^�^�
<����������(�C�D��������'�7�C�D�����������8�	
���)�R�_�_�g�w�G�#���
�����)�
���'�8�W�5�	
���*�b�o�o�w���P����*�b�o�o�w���P�	
���*�b�o�o�v�x��P����*�b�o�o�v�w��O��
#�
#�$?�
@��I�I�g�x��0�A�����)�)�'�6�:�;�A�
@�s�G�
Gc�`�[RRUR5nUR	SSS5 URSS5 UR	SSS5 UR
[URS55/SQ5 UR[URS5 g)	r�r_rrsr�r�r�r�N)rrrarHrxrbrIr�r�rOr�res  rr��HtdigestFileTest.test_03_usersds��
�
 �
 �
,�
,�T�^�^�
<��
�����'�2�
�	�	�'�7�#�
�����'�2��������� 1�2�4a�b����)�R�X�X�q�1rc	��[RRUR5nUR	[
URSSS5 UR	[
URSSS5 URUR
SSS5S5 [SS5H\n[U5nURUR
SU-SSU-55 URUR
SU-SS5S	5 M^ UR	[
URSS5 SUlURUR
S
S55 URUR
SS5S5 URS/S
-5 URURS
SS55 URURS
SS55 SSS5 UR	[URSSS5 g!,(df   N2=f)r�r�rrsr4r_Nr�ruFr]r�r�r�r�r`)rrrarHrOr�r{�assertIsrr�rKr$rMr�rLrdr�s   rr��'HtdigestFileTest.test_04_check_passwordns���
�
 �
 �
,�
,�T�^�^�
<�����)�R�%6�%6��7�G�L����)�R�%6�%6���7�K��
�
�b�'�'����A�4�H���!��A��A��A��O�O�B�-�-�f�Q�h�����J�K��M�M�"�+�+�F�1�H�g�w�G��O��	
���)�R�%6�%6���I�"�������)�)�'�7�;�<��
�
�b�'�'���9�4�@��
#�
#�%@�$A�!�$C�
D��O�O�B�I�I�g�w��@�A����R�Y�Y�w���A�B�E�
	
���*�b�&7�&7��'�6�R�E�
D�s
�AG1�1
G?c��UR5n[US5 [US5 [R"U5nURUR
5S5 URSSS5 UR5 URUR
5S5 [XR5 UR5 URUR
5UR5 URSSS	5 UR5 URUR
5UR5 [R"5nUR[UR5 UR[UR5 [R"5nURU5 URUR
5UR5 [U5 [US5 URS
5 URSS9 S
S
S
5 URUR
5S5 g
!,(df   N/=f)r�r$r�rr]rr�s-user1:realm:2a6cf53e7d8f8cf39d946dc880b14128
r_rsz!load\(force=False\) is deprecatedF)�forceN)rGrrrrrIrJrxr�rHr�rOr�r
rMr�s     rr��HtdigestFileTest.test_05_load�s����{�{�}����r���D�!�$�
�
 �
 ��
&����������-�	�����'�2�
�����������)Z�[�	��~�~�&�
��������������8�	�����'�2�
���	�����������8��
 �
 �
"�����,����0����,��(:�(:�;��
 �
 �
"��
����
�����������8�	�T�"���r��
�
#�
#�$H�
I��G�G�%�G� �J���������-�J�
I�s�I�
Ic�0�UR5n[XR5 [R"U5nURSS5 URSS5 UR
5 UR[U5UR5 [R"5nURSSS5 UR[UR5 UR
U5 UR[U5UR55 g)r�r]rr^r�N)rGrrHrrrbr�rIrrcrxrOr�rJr�s    rr��HtdigestFileTest.test_06_save�s����{�{�}����~�~�&�
�
 �
 ��
&��	�	�	�'�7�#�
�	�	�'�7�#�
���	�����$�����8��
 �
 �
"��
�����'�2����,����0�	����
�����$������8rc��[RRUR5nUR	URS5S5 UR	UR
5S/5 UR	URS5S5 UR	UR
5/5 UR	UR5S5 g)ztest realms() & delete_realm()rCrr�rN)rrrarHrI�delete_realm�realmsrJres  r�test_07_realms�HtdigestFileTest.test_07_realms�s���
�
 �
 �
,�
,�T�^�^�
<���������-�q�1��������w�i�0��������1�1�5��������b�)���������-rc��[RRUR5nUR	URSS5S5 UR	URSS5S5 UR	URSS5S5 UR
S5 UR	URSS5S5 SSS5 g!,(df   g=f)	r�r�r� a500bb8c02f6a9170ae46af10c898744r�� ab7b5d5f28ccc7666315f508c7358519r_Nr�)rrrarHrIr�rMr�res  rr��!HtdigestFileTest.test_08_get_hash�s���
�
 �
 �
,�
,�T�^�^�
<��������W�g�6�8Z�[�������W�g�6�8Z�[�������W�g�6��=�
�
#�
#�$=�
>����R�W�W�W�g�6�8Z�[�?�
>�
>�s�!#C
�
Cc�f�UR[[RSS9 [RR	UR
SSS9nUR
UR5[S5/5 UR
UR[S55[S5/5 [RR	URSSS9nUR
UR5[S5/5 UR
UR[S55[S5/5 g	)
ztest encoding parameterr�r�r Tr�urealmær�r�N)rOrdrrrar�rIr3rr�r�res  r�test_09_encodings�"HtdigestFileTest.test_09_encodings�s���	
���*�f�&9�&9�H��M��
 �
 �
,�
,�T�-@�-@�7�cg�
,�
h����������-�(8�&:�;�������!�M�"2�3�q���5H�I��
 �
 �
,�
,�T�-B�-B�Y�gk�
,�
l����������-�(8�&:�;�������!�M�"2�3�q���5H�Irc��[RRUR5nUR	UR5UR5 [R"5nUR	UR5S5 g)ztest to_string()rN)rrrarHrIrJres  r�test_10_to_string�"HtdigestFileTest.test_10_to_string�r�rc��UR[[RRS5 UR[[RRS5 g)Nsrealm:user1:pass1:other
r)rOrdrrrar�s rr��"HtdigestFileTest.test_11_malformed�sD�����*�f�&9�&9�&E�&E�(�	*����*�f�&9�&9�&E�&E��	rr	N)r
rrr
rrrHrcryr�r�rTrfrlr|r�r�r�r�r4r�r;r>r�rr	rrrrsw��!�&��C�I�C�I�C�I�V�N�O��>�$
C�9�<�82�S�2'.�R9�,	.�\�
J�	.�rr)�
rW))r�
__future__r�loggingrrr&�passlibrr�passlib.excr�passlib.utils.compatr�passlib.tests.backportsr	�passlib.tests.utilsr
rrr
r�
passlib.utilsr�passlib.utils.handlersrr
r9r�environ�getr(r2r6r<�
HAVE_HTPASSWDrrrr>rr	rr�<module>rOs���F�&��	��%�+�'�,�R�R�"�"�:�����#��
�
���;�<�J�
�
����"'7�&8�#�
�#� �+�+�M�;]�^��]O�x�]O�L
y�x�yr

Filemanager

Name Type Size Permission Actions
__init__.cpython-313.pyc File 181 B 0644
__main__.cpython-313.pyc File 329 B 0644
_test_bad_register.cpython-313.pyc File 965 B 0644
backports.cpython-313.pyc File 1.57 KB 0644
test_apache.cpython-313.pyc File 39.23 KB 0644
test_apps.cpython-313.pyc File 7 KB 0644
test_context.cpython-313.pyc File 72.82 KB 0644
test_context_deprecated.cpython-313.pyc File 30.41 KB 0644
test_crypto_builtin_md4.cpython-313.pyc File 6.92 KB 0644
test_crypto_des.cpython-313.pyc File 7.09 KB 0644
test_crypto_digest.cpython-313.pyc File 18.36 KB 0644
test_crypto_scrypt.cpython-313.pyc File 26.38 KB 0644
test_ext_django.cpython-313.pyc File 36.14 KB 0644
test_ext_django_source.cpython-313.pyc File 8.11 KB 0644
test_handlers.cpython-313.pyc File 54.12 KB 0644
test_handlers_argon2.cpython-313.pyc File 20.17 KB 0644
test_handlers_bcrypt.cpython-313.pyc File 25.88 KB 0644
test_handlers_cisco.cpython-313.pyc File 10.54 KB 0644
test_handlers_django.cpython-313.pyc File 16.59 KB 0644
test_handlers_pbkdf2.cpython-313.pyc File 18.31 KB 0644
test_handlers_scrypt.cpython-313.pyc File 3.7 KB 0644
test_hosts.cpython-313.pyc File 3.98 KB 0644
test_pwd.cpython-313.pyc File 8.13 KB 0644
test_registry.cpython-313.pyc File 11.15 KB 0644
test_totp.cpython-313.pyc File 61.07 KB 0644
test_utils.cpython-313.pyc File 48.64 KB 0644
test_utils_handlers.cpython-313.pyc File 43.05 KB 0644
test_utils_md4.cpython-313.pyc File 1.59 KB 0644
test_utils_pbkdf2.cpython-313.pyc File 11.64 KB 0644
test_win32.cpython-313.pyc File 2.14 KB 0644
tox_support.cpython-313.pyc File 3.29 KB 0644
utils.cpython-313.pyc File 139.67 KB 0644
Filemanager