""" Distribution specific override class for Gentoo Linux """ import pkg_resources import zope.interface from certbot import interfaces from certbot_apache import apache_util from certbot_apache import configurator from certbot_apache import parser @zope.interface.provider(interfaces.IPluginFactory) class GentooConfigurator(configurator.ApacheConfigurator): """Gentoo specific ApacheConfigurator override class""" OS_DEFAULTS = dict( server_root="/etc/apache2", vhost_root="/etc/apache2/vhosts.d", vhost_files="*.conf", logs_root="/var/log/apache2", ctl="apache2ctl", version_cmd=['apache2ctl', '-v'], restart_cmd=['apache2ctl', 'graceful'], restart_cmd_alt=['apache2ctl', 'restart'], conftest_cmd=['apache2ctl', 'configtest'], enmod=None, dismod=None, le_vhost_ext="-le-ssl.conf", handle_modules=False, handle_sites=False, challenge_location="/etc/apache2/vhosts.d", MOD_SSL_CONF_SRC=pkg_resources.resource_filename( "certbot_apache", "options-ssl-apache.conf") ) def _prepare_options(self): """ Override the options dictionary initialization in order to support alternative restart cmd used in Gentoo. """ super(GentooConfigurator, self)._prepare_options() self.options["restart_cmd_alt"][0] = self.option("ctl") def get_parser(self): """Initializes the ApacheParser""" return GentooParser( self.aug, self.option("server_root"), self.option("vhost_root"), self.version, configurator=self) class GentooParser(parser.ApacheParser): """Gentoo specific ApacheParser override class""" def __init__(self, *args, **kwargs): # Gentoo specific configuration file for Apache2 self.apacheconfig_filep = "/etc/conf.d/apache2" super(GentooParser, self).__init__(*args, **kwargs) def update_runtime_variables(self): """ Override for update_runtime_variables for custom parsing """ self.parse_sysconfig_var() self.update_modules() def parse_sysconfig_var(self): """ Parses Apache CLI options from Gentoo configuration file """ defines = apache_util.parse_define_file(self.apacheconfig_filep, "APACHE2_OPTS") for k in defines.keys(): self.variables[k] = defines[k] def update_modules(self): """Get loaded modules from httpd process, and add them to DOM""" mod_cmd = [self.configurator.option("ctl"), "modules"] matches = self.parse_from_subprocess(mod_cmd, r"(.*)_module") for mod in matches: self.add_mod(mod.strip())
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
__pycache__ | Folder | 0755 |
|
|
augeas_lens | Folder | 0755 |
|
|
tests | Folder | 0755 |
|
|
__init__.py | File | 29 B | 0644 |
|
apache_util.py | File | 3.1 KB | 0644 |
|
augeas_configurator.py | File | 7.17 KB | 0644 |
|
centos-options-ssl-apache.conf | File | 1.55 KB | 0644 |
|
configurator.py | File | 97.69 KB | 0644 |
|
constants.py | File | 2.5 KB | 0644 |
|
display_ops.py | File | 4.16 KB | 0644 |
|
entrypoint.py | File | 1.84 KB | 0644 |
|
http_01.py | File | 7.78 KB | 0644 |
|
obj.py | File | 8.92 KB | 0644 |
|
options-ssl-apache.conf | File | 1.58 KB | 0644 |
|
override_arch.py | File | 980 B | 0644 |
|
override_centos.py | File | 2.43 KB | 0644 |
|
override_darwin.py | File | 982 B | 0644 |
|
override_debian.py | File | 5.55 KB | 0644 |
|
override_gentoo.py | File | 2.7 KB | 0644 |
|
override_suse.py | File | 1011 B | 0644 |
|
parser.py | File | 30.42 KB | 0644 |
|
tls_sni_01.py | File | 5.95 KB | 0644 |
|