File: //usr/share/setroubleshoot/plugins/__pycache__/openvpn.cpython-39.opt-1.pyc
a
�Z` � @ sT d dl Z e jddd�Zej Zd dlT d dlmZ d dlZd dlT G dd� de�ZdS ) � Nzsetroubleshoot-pluginsT)Zfallback)�*)�Pluginc @ sL e Zd Zed�Zed�Zed�Zdd� Zdd� Zdd � Z d
d� Z
dd
� ZdS )�pluginzN
SELinux is preventing $SOURCE_PATH "$ACCESS" access to $TARGET_PATH.
z�
SELinux denied access requested by $SOURCE. $TARGET_PATH may
be mislabeled. openvpn is allowed to read content in home directory if it
is labeled correctly.
z�
You can restore the default system context to this file by executing the
restorecon command.
# restorecon -R /root/.ssh
c C s |d dkrt d�S t d�S d S )Nr �movezjIf you want to mv $TARGET_BASE_PATH to standard location so that $SOURCE_BASE_PATH can have $ACCESS accesszlIf you want to modify the label on $TARGET_BASE_PATH so that $SOURCE_BASE_PATH can have $ACCESS access on it��_��self�avc�args� r �,/usr/share/setroubleshoot/plugins/openvpn.py�get_if_text/ s zplugin.get_if_textc C s |d dkrt d�S t d�S d S )Nr r z4you must move the cert file to the ~/.cert directoryzyou must fix the labels.r r r r r
�
get_then_text5 s zplugin.get_then_textc C s |d dkrdS dS d S )Nr r z5# mv $TARGET_PATH ~/.cert
# restorecon -R -v ~/.cert
zS# semanage fcontext -a -t home_cert_t $TARGET_PATH
# restorecon -R -v $TARGET_PATH
r r r r r
�get_do_text; s zplugin.get_do_textc C s t �| t� | �d� d| _d S )N� Zyellow)r �__init__�__name__Zset_priority�level)r r r r
r E s
zplugin.__init__c C sJ |� dg�rF|�ddg�rF|�|j�rF|�dg�rF| �d�| �d�gS d S )NZ openvpn_tZuser_home_tZ
user_tmp_t�file)r N)ZfixlabelN)Zmatches_source_typesZmatches_target_typesZall_accesses_are_inZread_file_permsZ
has_tclass_inZreport)r r
r r r
�analyzeJ s �
�
�zplugin.analyzeN)r �
__module__�__qualname__r ZsummaryZproblem_descriptionZfix_descriptionr r r r r r r r r
r s
r ) �gettextZtranslationr Zsetroubleshoot.utilZsetroubleshoot.Pluginr �os�statr r r r r
�<module> s