def cleanup(self, achalls): # pylint: disable=missing-docstring if self.conf('cleanup-hook'): for achall in achalls: env = self.env.pop(achall.domain) if 'CERTBOT_TOKEN' not in env: os.environ.pop('CERTBOT_TOKEN', None) os.environ.update(env) hooks.execute(self.conf('cleanup-hook'))
def execute(self, shell_cmd): """Run a script. :param str shell_cmd: Command to run :returns: `str` stdout output""" _, out = hooks.execute(shell_cmd) return self._normalize_string(out)
def _perform_achall_with_script(self, achall): env = dict(CERTBOT_DOMAIN=achall.domain, CERTBOT_VALIDATION=achall.validation(achall.account_key)) if isinstance(achall.chall, challenges.HTTP01): env['CERTBOT_TOKEN'] = achall.chall.encode('token') else: os.environ.pop('CERTBOT_TOKEN', None) os.environ.update(env) _, out = hooks.execute(self.conf('auth-hook')) env['CERTBOT_AUTH_OUTPUT'] = out.strip() self.env[achall.domain] = env
def _perform_achall_with_script(self, achall): env = dict(CERTBOT_DOMAIN=achall.domain, CERTBOT_VALIDATION=achall.validation(achall.account_key)) if isinstance(achall.chall, challenges.HTTP01): env['CERTBOT_TOKEN'] = achall.chall.encode('token') else: os.environ.pop('CERTBOT_TOKEN', None) if isinstance(achall.chall, challenges.TLSSNI01): env['CERTBOT_CERT_PATH'] = self.tls_sni_01.get_cert_path(achall) env['CERTBOT_KEY_PATH'] = self.tls_sni_01.get_key_path(achall) env['CERTBOT_SNI_DOMAIN'] = self.tls_sni_01.get_z_domain(achall) os.environ.pop('CERTBOT_VALIDATION', None) env.pop('CERTBOT_VALIDATION') else: os.environ.pop('CERTBOT_CERT_PATH', None) os.environ.pop('CERTBOT_KEY_PATH', None) os.environ.pop('CERTBOT_SNI_DOMAIN', None) os.environ.update(env) _, out = hooks.execute(self.conf('auth-hook')) env['CERTBOT_AUTH_OUTPUT'] = out.strip() self.env[achall] = env
def _perform_achall_with_script(self, achall): env = dict(CERTBOT_DOMAIN=achall.domain, CERTBOT_VALIDATION=achall.validation(achall.account_key)) if isinstance(achall.chall, challenges.HTTP01): env['CERTBOT_TOKEN'] = achall.chall.encode('token') else: os.environ.pop('CERTBOT_TOKEN', None) if isinstance(achall.chall, challenges.TLSSNI01): env['CERTBOT_CERT_PATH'] = self.tls_sni_01.get_cert_path(achall) env['CERTBOT_KEY_PATH'] = self.tls_sni_01.get_key_path(achall) env['CERTBOT_SNI_DOMAIN'] = self.tls_sni_01.get_z_domain(achall) os.environ.pop('CERTBOT_VALIDATION', None) env.pop('CERTBOT_VALIDATION') else: os.environ.pop('CERTBOT_CERT_PATH', None) os.environ.pop('CERTBOT_KEY_PATH', None) os.environ.pop('CERTBOT_SNI_DOMAIN', None) os.environ.update(env) _, out = hooks.execute(self.conf('auth-hook')) env['CERTBOT_AUTH_OUTPUT'] = out.strip() self.env[achall.domain] = env
def _execute_hook(self, hook_name): return hooks.execute(self.option_name(hook_name), self.conf(hook_name))
def _call(cls, *args, **kwargs): from certbot.hooks import execute return execute(*args, **kwargs)