← Back
Editing: configurator.cpython-312.pyc
� n�h�� � �t � d Z ddlZddlmZ ddlZddlZddlZddlZddl Z ddl Z ddlZddlm Z ddlmZ ddlmZ ddlmZ ddlmZ dd lmZ dd lmZ ddlmZ ddlmZ dd lmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlm Z! ddl"m#Z# ddl"m Z ddl"m$Z$ ddl"m%Z% ddl&m'Z' ddl(m%Z) ddl*m+Z+ ddl,m-Z- ddl,m.Z. ddl,m/Z/ ddl,m0Z0 ddl,m1Z1 ddl,m2Z2 dZ3d Z4d!Z5d"Z6d#Z7 ejp e9� Z: G d$� d%e+jv � Z<d&ee d'ee fd(�Z=d)e>d'ee fd*�Z?d+e>d,e>d-e@d'dfd.�ZAd'e>fd/�ZBy)0zNginx Configuration� N)� ExitStack)�Any)�Callable)�Dict)�Iterable)�List)�Mapping)�Optional)�Sequence)�Set)�Tuple)�Type)�Union)�cast)� serialization)�rsa)� challenges)�crypto_util)�achallenges)�errors)�util)�os)�common)� constants)�display_ops)�http_01)�nginxparser)�obj)�parser� � � � c � � � e Zd ZdZdZdZg d�Zeded ddfd �� Z e defd �� Zde de ddf� fd �Ze defd�� Ze defd�� Ze defd�� Zdededdfd�Zdcd�Zdedededededdfd�Zdej, dededededdfd�Z dddeded ee deej, fd!�Zd"edeej, fd#�Z ded"ed$edeej, fd%�Zd&ed'edeeef fd(�Zded)ed'edej, fd*�Z dej, deddfd+�Z!ded)ed'edej, fd,�Z"d"edee#ee f fd-�Z$d.e%e&ee f deej, fd/�Z'd0e(ej, d"edee#ee f fd1�Z)d0e(ej, d"edee#ee f fd2�Z*d"ed'edeej, fd3�Z+d"edeeej, eej, f fd4�Z,d5ed6edefd7�Z-dej, d'ed8edefd9�Z.dej, d'edefd:�Z/d"ed'edee#ee f fd;�Z0de1e fd<�Z2deeef fd=�Z3dej, ddfd>�Z4dee fd?�Z5 ddded@edAee6eee f ddfdB�Z7dej, dedefdC�Z8dedDe6eee df ddfdE�Z9dej, deddfdF�Z:dddej, dGeee deej, ej, f fdH�Z;dedIee6eee f ddfdJ�Z<dedej, ddfdK�Z=dedee6eee f ddfdL�Z>dej, dee ddfdM�Z?dcdN�Z@dcdO�ZAdefdP�ZBdeeCdQf fdR�ZDdefdS�ZEdefdT�ZFdUe(eGj� defdV�ZIdfdWee dXeddfdY�ZJdc� fdZ�ZKdcd[�ZLdgd\eCddf� fd]� ZMd^edeeNeOj� fd_�ZQd`eeGj� deeOj� fda�ZSd`eeGj� ddfdb�ZT� xZUS )h�NginxConfiguratoraE Nginx configurator. .. todo:: Add proper support for comments in the config. Currently, config files modified by the configurator will lose all their comments. :ivar config: Configuration. :type config: certbot.configuration.NamespaceConfig :ivar parser: Handles low level parsing :type parser: :class:`~certbot_nginx._internal.parser` :ivar str save_notes: Human-readable config change notes :ivar reverter: saves and reverts checkpoints :type reverter: :class:`certbot.reverter.Reverter` :ivar tup version: version of Nginx zNginx Web Server plugin�80)�ssl_certificate�ssl_certificate_key�ssl_dhparam�add).N�returnNc �� � t � } |dt j d d|z �� |dt j d d�� |dt j d t d � � y )N�server-root�server_rootz*Nginx server root directory. (default: %s))�default�help�ctlzVPath to the 'nginx' binary, used for 'configtest' and retrieving nginx version number.� sleep-seconds� sleep_secondszRNumber of seconds to wait for nginx configuration changes to apply when reloading.)r/ �typer0 )�_determine_default_server_rootr �CLI_DEFAULTS�int)�clsr* �default_server_roots �I/usr/lib/python3.12/site-packages/certbot_nginx/_internal/configurator.py�add_parser_argumentsz&NginxConfigurator.add_parser_argumentsS sj � �<�>���M�9�#9�#9�-�#H�=�@S�S� U��E�9�1�1�%�8� @� � �O�Y�%;�%;�O�%L�SV�'� (� c �` � t j j | j d� d� S )zNginx config file path.r. z nginx.conf)r �path�join�conf��selfs r: � nginx_confzNginxConfigurator.nginx_conf_ s"