ó
qä`c           @   sB   d  d l  m Z m Z m Z d   Z d   Z d   Z e   d S(   i˙˙˙˙(   t   rulesett   httpt   errorsc         C   s8   t  |  d  } g  | j   D] } | j   ^ q } | S(   Nt   r(   t   opent	   readlinest   strip(   t   filenamet   ft   agentt
   useragents(    (    sY   /etc/apache2/conf.d/modsec_vendor_configs/OWASP3/tests/regression/utils/testUserAgents.pyt   read_useragents   s    %c   	      C   s  d } d } xĆ |  D]ž } | | d d k rK d | | d t  |   f GHn  t j d d d d d	 d
 d d d d d i d d 6| d 6 } t j   } | j |  | j j } | d k rÇ | d 7} q | d 7} q W| t  |   d d } | t  |   d d } d G| GHd G| GHd  S(   Ni    i   t   Sends   Out oft   methodt   GETt   protocolR   t   portiP   t   urit   /t	   dest_addrt	   localhostt   headerst   Hosts
   User-Agenti  i   g      đ?id   s   403s =s
   not 403s =(   t   lenR    t   InputR   t   HttpUAt   send_requestt   response_objectt   status(	   t   useragent_listt   status_not_403t
   status_403t	   useragentt
   input_datat   http_uaR   t   xt   y(    (    sY   /etc/apache2/conf.d/modsec_vendor_configs/OWASP3/tests/regression/utils/testUserAgents.pyt   run_requests   s     >	c          C   s   t  d  }  t |   d  S(   Ns   ./data/popularUAs.data(   R   R%   (   t   uas(    (    sY   /etc/apache2/conf.d/modsec_vendor_configs/OWASP3/tests/regression/utils/testUserAgents.pyt   main"   s    N(   t   ftwR    R   R   R   R%   R'   (    (    (    sY   /etc/apache2/conf.d/modsec_vendor_configs/OWASP3/tests/regression/utils/testUserAgents.pyt   <module>   s   			