HOME


Mini Shell 1.0
Redirecting to https://devs.lapieza.net/iniciar-sesion Redirecting to https://devs.lapieza.net/iniciar-sesion.
DIR: /lib/python3/dist-packages/fail2ban/tests/__pycache__/
Upload File :
Current File : //lib/python3/dist-packages/fail2ban/tests/__pycache__/actionstestcase.cpython-311.pyc
�

G�kc�J����dZdZdZddlZddlZddlZddlmZddlm	Z	dd	l
mZdd
lm
Z
mZmZmZej�ej�e��d��ZGd�d
e
��ZdS)zDaniel BlackzCopyright (c) 2013 Daniel Black�GPL�N�)�
FailTicket)�Utils�)�	DummyJail)�LogCaptureTestCase�
with_alt_time�with_tmpdir�MyTime�filesc���eZdZ�fd�Z�fd�Zifd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Ze
d���Zd�Zd
�Ze
ed�����Z�xZS)�ExecuteActionsc���tt|�����t��|_|jj|_dS)zCall before every test case.N)�superr�setUpr�_ExecuteActions__jail�actions�_ExecuteActions__actions��self�	__class__s ��@/usr/lib/python3/dist-packages/fail2ban/tests/actionstestcase.pyrzExecuteActions.setUp)s:��������#�#�%�%�%����$�+��;�&�$�.�.�.�c�V��tt|�����dS)N)rr�tearDownrs �rrzExecuteActions.tearDown/s%��������&�&�(�(�(�(�(rc��|j�d��|jd}d|�dd��z|_d|�dd��z|_d|�dd��z|_d	|�d
d��z|_d|�dd��z|_d
|�dd��z|_|S)N�ipz
echo ip start�start�zecho ip ban <ip>�banzecho ip unban <ip>�unbanz
echo ip check�checkz
echo ip flush�flushzecho ip stop�stop)	r�add�get�actionstart�	actionban�actionunban�actioncheck�actionflush�
actionstop)r�o�acts   r�
defaultActionzExecuteActions.defaultAction2s����.���T������t��#�#�A�E�E�'�2�$6�$6�6�#�/�$�Q�U�U�5�"�%5�%5�5�#�-�(����w��);�);�;�#�/�#�A�E�E�'�2�$6�$6�6�#�/�#�A�E�E�'�2�$6�$6�6�#�/�!�!�%�%���"3�"3�3�#�.�	�*rc��|j�d��|�t|jjd��dS)N�test)rr&�assertRaises�
ValueError�rs r�testActionsAddDuplicateNamez*ExecuteActions.testActionsAddDuplicateName=s;���.���V�������J��� 2�F�;�;�;�;�;rc��|j�d��|�|jd��|�d|j��|�d|j��|j�d��|jd=|jd=|�d|j��|�t
|j��d��|j�d��|�|j���d��|�	t|jjd��dS)Nr2znonexistant action�test1r�z	127.0.0.1)rr&�
assertTrue�assertIn�assertNotIn�assertEqual�len�
setBanTime�
getBanTimer3r4�removeBannedIPr5s r�testActionsManipulationz&ExecuteActions.testActionsManipulationAs���.���V�����/�/�$�.��(�)�)�)��-�-����'�'�'����'���8�8�8��.���W����
�n�V��
�n�W�����6�4�>�*�*�*����3�t�~�&�&��*�*�*��.���C� � � ����4�>�,�,�.�.�s�3�3�3����J��� =�{�K�K�K�K�Krc��|�|j�d��d��|�d��|���|�|j�gd���d��|�d��|�d��|�d��|�d��dS)	N�	192.0.2.1r�
Ban 192.0.2.1)rDz	192.0.2.2z	192.0.2.3r�192.0.2.1 already bannedz
Ban 192.0.2.2z
Ban 192.0.2.3)r=r�addBannedIP�assertLogged�pruneLog�assertNotLoggedr5s r�testAddBannedIPzExecuteActions.testAddBannedIPPs������4�>�-�-�k�:�:�A�>�>�>����O�$�$�$��-�-�/�/�/����4�>�-�-�.U�.U�.U�V�V�XY�Z�Z�Z����.�/�/�/�����'�'�'����O�$�$�$����O�$�$�$�$�$rc���|���|j���|�ddzd���|j���|j���|�ddzddz��|�|j���ddd	gfg��|�|j�d
��ddg��dS)N�
stdout: %r�ip startT��waitzip flush�ip stop)zCurrently bannedr)zTotal bannedrzBanned IP list�short)r0rrrHr%�joinr=�statusr5s r�testActionsOutputz ExecuteActions.testActionsOutputZs���������.���������L�:�-�D��9�9�9��.�������.���������L�:�-�|�i�/G�H�H�H����4�>�(�(�*�*�,D�#�&6��%<�,>�?�?�?����4�>�(�(��1�1�3K�#�3%�&�&�&�&�&rc
�����j�dtj�t
d��ddi����d���j�����tj
�fd�d�����j����j�����d����t�jjd	d
i���j�dtj�t
d��ddd
�����t�jjdtj�t
d��dddd�����t�jjdtj�t
d��i��dS)N�Actionzaction.d/action.py�opt1�valuezTestAction initialisedc�.����d��S)NzTestAction action start��
_is_loggedr5s�r�<lambda>z4ExecuteActions.testAddActionPython.<locals>.<lambda>ns���$�/�/�:S�*T�*T�r�zTestAction action stop�Action3z/does/not/exist.py�Action4�value2)rX�opt2�Action5�value3)rXrb�opt3)rr&�os�pathrS�TEST_FILES_DIRrHrr:r�wait_forr%r3�IOError�	TypeErrorr5s`r�testAddActionPythonz"ExecuteActions.testAddActionPythonfs�����.����R�W�\�\�.�*>�
?�
?�
�G��������,�-�-�-��.�������/�/�5�>�"T�"T�"T�"T�VW�X�X�Z�Z�Z��.�������.���������,�-�-�-����G��>��y�"6��<�<�<��.����b�g�l�l�>�+?�@�@��X�&�&�(�(�(�����d�n� �)��7�<�<�� 4�5�5��X�x�8�8�:�:�:�
����d�n� �)��7�<�<�� 4�5�5�r�;�;�;�;�;rc	������t�jjdtj�td��i����t�jjdtj�td��i���j�dtj�td��i���j�����	tj�fd�d�����j����j�����
d��dS)NrWzaction.d/action_noAction.pyzaction.d/action_nomethod.pyzaction.d/action_errors.pyc�.����d��S)NzFailed to startr[r5s�rr]z7ExecuteActions.testAddPythonActionNOK.<locals>.<lambda>�s���$�/�/�:K�*L�*L�rr^zFailed to stop)r3�RuntimeErrorrr&rfrgrSrhrr:rrir%rHr5s`r�testAddPythonActionNOKz%ExecuteActions.testAddPythonActionNOK�s;������L�$�.�"4��R�W�\�\�.�!�#�#��������L�$�.�"4��R�W�\�\�.�!�#�#������.����R�W�\�\�.��!�!������.�������/�/�5�>�"L�"L�"L�"L�a�P�P�R�R�R��.�������.���������$�%�%�%�%�%rc��|j�dtj�t
d��i��|j�dtj�t
d��i��|j�td����|j�	��|�
d��|�d��|�d��|j���|�
d��|�d	��|�d
��dS)N�action1zaction.d/action_modifyainfo.py�action2z1.2.3.4�Failed to execute banzaction1 ban deleted aInfo IPzaction2 ban deleted aInfo IPzFailed to execute unbanzaction1 unban deleted aInfo IPzaction2 unban deleted aInfo IP)
rr&rfrgrSrhr�
putFailTicketr�_Actions__checkBanrJrH�_Actions__flushBanr5s r�testBanActionsAInfoz"ExecuteActions.testBanActionsAInfo�s<���.�����7�<�<�� @�A�A������.�����7�<�<�� @�A�A������+���J�y�1�1�2�2�2��.�#�#�%�%�%����.�/�/�/����2�3�3�3����2�3�3�3��.�#�#�%�%�%����0�1�1�1����4�5�5�5����4�5�5�5�5�5rc��d|j_d|j_|j�d��|j���tjd��d}|dkr8d|z}|j�t|d����|dz
}|dk�8|�
dd	�
��tjd��|dkr8d|z}|j�t|d����|dz
}|dk�8|�
d
d	�
��|j���|j���|�
d��|�
d��dS)Nr^��dr�z
192.0.2.%drz / 20,TrO���2z / 50,zUnbanned 30, 0 ticket(s)zUnbanned 50, 0 ticket(s))r�
banPrecedence�
unbanMaxCountr?rr�setTimerrurrHr%rSrJ)r�irs   r�testUnbanOnBusyBanBombingz(ExecuteActions.testUnbanOnBusyBanBombing�s���"#�$�.��!"�$�.���.���C� � � ��.�������.������!�	�B����q��2��;���Z��A�.�.�/�/�/���6�1�	
�B������H�4��(�(�(��.�����	�B����q��2��;���Z��C�0�0�1�1�1���6�1�	
�B������H�4��(�(�(��.�������.���������.�/�/�/����1�2�2�2�2�2rc�Z�|�ddd���}|jdz|d<d|_d|jz|_d|jz|_|j���|�ddz��|�|j�	d	��d
��|�|j�	d��d
��|�
dd
ddzddzddzdd���|�d��|jdz|d<|j�
d��|�
dd���|�d��|j���|�
ddzddzdddddzddd��	�	|�d��|j|d<|�|j�	d��d
��|�
d
ddzddzdd���|�ddzd���|�d��|j���|�
ddddzdd zdd���|�ddzddzddzd!d���|�d"��|j|d<|j���|j���|�
ddzddzd#dd���|�d$ddzd%d���dS)&N�	 <family>)r#r$�; exit 1�actionflush?family=inet6T�<actioncheck> ; rMrNrDr�2001:db8::1rE�Ban 2001:db8::1�ip ban 192.0.2.1�ip ban 2001:db8::1��allrP�>[test-phase 1a] simulate inconsistent irreparable env by unban�actioncheck?family=inet6z,Invariant check failed. Unban is impossible.rOz>[test-phase 1b] simulate inconsistent irreparable env by flush�ip flush inet4�ip flush inet6�Failed to flush bans�'No flush occurred, do consistency check�<Invariant check failed. Trying to restore a sane environmentrQ�[test-phase 2] consistent env�ip check inet4�r��-[test-phase 3] failed flush in consistent env�ip check inet6�Unable to restore environment�![test-phase end] flush successful�action ip terminated�ERROR�Unban tickets each individualy)r0r,�actionstart_on_demandr)r*rrrJr=rGrHrIr+rArwr%rS�rr/s  r�testActionsConsistencyCheckz*ExecuteActions.testActionsConsistencyCheck�s������K��E�E�F�F�#�$'�O�j�$@�#� �!�"�#��$�s�}�4�#�-�&���8�#�/��.���������|�j�0�1�1�1����4�>�-�-�k�:�:�A�>�>�>����4�>�-�-�m�<�<�a�@�@�@����O�%6��*���$�$��&�&��$�	�����-�-�P�Q�Q�Q�$'�O�j�$@�#� �!��.���
�.�.�.����B�������-�-�P�Q�Q�Q��.�#�#�%�%�%�����"�"��"�"��,�A��)����$������-�-�/�0�0�0�$'�O�#� �!����4�>�-�-�m�<�<�a�@�@�@����%��*���&�&��$��������|�&6�6���
�
�
��-�-�?�@�@�@��.�#�#�%�%�%����*�,��"�"��"�"��$�	����
����"�"��)���*��"���
�
�
��-�-�3�4�4�4�$'�O�#� �!��.�������.����������"�"��)����$�	�������w��"�"�#���
�
�
�
�
rc��|�ddddd���}|jdz|d<d|_d|_d|jz|_d|jz|_|j���|�ddz��|�	|j�
d	��d
��|�	|j�
d��d
��|�dd
ddzddzddzddzdd���|jdz|d<|�
d��|j�d��|�dddzdd���|�ddzddzddzd���|�
d��|�	|j�
d��d
��|�dddzddzddzdddd���|�ddzddzd���|j|d<|�	|j�
d��d
��|jdz|d<|�
d��|j���|�ddzdd zd!d"dddzd#dd��	�	|�ddzd���|�
d$��|j|d<|�	|j�
d��d
��|�d
ddzddzdd���|�dd%zddzd���|�
d&��|j|d<|j���|�d!d"dd zddzdd���|�ddzddzddzddzddzd���|�
d'��|j|d<|j���|j���|�dd zddzddzd(dd���|�d)ddzd*d���dS)+Nr�)rr#r$r%r�r�Tr�rMrNrDrr�rEr��ip start inet4r��ip start inet6r�r�r�r�r�z
ip stop inet6z
ip stop inet4r�z<[test-phase 1b] simulate inconsistent irreparable env by banr�r�rt�2001:db8::2z>[test-phase 1c] simulate inconsistent irreparable env by flushr�r�r�r�zFailed to flush bans in jailr�r�r�r�r�r�r�)r0r,r��actionrepair_on_unbanr)r*rrrJr=rGrHr+rIrArwr%rSr�s  r�"testActionsConsistencyCheckDiffFamz1ExecuteActions.testActionsConsistencyCheckDiffFam%s������K��k�bm�n�n�o�o�#�$'�O�j�$@�#� �!�"�#��"�#��$�s�}�4�#�-�&���8�#�/��.���������|�j�0�1�1�1����4�>�-�-�k�:�:�A�>�>�>����4�>�-�-�m�<�<�a�@�@�@����O�%6��"�"��$�$��"�"��&�&��$�����%(�O�j�$@�#� �!��-�-�P�Q�Q�Q��.���
�.�.�.����R��/�!��$���������"�"��/�!��"�"��	�
�
�
��-�-�N�O�O�O����4�>�-�-�m�<�<�a�@�@�@����R��/�!��"�"��"�"�"���$�
��������/�!��"�"���
�
�
�
%(�O�#� �!����4�>�-�-�m�<�<�a�@�@�@�$'�O�j�$@�#� �!��-�-�P�Q�Q�Q��.�#�#�%�%�%�����"�"��"�"��,�A��/�!�!��$���������/�!���
�
�
�
�-�-�/�0�0�0�$'�O�#� �!����4�>�-�-�m�<�<�a�@�@�@����%��"�"��&�&��$���������"�"��"�"���
�
�
�
�-�-�?�@�@�@�$'�O�#� �!��.�#�#�%�%�%����*�,��"�"��"�"��$�	����
����"�"��/�!��"�"��/�!��"�"��
�
�
�
��-�-�3�4�4�4�$'�O�#� �!��.�������.����������"�"��/�!��/�!���$��������w��"�"�#���
�
�
�
�
rc�4	�|�dddddd���}|dz|d<d	|_d
|_d|_|�d��|�|j�d
dg��d��|�ddddzddzddzddzd	���|�d��|�	|dz��|�d��|�
d��|���|�	|dz��|�d��|�
d��tjtj
��dz��|�d��|�|j�gd���d ��|�d!d"d#dd$zdd%zd	���|�	|dz��|�	|dz��|�
d&d'ddzdd(zddzdd)zd*d+d	��	�	tjtj
��dz��tj|dz��tj|dz��|�d,��|�|j�d
dg��d��|�d-dd.zdd/zd0d1dd(zdd)zd	���|�d2��|�|j�d3��d ��|�d4dd5zd	���|�
d-dd.zdd/zd0d1dd(zdd)zd	���|�d6��|�	|dz��|�d7��|�
d8��|���|�	|dz��|�d8d9d	���|�
d7��d:|_d;|_|�|j�t%d
d<����d<��|�d=d>d	���dS)?Nz <family>; touch "<FN>"z <family>; test -f "<FN>"z <family>; echo -n "" > "<FN>"z <family>; rm -f "<FN>"z) <family>; echo "<ip> <family>" >> "<FN>")rr#r$r%r!z	/<family>�FNTz%echo ip repair <family>; touch "<FN>"zGecho ip reban <ip> <family>; echo "<ip> <family> -- rebanned" >> "<FN>"z[test-phase 0] initial banrDr�rrEr�rMr�zip ban 192.0.2.1 inet4r�zip ban 2001:db8::1 inet6r�z[test-phase 1] check banz/inet4z192.0.2.1 inet4z2001:db8::1 inet6z/inet6�z#[test-phase 2] check already banned)rDr�r�rrFz2001:db8::1 already bannedzBan 2001:db8::2r�r�zReban 192.0.2.1zReban 2001:db8::1zip reban 192.0.2.1 inet4zip reban 2001:db8::1 inet6z192.0.2.1 inet4 -- repairedz2001:db8::1 inet6 -- repairedz3[test-phase 3a] check reban after sane env repairedr�zip repair inet4zip repair inet6zReban 192.0.2.1, action 'ip'zReban 2001:db8::1, action 'ip'z>[test-phase 3a] check reban by epoch mismatch (without repair)r�zReban 2001:db8::2, action 'ip'zip reban 2001:db8::2 inet6z[test-phase 4] check rebanz192.0.2.1 inet4 -- rebannedz2001:db8::1 inet6 -- rebannedz2001:db8::2 inet6 -- rebannedr zexit 1rzFailed to execute rebanzError banning 192.0.2.1)r0r��actionrepair�actionrebanrIr=rrGrH�dumpFilerJrr��timerf�remover)�_Actions__reBanr)r�tmpr/s   r�!testActionsRebanBrokenAfterRepairz0ExecuteActions.testActionsRebanBrokenAfterRepair�sA��	
���$�&�+�$�6���	�	�#��+�o�#�d�)�"�#��<�#��]�#�/��-�-�,�-�-�-����4�>�-�-�{�M�.J�K�K�Q�O�O�O����O�%6��"�"��*�*��"�"��,�,���
�
�
��-�-�*�+�+�+��-�-��H��������%�&�&�&����*�+�+�+��-�-�/�/�/��-�-��H��������'�(�(�(����(�)�)�)�	�.������"�#�#�#��-�-�5�6�6�6����4�>�-�-�.Y�.Y�.Y�Z�Z�\]�^�^�^�����;�=N��"�"��"�"��	�
�
�
�
�-�-��H������-�-��H��������(�*=��*�*��,�,��,�,��.�.� �"���
�
�
�	�.������"�#�#�#��)�C��L�����)�C��L�����-�-�E�F�F�F����4�>�-�-�{�M�.J�K�K�Q�O�O�O����A��#�#��#�#�!�#C��,�,��.�.���
�
�
��-�-�P�Q�Q�Q����4�>�-�-�m�<�<�a�@�@�@����#��.�.���
�
�
����A��#�#��#�#�!�#C��,�,��.�.���
�
�
��-�-�,�-�-�-��-�-��H��������1�2�2�2����6�7�7�7��-�-�/�/�/��-�-��H��������"�"���.�.�.����4�5�5�5��#�/��#�-����4�>�1�1�*�[�!�2L�2L�M�M�q�Q�Q�Q������$��(�(�(�(�(r)�__name__�
__module__�__qualname__rrr0r6rBrKrUrlrprxr
r�r�r�rr��
__classcell__)rs@rrr'sD�������'�'�'�'�'�)�)�)�)�)��	
�	
�	
�	
�<�<�<�
L�
L�
L�%�%�%�
&�
&�
&�;�;�;�>&�&�&�&6�6�6�2�#3�#3��-�#3�JL
�L
�L
�\p
�p
�p
�d�
�g(�g(��+��-�g(�g(�g(�g(�g(rr)�
__author__�
__copyright__�__license__r�rf�tempfile�
server.ticketr�server.utilsr�	dummyjailr�utilsr	r
rrrgrS�dirname�__file__rhr�rr�<module>r�s���.�
�1�
�������	�	�	�	�����&�&�&�&�&�&� � � � � � � � � � � � �I�I�I�I�I�I�I�I�I�I�I�I�����b�g�o�o�h�7�7��A�A��Y(�Y(�Y(�Y(�Y(�'�Y(�Y(�Y(�Y(�Y(r