+
     6g
  c                   sz    ^ RI t ] P                  ! RRR7      t]P                   t^ RI5 ^ RIHt  ! R R]4      tR# )	i    Nzsetroubleshoot-pluginsT)Zfallback)Z*)Pluginc                   sz   a  ] tR t^t o ]! R4      t]! R4      t]! R4      tRt]! R4      t	Rt
R tR tR	 tR
tV tR# )pluginzR
    SELinux is preventing $SOURCE_PATH from connecting to port $PORT_NUMBER.
    a  
    SELinux has denied $SOURCE from connecting to a network port $PORT_NUMBER which does not have an SELinux type associated with it.
    If $SOURCE should be allowed to connect on $PORT_NUMBER, use the <i>semanage</i> command to assign $PORT_NUMBER to a port type that $SOURCE_TYPE can connect to (%s).
    

If $SOURCE is not supposed
    to connect to $PORT_NUMBER, this could signal an intrusion attempt.
    z
    If you want to allow $SOURCE to connect to $PORT_NUMBER, you can execute 

    # semanage port -a -t PORT_TYPE -p %s $PORT_NUMBER

    where PORT_TYPE is one of the following: %s.
    Z zIIf you want to allow $SOURCE_PATH to connect to network port $PORT_NUMBERz!you need to modify the port type.c                s    V^,          P                  R4      p\        V4      ^8  d   \        R4      V,          # \        R4      V^,          V^ ,          3,          # )i   Z,zc# semanage port -a -t PORT_TYPE -p %s $PORT_NUMBER
    where PORT_TYPE is one of the following: %s.z+# semanage port -a -t %s -p %s $PORT_NUMBER)splitZlen_)selfavcZoptionsZportss   &&& 2/usr/share/setroubleshoot/plugins/connect_ports.pyget_do_textZplugin.get_do_text0   s^    
  %u:> 4 57>? ? BCwqzSZ[\S]F^^^    c                s^    \         P                  ! V \        4       V P                  ^d4       R# )id   N)r    __init____name__Zset_priority)r   s   &r   r	   Zplugin.__init__8   s    h'#r   c                s   VP                  . RO4      '       ds   VP                  R.4      '       d[   VP                  4       pV'       dC   V P                  VP                  P                  R4      ^ ,          RP                  V4      34      # R# )hi_reserved_port_tZname_connectr   z, N)r   Zreserved_port_tZport_tZunreserved_port_t)Zmatches_target_typesZhas_any_access_inZallowed_target_typesZreportZtclassr   Zjoin)r   r   Zallowed_typess   && r   analyzeZplugin.analyze<   sm    $$%mnn!!>"233446M{{SZZ%5%5c%:1%=tyy?W$XYYr    N)r
   Z
__module__Z__qualname__Z__firstlineno__r   ZsummaryZproblem_descriptionZfix_descriptionZfix_cmdZif_textZ	then_textr   r	   r   Z__static_attributes__Z__classdictcell__)Z__classdict__s   @r   r   r      sc       	G   	   	O G[\G3I_ r   r   )ZgettextZtranslationr   Zsetroubleshoot.utilZsetroubleshoot.Pluginr    r   r   r   r   <module>r      s:   &  84H ! (*V *r   