HEX
Server: LiteSpeed
System: Linux 112.webhostingindonesia.co.id 5.14.0-570.62.1.el9_6.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Nov 11 10:10:59 EST 2025 x86_64
User: iyfwylsv (10313)
PHP: 8.2.30
Disabled: NONE
Upload Files
File: //usr/lib/python3.9/site-packages/fail2ban/tests/__pycache__/fail2banregextestcase.cpython-39.pyc
a

��L��JY�@s�dZdZdZddlZddlZddlZddlZddlmZddl	m
Z
mZmZm
Z
mZdd	lmZmZmZmZdd
lmZee_dd�Zee_
ej�ej�e�d
�Zej�ej�e�d�Zdadd�Zdd�ZGdd�de�Z dd�Z!dd�Z"dZ#dZ$dZ%dZ&dZ'ej�ed�Z(ej�ed�Z)ej�ed �Z*d!Z+d"Z,d#Z-ej�ed$d%�Z.ej�ed&d'�Z/ej�ed(�Z0ej�ed&d)�Z1ej�ed$d*�Z2ej�ed&d+�Z3Gd,d-�d-e�Z4dS).zSerg BresterzHCopyright (c) 2015 Serg G. Brester (sebres), 2008- Fail2Ban Contributors�GPL�N�)�
fail2banregex)�
Fail2banRegex�get_opt_parser�exec_command_line�output�str2LogLevel�)�setUpMyTime�tearDownMyTime�LogCaptureTestCase�logSys)�
CONFIG_DIRcGst�d|d�dS)N�
output: %sr)r�notice��args�r�H/usr/lib/python3.9/site-packages/fail2ban/tests/fail2banregextestcase.py�_test_output&sr�config�filescGs@t�}|�t|��\}}|jdvr2t�t|j��||t|�fS)N)r�warning)r�
parse_args�listZ	log_levelr�setLevelr	r)r�parser�optsrrr�_Fail2banRegex0s

rcGst|�\}}}|�|�S�N)r�start)rrZ
fail2banRegexrrr�
_test_exec8sr"c@seZdZdd�ZdS)�
ExitExceptioncCs||_d||_dS)NzExit with code: %s)�code�msg)�selfr$rrr�__init__=szExitException.__init__N)�__name__�
__module__�__qualname__r'rrrrr#<sr#c
Gs�d	dd�}tjtjtjd�}d}|t_ts6ttjd�att_t_z^ztt	|��Wn*t
y~}z|j}WYd}~n
d}~00W|dt_|dt_|dt_n |dt_|dt_|dt_0|S)
NrcSst|��dSr )r#)r$rrr�_exitBsz&_test_exec_command_line.<locals>._exit)�exit�stdout�stderr�wr,r-r.)r)�sysr,r-r.�DEV_NULL�open�os�devnullrrr#r$)rr+Z_orgZ
_exit_code�errr�_test_exec_command_lineAs"


�

r6cCsddlm}|��dS)Nr��_decode_line_warn)Z
server.filterr8�clearr7rrr�_resetTsr:zRDec 31 11:59:59 [sshd] error: PAM: Authentication failure for kevin from 192.0.2.0zB[sshd] error: PAM: Authentication failure for kevin from 192.0.2.0z�(?:(?:Authentication failure|Failed [-/\w+]+) for(?: [iI](?:llegal|nvalid) user)?|[Ii](?:llegal|nvalid) user|ROOT LOGIN REFUSED) .*(?: from|FROM) <HOST>z8Authentication failure for <F-ID>.*?</F-ID> from <ADDR>$z<Authentication failure for <F-USER>.*?</F-USER> from <ADDR>$ztestcase01.logztestcase02.logztestcase-wrong-char.loga"Nov 28 09:16:03 srv sshd[32307]: Failed publickey for git from 192.0.2.1 port 57904 ssh2: ECDSA 0e:ff:xx:xx:xx:xx:xx:xx:xx:xx:xx:...
Nov 28 09:16:03 srv sshd[32307]: Failed publickey for git from 192.0.2.1 port 57904 ssh2: RSA 04:bc:xx:xx:xx:xx:xx:xx:xx:xx:xx:...
Nov 28 09:16:03 srv sshd[32307]: Postponed publickey for git from 192.0.2.1 port 57904 ssh2 [preauth]
Nov 28 09:16:05 srv sshd[32310]: Failed publickey for git from 192.0.2.2 port 57910 ssh2: ECDSA 1e:fe:xx:xx:xx:xx:xx:xx:xx:xx:xx:...
Nov 28 09:16:05 srv sshd[32310]: Failed publickey for git from 192.0.2.2 port 57910 ssh2: RSA 14:ba:xx:xx:xx:xx:xx:xx:xx:xx:xx:...
Nov 28 09:16:05 srv sshd[32310]: Disconnecting: Too many authentication failures for git [preauth]
Nov 28 09:16:05 srv sshd[32310]: Connection closed by 192.0.2.2 [preauth]z�Nov 28 09:16:06 srv sshd[32307]: Accepted publickey for git from 192.0.2.1 port 57904 ssh2: DSA 36:48:xx:xx:xx:xx:xx:xx:xx:xx:xx:...zINov 28 09:16:06 srv sshd[32307]: Connection closed by 192.0.2.1 [preauth]Zlogs�sshdzfilter.d�	sshd.confzzzz-sshd-obsolete-multiline.logz zzz-sshd-obsolete-multiline.confzzzz-generic-examplezzzz-generic-example.confc@s<eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)d*�Zd+d,�Zd-d.�Zd/d0�Zd1d2�Zd3d4�Zd5d6�Zd7d8�Zd9d:�Zd;d<�Z d=d>�Z!d?d@�Z"dAdB�Z#dCdD�Z$dEdF�Z%dGdH�Z&dIdJ�Z'dKdL�Z(dMS)N�Fail2banRegexTestcCst�|�t�t�dS)zCall before every test case.N)r
�setUprr:�r&rrrr>s
zFail2banRegexTest.setUpcCst�|�t�dS)zCall after every test case.N)r
�tearDownrr?rrrr@�s
zFail2banRegexTest.tearDowncCs`|�tdd��|�d�|jdddd�|��|�tdd��|�d�|jd	d
dd�dS)N�testz.** from <HOST>$�$Unable to compile regular expression�multiple repeat�
at position 2F��allz,^(?:(?P<type>A)|B)? (?(typo)...) from <ADDR>zunknown group namezat position 23)�assertFalser"�assertLogged�pruneLogr?rrr�testWrongRE�s�
�
zFail2banRegexTest.testWrongREcCs4|�tddddd��|�d�|jddd	d
�dS)N�
--datepattern�{^LN-BEG}EPOCHrAz.*? from <HOST>$z.**rBrCrDFrE�rGr"rHr?rrr�testWrongIngnoreRE�s�
z$Fail2banRegexTest.testWrongIngnoreREcCs$|�tdd��|jdddd�dS)NrAzflt[a='x,y,z',b=z,y,x]zWrong filter name or optionszwrong syntax at 14: y,xTrErMr?rrr�testWrongFilterOptions�s�z(Fail2banRegexTest.testWrongFilterOptionsc	Cs&|�tddddtd��|�d�dS)NrK�*^(?:%a )?%b %d %H:%M:%S(?:\.%f)?(?: %ExY)?�--print-all-matched�--print-no-missed�+Authentication failure for .*? from <HOST>$�.Lines: 1 lines, 0 ignored, 1 matched, 0 missed��
assertTruer"�STR_00rHr?rrr�testDirectFound�s�z!Fail2banRegexTest.testDirectFoundcCs |�tdtd��|�d�dS)N�--print-all-missedzXYZ from <HOST>$z.Lines: 1 lines, 0 ignored, 0 matched, 1 missedrUr?rrr�testDirectNotFound�s�z$Fail2banRegexTest.testDirectNotFoundcCs"|�tdtdd��|�d�dS)N�--print-all-ignoredrSzkevin from 192.0.2.0$z.Lines: 1 lines, 1 ignored, 0 matched, 0 missedrUr?rrr�testDirectIgnored�s�z#Fail2banRegexTest.testDirectIgnoredcCsL|�tdddtt��|�d�|�d�|�d�|�d�|�d�dS)	NrKrPrQ�0Lines: 19 lines, 0 ignored, 16 matched, 3 missed�Error decoding linez6Continuing to process line ignoring invalid characterszVDez 31 11:59:59 [sshd] error: PAM: Authentication failure for kevin from 193.168.0.128zVDec 31 11:59:59 [sshd] error: PAM: Authentication failure for kevin from 87.142.124.10�rVr"�FILENAME_01�RE_00rHr?rrr�testDirectRE_1�s�



z Fail2banRegexTest.testDirectRE_1c	Cs&|�tddddtt��|�d�dS)NrKrPrQ�--rawz0Lines: 19 lines, 0 ignored, 19 matched, 0 missedr_r?rrr�testDirectRE_1raw�s�z#Fail2banRegexTest.testDirectRE_1rawc
Cs�|�tdddddtt��|�d�|��|�tddd	d
��|jddd
�|�d�|��|�tdddddd
��|jddd
�dS)NrKrPrQrcz--usedns=nor]�-d�^Epochz1490349000 test failed.dns.chz^\s*test <F-ID>\S+</F-ID>rTTrEz)Unable to find a corresponding IP address�-o�idz$1490349000 test this/is/some/path/32zthis/is/some/path/32)rVr"r`rarHrI�assertNotLoggedr?rrr�testDirectRE_1raw_noDns�s&�
�
�z)Fail2banRegexTest.testDirectRE_1raw_noDnscCs$|�tdddtt��|�d�dS)NrKrPrQ�/Lines: 13 lines, 0 ignored, 5 matched, 8 missed�rVr"�FILENAME_02rarHr?rrr�testDirectRE_2�s�z Fail2banRegexTest.testDirectRE_2cCs@|�tdddddddtt�	�|�d�|�d	�|�d
�dS)NrKrPz
--timezonezUTC+0200z	--verbose�--verbose-daterRrkz&141.3.81.106  Sun Aug 14 11:53:59 2005z&141.3.81.106  Sun Aug 14 11:54:59 2005rlr?rrr�testVerbose�s�

zFail2banRegexTest.testVerbosec
Csv|�tdddddddttd�
�|jd	d
dd�|��|�tddd
dtdd��|jdddd�|jdddd�dS)N�-lr�-vrorQr[�-cr<�8[29116]: User root not allowed because account is lockedz)[29116]: Received disconnect from 1.2.3.4TrE�-vvzRDec 31 11:59:59 [sshd] error: PAM: Authentication failure for kevin from 192.0.2.1zfilter.d/sshd[logtype=short]zReal  filter options :z'logtype': 'short'�'logtype': 'file'�'logtype': 'journal')rVr"r�
FILENAME_SSHDrHrIrir?rrr�testVerboseFullSshds$���z%Fail2banRegexTest.testVerboseFullSshdc
Cs0|�tddddttd��|jdddd	d
�dS)NrqrrQrszsshd.conf[mode=normal]z"[29116]: Connection from 192.0.2.4rt�+[29116]: Received disconnect from 192.0.2.4TrE�rVr"r�FILENAME_ZZZ_SSHDrHr?rrr�testFastSshds��zFail2banRegexTest.testFastSshdc
Cs,|�tdddtdtd��|�dd�dS)Nrqrrsruzsshd[logtype=short]zUse %11s jail : %s)�r;r{r?rrr�testLoadFromJail#s��z"Fail2banRegexTest.testLoadFromJailc
Cs>|�tdddddtj�t�ttj�t���|jddd�dS)	NrqrrQrYrsrzTrE)	rVr"r3�path�dirname�FILTER_ZZZ_SSHDr|�basenamerHr?rrr�testMultilineSshd-s��z#Fail2banRegexTest.testMultilineSshdcCs|�tddttd��dS)Nrqrz[mode=test])rVr"�FILENAME_ZZZ_GEN�FILTER_ZZZ_GENr?rrr�testFullGeneric9s�z!Fail2banRegexTest.testFullGenericc
CsldD]b}|�d|�|�tddddddd	d
|dd�	�|�d
|d|df�|jdddd�qdS)N)r�z[test-phase %s]�--usedns�norerfrQ�
--maxlines�5z1490349000 TEST-NL
�L1490349000 FAIL
1490349000 TEST1
1490349001 TEST2
1490349001 HOST 192.0.2.34�*^\s*FAIL\s*$<SKIPLINES>^\s*HOST <HOST>\s*$z0Lines: %s lines, 0 ignored, 2 matched, %s missed�rz|  1490349000 FAILz|  1490349001 HOST 192.0.2.34TrE)rIrVr"rH)r&ZpreLinesrrr�testDirectMultilineBuf@s��z(Fail2banRegexTest.testDirectMultilineBufc
Cs:|�tddddddddd	d
�
�|�d�|�dd
�dS)Nr�r�rerf�
--debuggexrQr�r�r�r��.Lines: 4 lines, 0 ignored, 2 matched, 2 missedz&flags=mz?flags=m�rVr"rHr?rrr�testDirectMultilineBufDebuggexOs�
z0Fail2banRegexTest.testDirectMultilineBufDebuggexcCs,|�tddddddddd	�	�|�d
�dS)Nr�r�rerfrQz-L�2z)1490349000 FAIL: failure
host: 192.0.2.35z^\s*FAIL:\s*.*\nhost:\s+<HOST>$�.Lines: 2 lines, 0 ignored, 2 matched, 0 missedr�r?rrr�testSinglelineWithNLinContentYs
�z/Fail2banRegexTest.testSinglelineWithNLinContentc
Cs(|�tddddddd��|�d�dS)	Nz-rre�^\[{LEPOCH}\]\s+r�r�z�[1516469849] 192.0.2.1 FAIL: failure
[1516469849551] 192.0.2.2 FAIL: failure
[1516469849551000] 192.0.2.3 FAIL: failure
[1516469849551.000] 192.0.2.4 FAIL: failurez^<HOST> FAIL\b�.Lines: 4 lines, 0 ignored, 4 matched, 0 missedr�r?rrr�testRegexEpochPatternsbs
�z(Fail2banRegexTest.testRegexEpochPatternsc
Cs8|�tddddddd��|�d�|jd	d
dd�dS)
Nrurer�r�r�z�[1516469849] 192.0.2.1 FAIL: failure
[1516469849] 192.0.2.1/24 FAIL: failure
[1516469849] 2001:DB8:FF:FF::1 FAIL: failure
[1516469849] 2001:DB8:FF:FF::1/60 FAIL: failure
z^<SUBNET> FAIL\br�z192.0.2.0/24z2001:db8:ff:f0::/60TrEr�r?rrr�testRegexSubnetms
�
z!Fail2banRegexTest.testRegexSubnetc	Cs |�tddtt��|�dd�|��|�tdddddd��|�dtd	��|��|�tddddd
d��|�dtd��|��|�tddddd
d��|�dtd��|��|�tddddd
d��|�dtd��|�dd�|��|�tddddd
d��|�ddtd�d�|��|�tddtt��|jdddddd�|��|�tddtt��|jdddddd�|��|�tddtt��|�dt�|��|�tddtt��|�dd�|��|�tddtt��|�dd �|��dS)!NrgrhrZkevinrerLz"1591983743.667 192.0.2.1 192.0.2.2z(^\s*<F-ID/> <F-TUPLE_ID>\S+</F-TUPLE_ID>)z	192.0.2.1�	192.0.2.2z#1591983743.667 left 192.0.2.3 rightzM^\s*<F-TUPLE_ID_1>\S+</F-TUPLE_ID_1> <F-ID/> <F-TUPLE_ID_2>\S+</F-TUPLE_ID_2>)z	192.0.2.3�left�rightz+1591983743.667 left [192.0.2.4]:12345 rightzc^\s*<F-TUPLE_ID_1>\S+</F-TUPLE_ID_1> <F-ID><ADDR>:<F-PORT/></F-ID> <F-TUPLE_ID_2>\S+</F-TUPLE_ID_2>)z[192.0.2.4]:12345r�r��ipz	192.0.2.4zID:<fid> | IP:<ip>zID:z | IP:192.0.2.4�rowz['kevin'z'ip4': '192.0.2.0'z'fid': 'kevin'TrEz['192.0.2.0'z'user': 'kevin'r%�userz<ip>, <F-USER>, <family>z192.0.2.0, kevin, inet4)	rVr"rW�RE_00_IDrHrI�strri�
RE_00_USERr?rrr�testFrmtOutputysb�����z Fail2banRegexTest.testFrmtOutputcsjdtddf�d��fdd�����dd�d	����d
����d���fdd
�	}|�|ddd�dS)NrsrerPz�May 27 00:16:33 host sshd[2364]: User root not allowed because account is locked
May 27 00:16:33 host sshd[2364]: Received disconnect from 192.0.2.76 port 58846:11: Bye Bye [preauth]cst�|�Sr )r"r)rrr�<lambda>��zCFail2banRegexTest.testStalledIPByNoFailFrmtOutput.<locals>.<lambda>rgzIP:<ip>r<z
IP:192.0.2.76r~cs����dd�|d|dd|d����d�������dd�|d|dd|d	����d
����dS)Nrgz!ID:"<fid>" | IP:<ip> | U:<F-USER>z
[failregex="^z2<F-ID>User <F-USER>\S+</F-USER></F-ID> not allowedz
^z!Received disconnect from <ADDR>"]z'ID:"User root" | IP:192.0.2.76 | U:rootz%User <F-USER>\S+</F-USER> not allowedz7Received disconnect from <F-ID><ADDR> port \d+</F-ID>"]z3ID:"192.0.2.76 port 58846" | IP:192.0.2.76 | U:root)rVrHrI)Zflt�prefix)�_test�logr&rr�_test_variants�s<������
������
zIFail2banRegexTest.testStalledIPByNoFailFrmtOutput.<locals>._test_variantszcommon.confz)\s*\S+ sshd\[<F-MLFID>\d+</F-MLFID>\]:\s+)r�)r<r~)rrVrHrI)r&r�r)r�r�rr&r�testStalledIPByNoFailFrmtOutput�s��
z1Fail2banRegexTest.testStalledIPByNoFailFrmtOutputc	Csl|�tddddtt��|jddddd	�|��|�tdd
ddtt��|jddd	�|jdddd	�dS)NrerLrgzFound-ID:<F-ID>z*Found a match but no valid date/time foundzMatch without a timestamp:zFound-ID:kevinTrE�{NONE})rVr"�STR_00_NODTr�rHrIrir?rrr�testNoDateTime�s���z Fail2banRegexTest.testNoDateTimecCs*|�tdddd��|jddddd	�dS)
NrgzFound-ADDR:<ip>z�192.0.2.1 - - [02/May/2021:18:40:55 +0100] "GET / HTTP/1.1" 302 328 "-" "Mozilla/5.0" "-"
192.0.2.2 - - [02/May/2021:18:40:55 +0100
192.0.2.3 - - [02/May/2021:18:40:55z^<ADDR>zFound-ADDR:192.0.2.1zFound-ADDR:192.0.2.2zFound-ADDR:192.0.2.3TrEr�r?rrr�testIncompleteDateTime�s��z(Fail2banRegexTest.testIncompleteDateTimecCsptjjdd�|�tdddtddtdtd	��t�d�}|�d
|dvoVd
|dv�|j	d
|dd
|ddd�|�
d�|�d�|�tdddtddtdtd��|j	d
|dd
|dd
|dd
|ddd�|�
d�|�d�|�tdddtddtdtd��t�d�dd�t�d�dd�}|j	d|dd|dd|ddd�dS)NT�Zstockrgz<ip>, <F-USER>, <msg>rsr�r��
z+sshd.conf[logtype=short, publickey=invalid]r�������z192.0.2.2, git, rEz192.0.2.1, git, zA[test-phase 1] mode=aggressive & publickey=nofail + OK (accepted)z)sshd.conf[logtype=short, mode=aggressive]������zL[test-phase 2] mode=aggressive & publickey=nofail + FAIL (closed on preauth)rr)
�unittest�F2B�SkipIfCfgMissingrVr"r�STR_ML_SSHD�STR_ML_SSHD_OK�splitrHrirI�STR_ML_SSHD_FAIL)r&�linesrrr�testFrmtOutputWrapML�sL
�


�


�



�


�$


�z&Fail2banRegexTest.testFrmtOutputWrapMLcCsBtjjdd�|�tdddtdddd	��|�d
�|�d�dS)NTr�rgzfailure from == <ip> ==rsrer�z�svc[1] connect started 192.0.2.3
svc[1] connect finished 192.0.2.3
svc[2] connect started 192.0.2.4
svc[2] connect authorized 192.0.2.4
svc[2] connect finished 192.0.2.4
z�common.conf[prefregex="^svc\[<F-MLFID>\d+</F-MLFID>\] connect <F-CONTENT>.+</F-CONTENT>$", failregex="^started
^<F-NOFAIL><F-MLFFORGET>finished</F-MLFFORGET></F-NOFAIL> <ADDR>
^<F-MLFGAINED>authorized</F-MLFGAINED> <ADDR>", maxlines=1]zfailure from == 192.0.2.3 ==zfailure from == 192.0.2.4 ==)r�r�r�rVr"rrHrir?rrr�&testOutputNoPendingFailuresAfterGaineds
�
z8Fail2banRegexTest.testOutputNoPendingFailuresAfterGainedcCs|�ttt��dSr )rGr"r�r?rrr�testWrongFilterFile4s�z%Fail2banRegexTest.testWrongFilterFilec	Cs\tjjdd�|�tddddtt��|�d�|�d�|�d	�|�d
�|�d�dS)NTr�rqrrKrPr�r^z7Continuing to process line ignoring invalid characters:zMNov  8 00:16:12 main sshd[32548]: input_userauth_request: invalid user llincozkNov  8 00:16:12 main sshd[32547]: pam_succeed_if(sshd:auth): error retrieving information about user llinco�r�r�r�rVr"�FILENAME_WRONGCHAR�FILTER_SSHDrHr?rrr�testWronChar:s�



zFail2banRegexTest.testWronCharcCsNtjjdd�|�tddddddttd	�	�|�d
�|�d�|�d�dS)
NTr�rqrrKrPr�rQzllinco[^\\]r^z.Lines: 4 lines, 1 ignored, 2 matched, 1 missedzhttps://r�r?rrr�testWronCharDebuggexIs�

z&Fail2banRegexTest.testWronCharDebuggexcCs�tjddd�}dD]�}|�d|�z|t|d�}dD]}|�|�|��q4|��|�tdd	d
|dd|d
��|j	d|ddd�|�
d�W|��t�|�q|��t�|�0qdS)NZtmp_fail2ban�uni)r��suffix)zutf-16bezutf-16lez[test-phase encoding=%s]�wb)u?1490349000 € Failed auth: invalid user TestȊ from 192.0.2.1
u>1490349000 € Failed auth: invalid user TestI from 192.0.2.2
rqrz
--encodingrKz^EPOCHzFailed .* from <HOST>z encoding : %sr�TrEzMissed line(s))
�tempfile�mktemprIr2�write�encode�closerVr"rHrir3�unlink)r&�fname�encZfout�lrrr�testNLCharAsPartOfUniCharWs,
�
��z+Fail2banRegexTest.testNLCharAsPartOfUniCharcCsP|�t�d�|��|�td�d�|�t���|��|�td�d�dS)Nrz-Vz	--version)�assertNotEqualr6rI�assertEqualrHr�normVersionr?rrr�testExecCmdLine_Usageusz'Fail2banRegexTest.testExecCmdLine_UsagecCs$|�tddtd�d�|�d�dS)Nrq�inforSrrT)r�r6rWrHr?rrr�testExecCmdLine_Direct}s��z(Fail2banRegexTest.testExecCmdLine_DirectcCs$|�tddtd�d�|�d�dS)Nrqr�zAuthentication failurerzNo failure-id group in )r�r6rWrHr?rrr�testExecCmdLine_MissFailID�s��z,Fail2banRegexTest.testExecCmdLine_MissFailIDc	CsR|�tdddddd�d�|�d�|��|�td	dddd�d�|�d
�dS)Nrqrrez%:%.%-ZLOGZRErz ERROR: Failed to set datepatternrrzFailed to set datepattern)r�r6rHrIr?rrr�testExecCmdLine_ErrorParam�s��

��z,Fail2banRegexTest.testExecCmdLine_ErrorParamcCs�tjst�d��|�tdtdd��|�d�|�d�|�d�|�	�|�tdtdd	d��|�d�|�d�dS)
Nz.Skip test because no systemd backend availablezsystemd-journalz,[journalmatch="SYSLOG_IDENTIFIER=dummy",z; failregex="^dummy regex, never match <F-ID>xxx</F-ID>"]rwrvz.Lines: 0 lines, 0 ignored, 0 matched, 0 missedz[logtype=file,z, journalmatch="SYSLOG_IDENTIFIER=dummy",)
rZ
FilterSystemdr�ZSkipTestrVr"r�rHrirIr?rrr�testLogtypeSystemdJournal�s0
���


����
z+Fail2banRegexTest.testLogtypeSystemdJournalN))r(r)r*r>r@rJrNrOrXrZr\rbrdrjrnrpryr}rr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrr=}sL
		


	8%,
r=)5�
__author__�
__copyright__�__license__r3r0r�r��clientrZclient.fail2banregexrrrrr	�utilsrrr
rrrr��joinr��__file__ZTEST_CONFIG_DIRZTEST_FILES_DIRr1rr"�	Exceptionr#r6r:rWr�rar�r�r`rmr�r�r�r�rxr�r|r�r�r�r=rrrr�<module>sN