2015-04-22 05:16:13 -04:00
|
|
|
"""nginx plugin constants."""
|
2018-04-12 19:33:10 -04:00
|
|
|
import platform
|
2021-03-09 19:12:32 -05:00
|
|
|
from typing import Any
|
|
|
|
|
from typing import Dict
|
2020-07-27 15:52:12 -04:00
|
|
|
|
2018-06-25 21:09:30 -04:00
|
|
|
FREEBSD_DARWIN_SERVER_ROOT = "/usr/local/etc/nginx"
|
|
|
|
|
LINUX_SERVER_ROOT = "/etc/nginx"
|
2020-06-08 15:06:38 -04:00
|
|
|
PKGSRC_SERVER_ROOT = "/usr/pkg/etc/nginx"
|
2018-06-25 21:09:30 -04:00
|
|
|
|
2018-05-17 23:02:27 -04:00
|
|
|
if platform.system() in ('FreeBSD', 'Darwin'):
|
2018-06-25 21:09:30 -04:00
|
|
|
server_root_tmp = FREEBSD_DARWIN_SERVER_ROOT
|
2020-06-08 15:06:38 -04:00
|
|
|
elif platform.system() in ('NetBSD',):
|
|
|
|
|
server_root_tmp = PKGSRC_SERVER_ROOT
|
2018-04-12 19:33:10 -04:00
|
|
|
else:
|
2018-06-25 21:09:30 -04:00
|
|
|
server_root_tmp = LINUX_SERVER_ROOT
|
2018-05-17 23:02:27 -04:00
|
|
|
|
2022-02-14 17:54:03 -05:00
|
|
|
CLI_DEFAULTS: Dict[str, Any] = {
|
|
|
|
|
"server_root": server_root_tmp,
|
|
|
|
|
"ctl": "nginx",
|
|
|
|
|
"sleep_seconds": 1
|
|
|
|
|
}
|
2015-05-08 17:32:13 -04:00
|
|
|
"""CLI defaults."""
|
2015-04-22 05:16:13 -04:00
|
|
|
|
|
|
|
|
|
2015-06-01 20:14:10 -04:00
|
|
|
MOD_SSL_CONF_DEST = "options-ssl-nginx.conf"
|
2021-08-17 17:51:26 -04:00
|
|
|
"""Name of the mod_ssl config file as saved
|
|
|
|
|
in `certbot.configuration.NamespaceConfig.config_dir`."""
|
2015-06-01 20:14:10 -04:00
|
|
|
|
2017-05-23 16:18:50 -04:00
|
|
|
UPDATED_MOD_SSL_CONF_DIGEST = ".updated-options-ssl-nginx-conf-digest.txt"
|
2021-08-17 17:51:26 -04:00
|
|
|
"""Name of the hash of the updated or informed mod_ssl_conf as saved
|
|
|
|
|
in `certbot.configuration.NamespaceConfig.config_dir`."""
|
2017-05-23 16:18:50 -04:00
|
|
|
|
2017-06-01 12:04:48 -04:00
|
|
|
ALL_SSL_OPTIONS_HASHES = [
|
2017-05-23 16:18:50 -04:00
|
|
|
'0f81093a1465e3d4eaa8b0c14e77b2a2e93568b0fc1351c2b87893a95f0de87c',
|
|
|
|
|
'9a7b32c49001fed4cff8ad24353329472a50e86ade1ef9b2b9e43566a619612e',
|
|
|
|
|
'a6d9f1c7d6b36749b52ba061fff1421f9a0a3d2cfdafbd63c05d06f65b990937',
|
|
|
|
|
'7f95624dd95cf5afc708b9f967ee83a24b8025dc7c8d9df2b556bbc64256b3ff',
|
2017-06-01 12:04:48 -04:00
|
|
|
'394732f2bbe3e5e637c3fb5c6e980a1f1b90b01e2e8d6b7cff41dde16e2a756d',
|
2017-06-01 18:26:54 -04:00
|
|
|
'4b16fec2bcbcd8a2f3296d886f17f9953ffdcc0af54582452ca1e52f5f776f16',
|
2019-06-28 15:16:52 -04:00
|
|
|
'c052ffff0ad683f43bffe105f7c606b339536163490930e2632a335c8d191cc4',
|
2019-08-02 15:25:40 -04:00
|
|
|
'02329eb19930af73c54b3632b3165d84571383b8c8c73361df940cb3894dd426',
|
2019-09-05 16:51:56 -04:00
|
|
|
'63e2bddebb174a05c9d8a7cf2adf72f7af04349ba59a1a925fe447f73b2f1abf',
|
|
|
|
|
'2901debc7ecbc10917edd9084c05464c9c5930b463677571eaf8c94bffd11ae2',
|
|
|
|
|
'30baca73ed9a5b0e9a69ea40e30482241d8b1a7343aa79b49dc5d7db0bf53b6c',
|
|
|
|
|
'02329eb19930af73c54b3632b3165d84571383b8c8c73361df940cb3894dd426',
|
|
|
|
|
'108c4555058a087496a3893aea5d9e1cee0f20a3085d44a52dc1a66522299ac3',
|
|
|
|
|
'd5e021706ecdccc7090111b0ae9a29ef61523e927f020e410caf0a1fd7063981',
|
2019-10-01 13:34:11 -04:00
|
|
|
'ef11e3fb17213e74d3e1816cde0ec37b8b95b4167cf21e7b8ff1eaa9c6f918ee',
|
|
|
|
|
'af85f6193808a44789a1d293e6cffa249cad9a21135940800958b8e3c72dbc69',
|
|
|
|
|
'a2a612fd21b02abaa32d9d11ac63d987d6e3054dbfa356de5800eea0d7ce17f3',
|
|
|
|
|
'2d9648302e3588a172c318e46bff88ade46fc7a16d6afc85322776a04800d473',
|
2022-05-13 13:59:49 -04:00
|
|
|
'5e21cc66989f26ec46116d979421e538131cf8ab33ffff3f682fbfe491b0ace8',
|
|
|
|
|
'f5615544105c4eee44f02a604e3e9ae55b3d5bad247160bb18731a0ac531af02',
|
|
|
|
|
'05a799c4db12f8e15e68219c98056824cbd5ae7b05863225318ae112f343880b',
|
|
|
|
|
'dc81acfd9670f137d5abbccfe3438d9306d4b6a906439b0fbf6a6756272e7cc7',
|
2019-09-05 16:51:56 -04:00
|
|
|
]
|
2017-06-01 12:04:48 -04:00
|
|
|
"""SHA256 hashes of the contents of all versions of MOD_SSL_CONF_SRC"""
|
2017-05-23 16:18:50 -04:00
|
|
|
|
2022-01-12 19:36:51 -05:00
|
|
|
|
|
|
|
|
def os_constant(key: str) -> Any:
|
2016-08-05 18:13:04 -04:00
|
|
|
# XXX TODO: In the future, this could return different constants
|
|
|
|
|
# based on what OS we are running under. To see an
|
|
|
|
|
# approach to how to handle different OSes, see the
|
2016-08-10 20:01:34 -04:00
|
|
|
# apache version of this file. Currently, we do not
|
|
|
|
|
# actually have any OS-specific constants on Nginx.
|
|
|
|
|
"""
|
|
|
|
|
Get a constant value for operating system
|
|
|
|
|
|
2022-01-12 19:36:51 -05:00
|
|
|
:param str key: name of cli constant
|
2016-08-10 20:01:34 -04:00
|
|
|
:return: value of constant for active os
|
|
|
|
|
"""
|
2016-08-08 20:22:53 -04:00
|
|
|
return CLI_DEFAULTS[key]
|
2018-03-16 18:27:39 -04:00
|
|
|
|
2022-01-12 19:36:51 -05:00
|
|
|
|
2018-03-16 18:27:39 -04:00
|
|
|
HSTS_ARGS = ['\"max-age=31536000\"', ' ', 'always']
|
|
|
|
|
|
|
|
|
|
HEADER_ARGS = {'Strict-Transport-Security': HSTS_ARGS}
|