
    ogf                     j   d dl Z 	 d dlZej                  Zd Zd ZdZdZ	 e       Z
dZdZ ee
       dZ ee
      Ze
d	   d
d Ze
d   Zde
d<    ee
      Z eej"                  ej$                  ej&                  f       ee
d<    ee
      Z eej"                  ej$                  ej&                  f       e
d   Ze
d   dd e
d<    ee
      Z eej"                  ej$                  ej&                  f       ed d dz   edd z   e
d<    ee
      Z eej"                  ej$                  ej&                  f       dZ e       Z
d dlZ ej,                  d
        ee
      Z eej"                  ej$                  ej&                  f       d dlZd dlZd dlZd dlZ ej6                  d      Z ej.                  e      Z e       Z
 ee
d          e
d	   d
d Z ej<                  d ej>                  e
d   d
d             \  Z e dz   Z  ejB                   ejD                  de             Z#ejI                  e       ejI                  e#       e
d   d    e#z   ejK                         z   e
d   d   z   e
d<    ee
        ee
      Z eej"                  ej$                  ej&                  f       dZ e       Z
 ee
      Z eej"                  ej$                  ej&                  f        ee
      Z eej"                  ej$                  ej&                  f       y# e$ r d dlZej
                  ZY w xY w)    Nc                    t        t        dz   t        z   dz   t        z         j	                         }t        dt
        z         j	                         }| d   dd }| j                  d      xs d}| j                  d      xs d}| d	   dd }| d
   }t        |dz   |z   dz   |z   dz   |z   dz   |z   dz   |z         j	                         }t        j                  dt        t
        z         j                         }	dt        d|dt        dt
        d|d|d|d|	j                  d<   t        |	j                  |	j
                  |	j                  f       t        j                         }
|
j                  |	      S )N:zGET:nonce   nc cnonceqop	algorithmGETz
        Digest username="z",
        algorithm="z",
        realm="z",
        uri="z",
        nonce="z1",
        cnonce="",
        nc="",
        qop=z,
        response="z"
    Authorization)md5sumusernamerealmpassword	hexdigesturlgetrequestsRequesthostprepareheadersprintmethodSessionsend)vha1ha2r   r   r
   r   r   responsepss              P/usr/lib/python3/dist-packages/fail2ban/tests/files/config/apache-auth/digest.pyauthr&      sM   
C%'#-8
9
C
C
EC
#

(
(
*C
 gJqEuuT{bBUU8_"F
E(1R.C+IcCi%'#-2S86ACG#MPSSVYYZddfHs
+335A iUC
"DAIIo 
188QUUAII
&'				A66!9    c            	      (   t        j                  t        t        z         } t	        |        | j
                  d   j                  d       t        | j
                  d   j                  d      D cg c]  }|j                  dd       c}      S c c}w )Nzwww-authenticatez, =r   )r   r   r   r   r   r   splitdict)ras     r%   preauthr.   1   sk    TCZ A	!HII !''-!))4F*G*M*Md*SUQ!''#a.UVVUs   /Bz/digest/zhttp://localhost:801r   r   zso far awayzDigest realmr   r   r   zsuper funky chickenr         ZZZ   z/digest_time/(497d8894adafa5ec7c8c981ddf9c8457da7a90acl   i  z/digest_onetime/)&r   hashlibmd5r   ImportErrornewr&   r.   r   r   r   r   r   r   r   r,   r   status_coder   textr   timesleepshabinasciibase64struct	unhexlifyapachesecretr$   unpack	b64decodet	b64encodepacktimepacupdater    r'   r%   <module>rM      s+   [[F FW I	 aG	.!B
 kN	&+G q}}QYY' (+ 	G q}}QYY' (	'
W:a'
G q}}QYY' (
 2;rs+'
G q}}QYY' (
 	)  


1G q}}QYY' ((    !x!!"LMCGGL	) qz 	.!Bv}}S)))!G*Qr*:;< H
&

;6;;s1-
.   jmg%5'
2F'
 aG q}}QYY' (	) 	G q}}QYY' (G q}}QYY' (C   WWF	s   L L21L2