dbfdg 3 nma @sDddlZejdddZejZddlTddlmZGdddeZdS) Nzsetroubleshoot-pluginsT)Zfallback)*)Pluginc@sLeZdZedZedZedZdZedZdZ ddZ d d Z d d Z d S)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 semanage 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. zIIf you want to allow $SOURCE_PATH to connect to network port $PORT_NUMBERz!you need to modify the port type.cCsB|djd}t|dkr&td|Std|d|dfSdS)N,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_NUMBERr)splitlen_)selfavcZoptionsZportsr 2/usr/share/setroubleshoot/plugins/connect_ports.py get_do_text0s   zplugin.get_do_textcCstj|t|jddS)Nd)r__init____name__Z set_priority)r r r rr8s zplugin.__init__cCsN|jddddgrJ|jdgrJ|j}|rJ|j|jjdddj|fSdS) NZhi_reserved_port_tZreserved_port_tZport_tZunreserved_port_tZ name_connectr rz, )Zmatches_target_typesZhas_any_access_inZallowed_target_typesZreportZtclassrjoin)r r Z allowed_typesr r ranalyze<s   zplugin.analyzeN) r __module__ __qualname__r ZsummaryZproblem_descriptionZfix_descriptionZfix_cmdZif_textZ then_textrrrr r r rrsr)gettextZ translationr Zsetroubleshoot.utilZsetroubleshoot.Pluginrrr r r rs