Compare commits
16 Commits
apache-int
...
test-varia
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6c72f45e5c | ||
|
|
fcc398831b | ||
|
|
9da07590bd | ||
|
|
0cfedbc5f5 | ||
|
|
3608abb01a | ||
|
|
4739a0616d | ||
|
|
6e38ad9cce | ||
|
|
4599aff07f | ||
|
|
0b605333d9 | ||
|
|
9c18de993d | ||
|
|
e3dbd9ce4a | ||
|
|
c2480b29f7 | ||
|
|
6ac8633363 | ||
|
|
8a4c2f505f | ||
|
|
ca3077d034 | ||
|
|
6c89aa5227 |
117
.azure-pipelines/INSTALL.md
Normal file
117
.azure-pipelines/INSTALL.md
Normal file
@@ -0,0 +1,117 @@
|
|||||||
|
# Configuring Azure Pipelines with Certbot
|
||||||
|
|
||||||
|
Let's begin. All pipelines are defined in `.azure-pipelines`. Currently there are two:
|
||||||
|
* `.azure-pipelines/main.yml` is the main one, executed on PRs for master, and pushes to master,
|
||||||
|
* `.azure-pipelines/advanced.yml` add installer testing on top of the main pipeline, and is executed for `test-*` branches, release branches, and nightly run for master.
|
||||||
|
|
||||||
|
Several templates are defined in `.azure-pipelines/templates`. These YAML files aggregate common jobs configuration that can be reused in several pipelines.
|
||||||
|
|
||||||
|
Unlike Travis, where CodeCov is working without any action required, CodeCov supports Azure Pipelines
|
||||||
|
using the coverage-bash utility (not python-coverage for now) only if you provide the Codecov repo token
|
||||||
|
using the `CODECOV_TOKEN` environment variable. So `CODECOV_TOKEN` needs to be set as a secured
|
||||||
|
environment variable to allow the main pipeline to publish coverage reports to CodeCov.
|
||||||
|
|
||||||
|
This INSTALL.md file explains how to configure Azure Pipelines with Certbot in order to execute the CI/CD logic defined in `.azure-pipelines` folder with it.
|
||||||
|
During this installation step, warnings describing user access and legal comitments will be displayed like this:
|
||||||
|
```
|
||||||
|
!!! ACCESS REQUIRED !!!
|
||||||
|
```
|
||||||
|
|
||||||
|
This document suppose that the Azure DevOps organization is named _certbot_, and the Azure DevOps project is also _certbot_.
|
||||||
|
|
||||||
|
## Useful links
|
||||||
|
|
||||||
|
* https://docs.microsoft.com/en-us/azure/devops/pipelines/yaml-schema?view=azure-devops&tabs=schema
|
||||||
|
* https://www.azuredevopslabs.com/labs/azuredevops/github-integration/
|
||||||
|
* https://docs.microsoft.com/en-us/azure/devops/pipelines/ecosystems/python?view=azure-devops
|
||||||
|
|
||||||
|
## Prerequisites
|
||||||
|
|
||||||
|
### Having a GitHub account
|
||||||
|
|
||||||
|
Use your GitHub user for a normal GitHub account, or a user that has administrative rights to the GitHub organization if relevant.
|
||||||
|
|
||||||
|
### Having an Azure DevOps account
|
||||||
|
- Go to https://dev.azure.com/, click "Start free with GitHub"
|
||||||
|
- Login to GitHub
|
||||||
|
|
||||||
|
```
|
||||||
|
!!! ACCESS REQUIRED !!!
|
||||||
|
Personal user data (email + profile info, in read-only)
|
||||||
|
```
|
||||||
|
|
||||||
|
- Microsoft will create a Live account using the email referenced for the GitHub account. This account is also linked to GitHub account (meaning you can log it using GitHub authentication)
|
||||||
|
- Proceed with account registration (birth date, country), add details about name and email contact
|
||||||
|
|
||||||
|
```
|
||||||
|
!!! ACCESS REQUIRED !!!
|
||||||
|
Microsoft proposes to send commercial links to this mail
|
||||||
|
Azure DevOps terms of service need to be accepted
|
||||||
|
```
|
||||||
|
|
||||||
|
_Logged to Azure DevOps, account is ready._
|
||||||
|
|
||||||
|
### Installing Azure Pipelines to GitHub
|
||||||
|
|
||||||
|
- On GitHub, go to Marketplace
|
||||||
|
- Select Azure Pipeline, and "Set up a plan"
|
||||||
|
- Select Free, then "Install it for free"
|
||||||
|
- Click "Complete order and begin installation"
|
||||||
|
|
||||||
|
```
|
||||||
|
!!! ACCESS !!!
|
||||||
|
Azure Pipeline needs RW on code, RO on metadata, RW on checks, commit statuses, deployments, issues, pull requests.
|
||||||
|
RW access here is required to allow update of the pipelines YAML files from Azure DevOps interface, and to
|
||||||
|
update the status of builds and PRs on GitHub side when Azure Pipelines are triggered.
|
||||||
|
Note however that no admin access is defined here: this means that Azure Pipelines cannot do anything with
|
||||||
|
protected branches, like master, and cannot modify the security context around this on GitHub.
|
||||||
|
Access can be defined for all or only selected repositories, which is nice.
|
||||||
|
```
|
||||||
|
|
||||||
|
- Redirected to Azure DevOps, select the account created in _Having an Azure DevOps account_ section.
|
||||||
|
- Select the organization, and click "Create a new project" (let's name it the same than the targetted github repo)
|
||||||
|
- The Visibility is public, to profit from 10 parallel jobs
|
||||||
|
|
||||||
|
```
|
||||||
|
!!! ACCESS !!!
|
||||||
|
Azure Pipelines needs access to the GitHub account (in term of beeing able to check it is valid), and the Resources shared between the GitHub account and Azure Pipelines.
|
||||||
|
```
|
||||||
|
|
||||||
|
_Done. We can move to pipelines configuration._
|
||||||
|
|
||||||
|
## Import an existing pipelines from `.azure-pipelines` folder
|
||||||
|
|
||||||
|
- On Azure DevOps, go to your organization (eg. _certbot_) then your project (eg. _certbot_)
|
||||||
|
- Click "Pipelines" tab
|
||||||
|
- Click "New pipeline"
|
||||||
|
- Where is your code?: select "__Use the classic editor__"
|
||||||
|
|
||||||
|
__Warning: Do not choose the GitHub option in Where is your code? section. Indeed, this option will trigger an OAuth
|
||||||
|
grant permissions from Azure Pipelines to GitHub in order to setup a GitHub OAuth Application. The permissions asked
|
||||||
|
then are way too large (admin level on almost everything), while the classic approach does not add any more
|
||||||
|
permissions, and works perfectly well.__
|
||||||
|
|
||||||
|
- Select GitHub in "Select your repository section", choose certbot/certbot in Repository, master in default branch.
|
||||||
|
- Click on YAML option for "Select a template"
|
||||||
|
- Choose a name for the pipeline (eg. test-pipeline), and browse to the actual pipeline YAML definition in the
|
||||||
|
"YAML file path" input (eg. `.azure-pipelines/test-pipeline.yml`)
|
||||||
|
- Click "Save & queue", choose the master branch to build the first pipeline, and click "Save and run" button.
|
||||||
|
|
||||||
|
_Done. Pipeline is operational. Repeat to add more pipelines from existing YAML files in `.azure-pipelines`._
|
||||||
|
|
||||||
|
## Add a secret variable to a pipeline (like `CODECOV_TOKEN`)
|
||||||
|
|
||||||
|
__NB: Following steps suppose that you already setup the YAML pipeline file to
|
||||||
|
consume the secret variable that these steps will create as an environment variable.
|
||||||
|
For a variable named `CODECOV_TOKEN` consuming the variable `codecov_token`,
|
||||||
|
in the YAML file this setup would take the form of the following:
|
||||||
|
```
|
||||||
|
steps:
|
||||||
|
- script: ./do_something_that_consumes_CODECOV_TOKEN # Eg. `codecov -F windows`
|
||||||
|
env:
|
||||||
|
CODECOV_TOKEN: $(codecov_token)
|
||||||
|
```
|
||||||
|
|
||||||
|
- On Azure DevOps, go to you organization, project, pipeline tab
|
||||||
|
- Select the pipeline, click "Edit" button, then click "Variables" button
|
||||||
|
- Set name (eg `codecov_token`), value, tick "Keep this value secret"
|
||||||
18
.azure-pipelines/advanced.yml
Normal file
18
.azure-pipelines/advanced.yml
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
# Advanced pipeline for isolated checks and release purpose
|
||||||
|
trigger:
|
||||||
|
- test-*
|
||||||
|
- '*.x'
|
||||||
|
pr:
|
||||||
|
- test-*
|
||||||
|
- '*.x'
|
||||||
|
# This pipeline is also nightly run on master
|
||||||
|
schedules:
|
||||||
|
- cron: "4 0 * * *"
|
||||||
|
displayName: Nightly build
|
||||||
|
branches:
|
||||||
|
include:
|
||||||
|
- master
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
- template: templates/tests-suite.yml
|
||||||
|
- template: templates/installer-tests.yml
|
||||||
11
.azure-pipelines/main.yml
Normal file
11
.azure-pipelines/main.yml
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
trigger:
|
||||||
|
# apache-parser-v2 is a temporary branch for doing work related to
|
||||||
|
# rewriting the parser in the Apache plugin.
|
||||||
|
- apache-parser-v2
|
||||||
|
- master
|
||||||
|
pr:
|
||||||
|
- apache-parser-v2
|
||||||
|
- master
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
- template: templates/tests-suite.yml
|
||||||
31
.azure-pipelines/templates/installer-tests.yml
Normal file
31
.azure-pipelines/templates/installer-tests.yml
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
jobs:
|
||||||
|
- job: installer
|
||||||
|
pool:
|
||||||
|
vmImage: vs2017-win2016
|
||||||
|
steps:
|
||||||
|
- task: UsePythonVersion@0
|
||||||
|
inputs:
|
||||||
|
versionSpec: 3.7
|
||||||
|
architecture: x86
|
||||||
|
addToPath: true
|
||||||
|
- script: python windows-installer/construct.py
|
||||||
|
displayName: Build Certbot installer
|
||||||
|
- task: CopyFiles@2
|
||||||
|
inputs:
|
||||||
|
sourceFolder: $(System.DefaultWorkingDirectory)/windows-installer/build/nsis
|
||||||
|
contents: '*.exe'
|
||||||
|
targetFolder: $(Build.ArtifactStagingDirectory)
|
||||||
|
- task: PublishPipelineArtifact@1
|
||||||
|
inputs:
|
||||||
|
path: $(Build.ArtifactStagingDirectory)
|
||||||
|
artifact: WindowsInstaller
|
||||||
|
- script: $(Build.ArtifactStagingDirectory)\certbot-installer-win32.exe /S
|
||||||
|
displayName: Install Certbot
|
||||||
|
- script: |
|
||||||
|
python -m venv venv
|
||||||
|
venv\Scripts\python tools\pip_install.py -e certbot-ci
|
||||||
|
displayName: Prepare Certbot-CI
|
||||||
|
- script: |
|
||||||
|
set PATH=%ProgramFiles(x86)%\Certbot\bin;%PATH%
|
||||||
|
venv\Scripts\python -m pytest certbot-ci\certbot_integration_tests\certbot_tests -n 4
|
||||||
|
displayName: Run integration tests
|
||||||
38
.azure-pipelines/templates/tests-suite.yml
Normal file
38
.azure-pipelines/templates/tests-suite.yml
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
jobs:
|
||||||
|
- job: test
|
||||||
|
pool:
|
||||||
|
vmImage: vs2017-win2016
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
py35:
|
||||||
|
PYTHON_VERSION: 3.5
|
||||||
|
TOXENV: py35
|
||||||
|
py37-cover:
|
||||||
|
PYTHON_VERSION: 3.7
|
||||||
|
TOXENV: py37-cover
|
||||||
|
integration-certbot:
|
||||||
|
PYTHON_VERSION: 3.7
|
||||||
|
TOXENV: integration-certbot
|
||||||
|
PYTEST_ADDOPTS: --numprocesses 4
|
||||||
|
variables:
|
||||||
|
- group: certbot-common
|
||||||
|
steps:
|
||||||
|
- task: UsePythonVersion@0
|
||||||
|
inputs:
|
||||||
|
versionSpec: $(PYTHON_VERSION)
|
||||||
|
addToPath: true
|
||||||
|
- script: python tools/pip_install.py -U tox coverage
|
||||||
|
displayName: Install dependencies
|
||||||
|
- script: python -m tox
|
||||||
|
displayName: Run tox
|
||||||
|
# We do not require codecov report upload to succeed. So to avoid to break the pipeline if
|
||||||
|
# something goes wrong, each command is suffixed with a command that hides any non zero exit
|
||||||
|
# codes and echoes an informative message instead.
|
||||||
|
- bash: |
|
||||||
|
curl -s https://codecov.io/bash -o codecov-bash || echo "Failed to download codecov-bash"
|
||||||
|
chmod +x codecov-bash || echo "Failed to apply execute permissions on codecov-bash"
|
||||||
|
./codecov-bash -F windows || echo "Codecov did not collect coverage reports"
|
||||||
|
condition: eq(variables['TOXENV'], 'py37-cover')
|
||||||
|
env:
|
||||||
|
CODECOV_TOKEN: $(codecov_token)
|
||||||
|
displayName: Publish coverage
|
||||||
@@ -18,6 +18,7 @@ Authors
|
|||||||
* [Alex Zorin](https://github.com/alexzorin)
|
* [Alex Zorin](https://github.com/alexzorin)
|
||||||
* [Amjad Mashaal](https://github.com/TheNavigat)
|
* [Amjad Mashaal](https://github.com/TheNavigat)
|
||||||
* [Andrew Murray](https://github.com/radarhere)
|
* [Andrew Murray](https://github.com/radarhere)
|
||||||
|
* [Andrzej Górski](https://github.com/andrzej3393)
|
||||||
* [Anselm Levskaya](https://github.com/levskaya)
|
* [Anselm Levskaya](https://github.com/levskaya)
|
||||||
* [Antoine Jacoutot](https://github.com/ajacoutot)
|
* [Antoine Jacoutot](https://github.com/ajacoutot)
|
||||||
* [asaph](https://github.com/asaph)
|
* [asaph](https://github.com/asaph)
|
||||||
@@ -127,6 +128,7 @@ Authors
|
|||||||
* [Joubin Jabbari](https://github.com/joubin)
|
* [Joubin Jabbari](https://github.com/joubin)
|
||||||
* [Juho Juopperi](https://github.com/jkjuopperi)
|
* [Juho Juopperi](https://github.com/jkjuopperi)
|
||||||
* [Kane York](https://github.com/riking)
|
* [Kane York](https://github.com/riking)
|
||||||
|
* [Kenichi Maehashi](https://github.com/kmaehashi)
|
||||||
* [Kenneth Skovhede](https://github.com/kenkendk)
|
* [Kenneth Skovhede](https://github.com/kenkendk)
|
||||||
* [Kevin Burke](https://github.com/kevinburke)
|
* [Kevin Burke](https://github.com/kevinburke)
|
||||||
* [Kevin London](https://github.com/kevinlondon)
|
* [Kevin London](https://github.com/kevinlondon)
|
||||||
|
|||||||
25
CHANGELOG.md
25
CHANGELOG.md
@@ -2,15 +2,15 @@
|
|||||||
|
|
||||||
Certbot adheres to [Semantic Versioning](https://semver.org/).
|
Certbot adheres to [Semantic Versioning](https://semver.org/).
|
||||||
|
|
||||||
## 0.39.0 - master
|
## 0.40.0 - master
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|
||||||
* Support for Python 3.8 was added to Certbot and all of its components.
|
*
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
||||||
* Don't send OCSP requests for expired certificates
|
* Removed `--fast` flag from the test farm tests
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
|
|
||||||
@@ -18,6 +18,25 @@ Certbot adheres to [Semantic Versioning](https://semver.org/).
|
|||||||
|
|
||||||
More details about these changes can be found on our GitHub repo.
|
More details about these changes can be found on our GitHub repo.
|
||||||
|
|
||||||
|
## 0.39.0 - 2019-10-01
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
* Support for Python 3.8 was added to Certbot and all of its components.
|
||||||
|
* Support for CentOS 8 was added to certbot-auto.
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
* Don't send OCSP requests for expired certificates
|
||||||
|
* Return to using platform.linux_distribution instead of distro.linux_distribution in OS fingerprinting for Python < 3.8
|
||||||
|
* Updated the Nginx plugin's TLS configuration to keep support for some versions of IE11.
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
* Fixed OS detection in the Apache plugin on RHEL 6.
|
||||||
|
|
||||||
|
More details about these changes can be found on our GitHub repo.
|
||||||
|
|
||||||
## 0.38.0 - 2019-09-03
|
## 0.38.0 - 2019-09-03
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ from setuptools import find_packages
|
|||||||
from setuptools.command.test import test as TestCommand
|
from setuptools.command.test import test as TestCommand
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
version = '0.39.0.dev0'
|
version = '0.40.0.dev0'
|
||||||
|
|
||||||
# Please update tox.ini when modifying dependency version requirements
|
# Please update tox.ini when modifying dependency version requirements
|
||||||
install_requires = [
|
install_requires = [
|
||||||
|
|||||||
@@ -24,6 +24,7 @@ OVERRIDE_CLASSES = {
|
|||||||
"fedora_old": override_centos.CentOSConfigurator,
|
"fedora_old": override_centos.CentOSConfigurator,
|
||||||
"fedora": override_fedora.FedoraConfigurator,
|
"fedora": override_fedora.FedoraConfigurator,
|
||||||
"ol": override_centos.CentOSConfigurator,
|
"ol": override_centos.CentOSConfigurator,
|
||||||
|
"redhatenterpriseserver": override_centos.CentOSConfigurator,
|
||||||
"red hat enterprise linux server": override_centos.CentOSConfigurator,
|
"red hat enterprise linux server": override_centos.CentOSConfigurator,
|
||||||
"rhel": override_centos.CentOSConfigurator,
|
"rhel": override_centos.CentOSConfigurator,
|
||||||
"amazon": override_centos.CentOSConfigurator,
|
"amazon": override_centos.CentOSConfigurator,
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
# Remember to update setup.py to match the package versions below.
|
# Remember to update setup.py to match the package versions below.
|
||||||
acme[dev]==0.29.0
|
acme[dev]==0.29.0
|
||||||
-e .[dev]
|
certbot[dev]==0.39.0
|
||||||
|
|||||||
@@ -4,13 +4,13 @@ from setuptools.command.test import test as TestCommand
|
|||||||
import sys
|
import sys
|
||||||
|
|
||||||
|
|
||||||
version = '0.39.0.dev0'
|
version = '0.40.0.dev0'
|
||||||
|
|
||||||
# Remember to update local-oldest-requirements.txt when changing the minimum
|
# Remember to update local-oldest-requirements.txt when changing the minimum
|
||||||
# acme/certbot version.
|
# acme/certbot version.
|
||||||
install_requires = [
|
install_requires = [
|
||||||
'acme>=0.29.0',
|
'acme>=0.29.0',
|
||||||
'certbot>=0.39.0.dev0',
|
'certbot>=0.39.0',
|
||||||
'mock',
|
'mock',
|
||||||
'python-augeas',
|
'python-augeas',
|
||||||
'setuptools',
|
'setuptools',
|
||||||
|
|||||||
28
certbot-auto
28
certbot-auto
@@ -31,7 +31,7 @@ if [ -z "$VENV_PATH" ]; then
|
|||||||
fi
|
fi
|
||||||
VENV_BIN="$VENV_PATH/bin"
|
VENV_BIN="$VENV_PATH/bin"
|
||||||
BOOTSTRAP_VERSION_PATH="$VENV_PATH/certbot-auto-bootstrap-version.txt"
|
BOOTSTRAP_VERSION_PATH="$VENV_PATH/certbot-auto-bootstrap-version.txt"
|
||||||
LE_AUTO_VERSION="0.38.0"
|
LE_AUTO_VERSION="0.39.0"
|
||||||
BASENAME=$(basename $0)
|
BASENAME=$(basename $0)
|
||||||
USAGE="Usage: $BASENAME [OPTIONS]
|
USAGE="Usage: $BASENAME [OPTIONS]
|
||||||
A self-updating wrapper script for the Certbot ACME client. When run, updates
|
A self-updating wrapper script for the Certbot ACME client. When run, updates
|
||||||
@@ -775,6 +775,8 @@ elif [ -f /etc/redhat-release ]; then
|
|||||||
RPM_USE_PYTHON_3=1
|
RPM_USE_PYTHON_3=1
|
||||||
elif [ "$RPM_DIST_NAME" = "rhel" -a "$RPM_DIST_VERSION" -ge 8 ]; then
|
elif [ "$RPM_DIST_NAME" = "rhel" -a "$RPM_DIST_VERSION" -ge 8 ]; then
|
||||||
RPM_USE_PYTHON_3=1
|
RPM_USE_PYTHON_3=1
|
||||||
|
elif [ "$RPM_DIST_NAME" = "centos" -a "$RPM_DIST_VERSION" -ge 8 ]; then
|
||||||
|
RPM_USE_PYTHON_3=1
|
||||||
else
|
else
|
||||||
RPM_USE_PYTHON_3=0
|
RPM_USE_PYTHON_3=0
|
||||||
fi
|
fi
|
||||||
@@ -1336,18 +1338,18 @@ letsencrypt==0.7.0 \
|
|||||||
--hash=sha256:105a5fb107e45bcd0722eb89696986dcf5f08a86a321d6aef25a0c7c63375ade \
|
--hash=sha256:105a5fb107e45bcd0722eb89696986dcf5f08a86a321d6aef25a0c7c63375ade \
|
||||||
--hash=sha256:c36e532c486a7e92155ee09da54b436a3c420813ec1c590b98f635d924720de9
|
--hash=sha256:c36e532c486a7e92155ee09da54b436a3c420813ec1c590b98f635d924720de9
|
||||||
|
|
||||||
certbot==0.38.0 \
|
certbot==0.39.0 \
|
||||||
--hash=sha256:618abf3ae17c2fc3cb99baa4bf000dd5e2d7875b7811f5ef1edf6ebd7a33945f \
|
--hash=sha256:f1a70651a6c5137a448f4a8db17b09af619f80a077326caae6b74278bf1db488 \
|
||||||
--hash=sha256:c27712101794e3adf54f3a3067c63be5caa507a930a79865bc654b6864121c6b
|
--hash=sha256:885cee1c4d05888af86b626cbbfc29d3c6c842ef4fe8f4a486994cef9daddfe0
|
||||||
acme==0.38.0 \
|
acme==0.39.0 \
|
||||||
--hash=sha256:6231571b4a94d6d621b28bef6f6d4846b3c2ebca840f9718d3212036c3bd2af8 \
|
--hash=sha256:4f8be913df289b981852042719469cc367a7e436256f232c799d0bd1521db710 \
|
||||||
--hash=sha256:1c1e9c0826a8f72d670b0ca28b7e6392ce4781eb33222f35133705b6551885d8
|
--hash=sha256:a2fcb75d16de6804f4b4d773a457ee2f6434ebaf8fd1aa60862a91d4e8f73608
|
||||||
certbot-apache==0.38.0 \
|
certbot-apache==0.39.0 \
|
||||||
--hash=sha256:0b5a2c2bcc430470b5131941ebdfde0a13e28dec38918c1a4ebea5dd35ad38bc \
|
--hash=sha256:c7a8630a85b753a52ca0b8c19e24b8f85ac4ba028292a95745e250c2e72faab9 \
|
||||||
--hash=sha256:2d335543e0ae9292303238736907ce6b321ac49eb49fe4e0b775abdc0ba57c62
|
--hash=sha256:4651a0212c9ebc3087281dad92ad3cb355bb2730f432d0180a8d23325d11825a
|
||||||
certbot-nginx==0.38.0 \
|
certbot-nginx==0.39.0 \
|
||||||
--hash=sha256:af82944e171d2e93c81438b185f8051e742c6f47f7382cb1a647b1c7ca2b53f2 \
|
--hash=sha256:76e5862ad5cc0fbc099df3502987c101c60dee1c188a579eac990edee7a910df \
|
||||||
--hash=sha256:cecd1fa3de6e19980fdb9c3b3269b15b7da71b5748ee7ae5caddcc18dbb208ac
|
--hash=sha256:ceac88df52d3b27d14c3052b9e90ada327d7e14ecd6e4af7519918182d6138b4
|
||||||
|
|
||||||
UNLIKELY_EOF
|
UNLIKELY_EOF
|
||||||
# -------------------------------------------------------------------------
|
# -------------------------------------------------------------------------
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ from setuptools import setup
|
|||||||
from setuptools import find_packages
|
from setuptools import find_packages
|
||||||
|
|
||||||
|
|
||||||
version = '0.39.0.dev0'
|
version = '0.40.0.dev0'
|
||||||
|
|
||||||
install_requires = [
|
install_requires = [
|
||||||
'certbot',
|
'certbot',
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
# Remember to update setup.py to match the package versions below.
|
# Remember to update setup.py to match the package versions below.
|
||||||
acme[dev]==0.29.0
|
acme[dev]==0.29.0
|
||||||
-e .[dev]
|
certbot[dev]==0.39.0
|
||||||
|
|||||||
@@ -2,13 +2,13 @@ from setuptools import setup
|
|||||||
from setuptools import find_packages
|
from setuptools import find_packages
|
||||||
|
|
||||||
|
|
||||||
version = '0.39.0.dev0'
|
version = '0.40.0.dev0'
|
||||||
|
|
||||||
# Remember to update local-oldest-requirements.txt when changing the minimum
|
# Remember to update local-oldest-requirements.txt when changing the minimum
|
||||||
# acme/certbot version.
|
# acme/certbot version.
|
||||||
install_requires = [
|
install_requires = [
|
||||||
'acme>=0.29.0',
|
'acme>=0.29.0',
|
||||||
'certbot>=0.39.0.dev0',
|
'certbot>=0.39.0',
|
||||||
'cloudflare>=1.5.1',
|
'cloudflare>=1.5.1',
|
||||||
'mock',
|
'mock',
|
||||||
'setuptools',
|
'setuptools',
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
# Remember to update setup.py to match the package versions below.
|
# Remember to update setup.py to match the package versions below.
|
||||||
acme[dev]==0.31.0
|
acme[dev]==0.31.0
|
||||||
-e .[dev]
|
certbot[dev]==0.39.0
|
||||||
|
|||||||
@@ -2,13 +2,13 @@ from setuptools import setup
|
|||||||
from setuptools import find_packages
|
from setuptools import find_packages
|
||||||
|
|
||||||
|
|
||||||
version = '0.39.0.dev0'
|
version = '0.40.0.dev0'
|
||||||
|
|
||||||
# Remember to update local-oldest-requirements.txt when changing the minimum
|
# Remember to update local-oldest-requirements.txt when changing the minimum
|
||||||
# acme/certbot version.
|
# acme/certbot version.
|
||||||
install_requires = [
|
install_requires = [
|
||||||
'acme>=0.31.0',
|
'acme>=0.31.0',
|
||||||
'certbot>=0.39.0.dev0',
|
'certbot>=0.39.0',
|
||||||
'dns-lexicon>=2.2.1', # Support for >1 TXT record per name
|
'dns-lexicon>=2.2.1', # Support for >1 TXT record per name
|
||||||
'mock',
|
'mock',
|
||||||
'setuptools',
|
'setuptools',
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
# Remember to update setup.py to match the package versions below.
|
# Remember to update setup.py to match the package versions below.
|
||||||
acme[dev]==0.29.0
|
acme[dev]==0.29.0
|
||||||
-e .[dev]
|
certbot[dev]==0.39.0
|
||||||
|
|||||||
@@ -2,13 +2,13 @@ from setuptools import setup
|
|||||||
from setuptools import find_packages
|
from setuptools import find_packages
|
||||||
|
|
||||||
|
|
||||||
version = '0.39.0.dev0'
|
version = '0.40.0.dev0'
|
||||||
|
|
||||||
# Remember to update local-oldest-requirements.txt when changing the minimum
|
# Remember to update local-oldest-requirements.txt when changing the minimum
|
||||||
# acme/certbot version.
|
# acme/certbot version.
|
||||||
install_requires = [
|
install_requires = [
|
||||||
'acme>=0.29.0',
|
'acme>=0.29.0',
|
||||||
'certbot>=0.39.0.dev0',
|
'certbot>=0.39.0',
|
||||||
'mock',
|
'mock',
|
||||||
'python-digitalocean>=1.11',
|
'python-digitalocean>=1.11',
|
||||||
'setuptools',
|
'setuptools',
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
# Remember to update setup.py to match the package versions below.
|
# Remember to update setup.py to match the package versions below.
|
||||||
acme[dev]==0.31.0
|
acme[dev]==0.31.0
|
||||||
-e .[dev]
|
certbot[dev]==0.39.0
|
||||||
|
|||||||
@@ -3,13 +3,13 @@ from setuptools import setup
|
|||||||
from setuptools import find_packages
|
from setuptools import find_packages
|
||||||
|
|
||||||
|
|
||||||
version = '0.39.0.dev0'
|
version = '0.40.0.dev0'
|
||||||
|
|
||||||
# Remember to update local-oldest-requirements.txt when changing the minimum
|
# Remember to update local-oldest-requirements.txt when changing the minimum
|
||||||
# acme/certbot version.
|
# acme/certbot version.
|
||||||
install_requires = [
|
install_requires = [
|
||||||
'acme>=0.31.0',
|
'acme>=0.31.0',
|
||||||
'certbot>=0.39.0.dev0',
|
'certbot>=0.39.0',
|
||||||
'mock',
|
'mock',
|
||||||
'setuptools',
|
'setuptools',
|
||||||
'zope.interface',
|
'zope.interface',
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
# Remember to update setup.py to match the package versions below.
|
# Remember to update setup.py to match the package versions below.
|
||||||
acme[dev]==0.31.0
|
acme[dev]==0.31.0
|
||||||
-e .[dev]
|
certbot[dev]==0.39.0
|
||||||
|
|||||||
@@ -2,13 +2,13 @@ from setuptools import setup
|
|||||||
from setuptools import find_packages
|
from setuptools import find_packages
|
||||||
|
|
||||||
|
|
||||||
version = '0.39.0.dev0'
|
version = '0.40.0.dev0'
|
||||||
|
|
||||||
# Remember to update local-oldest-requirements.txt when changing the minimum
|
# Remember to update local-oldest-requirements.txt when changing the minimum
|
||||||
# acme/certbot version.
|
# acme/certbot version.
|
||||||
install_requires = [
|
install_requires = [
|
||||||
'acme>=0.31.0',
|
'acme>=0.31.0',
|
||||||
'certbot>=0.39.0.dev0',
|
'certbot>=0.39.0',
|
||||||
'dns-lexicon>=2.2.1', # Support for >1 TXT record per name
|
'dns-lexicon>=2.2.1', # Support for >1 TXT record per name
|
||||||
'mock',
|
'mock',
|
||||||
'setuptools',
|
'setuptools',
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
# Remember to update setup.py to match the package versions below.
|
# Remember to update setup.py to match the package versions below.
|
||||||
acme[dev]==0.31.0
|
acme[dev]==0.31.0
|
||||||
-e .[dev]
|
certbot[dev]==0.39.0
|
||||||
|
|||||||
@@ -2,12 +2,12 @@ from setuptools import setup
|
|||||||
from setuptools import find_packages
|
from setuptools import find_packages
|
||||||
|
|
||||||
|
|
||||||
version = '0.39.0.dev0'
|
version = '0.40.0.dev0'
|
||||||
|
|
||||||
# Please update tox.ini when modifying dependency version requirements
|
# Please update tox.ini when modifying dependency version requirements
|
||||||
install_requires = [
|
install_requires = [
|
||||||
'acme>=0.31.0',
|
'acme>=0.31.0',
|
||||||
'certbot>=0.39.0.dev0',
|
'certbot>=0.39.0',
|
||||||
'dns-lexicon>=2.1.22',
|
'dns-lexicon>=2.1.22',
|
||||||
'mock',
|
'mock',
|
||||||
'setuptools',
|
'setuptools',
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
# Remember to update setup.py to match the package versions below.
|
# Remember to update setup.py to match the package versions below.
|
||||||
acme[dev]==0.29.0
|
acme[dev]==0.29.0
|
||||||
-e .[dev]
|
certbot[dev]==0.39.0
|
||||||
|
|||||||
@@ -2,13 +2,13 @@ from setuptools import setup
|
|||||||
from setuptools import find_packages
|
from setuptools import find_packages
|
||||||
|
|
||||||
|
|
||||||
version = '0.39.0.dev0'
|
version = '0.40.0.dev0'
|
||||||
|
|
||||||
# Remember to update local-oldest-requirements.txt when changing the minimum
|
# Remember to update local-oldest-requirements.txt when changing the minimum
|
||||||
# acme/certbot version.
|
# acme/certbot version.
|
||||||
install_requires = [
|
install_requires = [
|
||||||
'acme>=0.29.0',
|
'acme>=0.29.0',
|
||||||
'certbot>=0.39.0.dev0',
|
'certbot>=0.39.0',
|
||||||
# 1.5 is the first version that supports oauth2client>=2.0
|
# 1.5 is the first version that supports oauth2client>=2.0
|
||||||
'google-api-python-client>=1.5',
|
'google-api-python-client>=1.5',
|
||||||
'mock',
|
'mock',
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# Remember to update setup.py to match the package versions below.
|
# Remember to update setup.py to match the package versions below.
|
||||||
acme[dev]==0.31.0
|
acme[dev]==0.31.0
|
||||||
-e .[dev]
|
certbot[dev]==0.39.0
|
||||||
dns-lexicon==2.2.3
|
dns-lexicon==2.2.3
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
from setuptools import setup
|
from setuptools import setup
|
||||||
from setuptools import find_packages
|
from setuptools import find_packages
|
||||||
|
|
||||||
version = '0.39.0.dev0'
|
version = '0.40.0.dev0'
|
||||||
|
|
||||||
# Please update tox.ini when modifying dependency version requirements
|
# Please update tox.ini when modifying dependency version requirements
|
||||||
install_requires = [
|
install_requires = [
|
||||||
'acme>=0.31.0',
|
'acme>=0.31.0',
|
||||||
'certbot>=0.39.0.dev0',
|
'certbot>=0.39.0',
|
||||||
'dns-lexicon>=2.2.3',
|
'dns-lexicon>=2.2.3',
|
||||||
'mock',
|
'mock',
|
||||||
'setuptools',
|
'setuptools',
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
# Remember to update setup.py to match the package versions below.
|
# Remember to update setup.py to match the package versions below.
|
||||||
acme[dev]==0.31.0
|
acme[dev]==0.31.0
|
||||||
-e .[dev]
|
certbot[dev]==0.39.0
|
||||||
|
|||||||
@@ -2,13 +2,13 @@ from setuptools import setup
|
|||||||
from setuptools import find_packages
|
from setuptools import find_packages
|
||||||
|
|
||||||
|
|
||||||
version = '0.39.0.dev0'
|
version = '0.40.0.dev0'
|
||||||
|
|
||||||
# Remember to update local-oldest-requirements.txt when changing the minimum
|
# Remember to update local-oldest-requirements.txt when changing the minimum
|
||||||
# acme/certbot version.
|
# acme/certbot version.
|
||||||
install_requires = [
|
install_requires = [
|
||||||
'acme>=0.31.0',
|
'acme>=0.31.0',
|
||||||
'certbot>=0.39.0.dev0',
|
'certbot>=0.39.0',
|
||||||
'dns-lexicon>=2.2.1', # Support for >1 TXT record per name
|
'dns-lexicon>=2.2.1', # Support for >1 TXT record per name
|
||||||
'mock',
|
'mock',
|
||||||
'setuptools',
|
'setuptools',
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
# Remember to update setup.py to match the package versions below.
|
# Remember to update setup.py to match the package versions below.
|
||||||
acme[dev]==0.31.0
|
acme[dev]==0.31.0
|
||||||
-e .[dev]
|
certbot[dev]==0.39.0
|
||||||
|
|||||||
@@ -2,13 +2,13 @@ from setuptools import setup
|
|||||||
from setuptools import find_packages
|
from setuptools import find_packages
|
||||||
|
|
||||||
|
|
||||||
version = '0.39.0.dev0'
|
version = '0.40.0.dev0'
|
||||||
|
|
||||||
# Remember to update local-oldest-requirements.txt when changing the minimum
|
# Remember to update local-oldest-requirements.txt when changing the minimum
|
||||||
# acme/certbot version.
|
# acme/certbot version.
|
||||||
install_requires = [
|
install_requires = [
|
||||||
'acme>=0.31.0',
|
'acme>=0.31.0',
|
||||||
'certbot>=0.39.0.dev0',
|
'certbot>=0.39.0',
|
||||||
'dns-lexicon>=2.2.1', # Support for >1 TXT record per name
|
'dns-lexicon>=2.2.1', # Support for >1 TXT record per name
|
||||||
'mock',
|
'mock',
|
||||||
'setuptools',
|
'setuptools',
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# Remember to update setup.py to match the package versions below.
|
# Remember to update setup.py to match the package versions below.
|
||||||
acme[dev]==0.31.0
|
acme[dev]==0.31.0
|
||||||
-e .[dev]
|
certbot[dev]==0.39.0
|
||||||
dns-lexicon==2.7.14
|
dns-lexicon==2.7.14
|
||||||
|
|||||||
@@ -2,13 +2,13 @@ from setuptools import setup
|
|||||||
from setuptools import find_packages
|
from setuptools import find_packages
|
||||||
|
|
||||||
|
|
||||||
version = '0.39.0.dev0'
|
version = '0.40.0.dev0'
|
||||||
|
|
||||||
# Remember to update local-oldest-requirements.txt when changing the minimum
|
# Remember to update local-oldest-requirements.txt when changing the minimum
|
||||||
# acme/certbot version.
|
# acme/certbot version.
|
||||||
install_requires = [
|
install_requires = [
|
||||||
'acme>=0.31.0',
|
'acme>=0.31.0',
|
||||||
'certbot>=0.39.0.dev0',
|
'certbot>=0.39.0',
|
||||||
'dns-lexicon>=2.7.14', # Correct proxy use on OVH provider
|
'dns-lexicon>=2.7.14', # Correct proxy use on OVH provider
|
||||||
'mock',
|
'mock',
|
||||||
'setuptools',
|
'setuptools',
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
# Remember to update setup.py to match the package versions below.
|
# Remember to update setup.py to match the package versions below.
|
||||||
acme[dev]==0.29.0
|
acme[dev]==0.29.0
|
||||||
-e .[dev]
|
certbot[dev]==0.39.0
|
||||||
|
|||||||
@@ -2,13 +2,13 @@ from setuptools import setup
|
|||||||
from setuptools import find_packages
|
from setuptools import find_packages
|
||||||
|
|
||||||
|
|
||||||
version = '0.39.0.dev0'
|
version = '0.40.0.dev0'
|
||||||
|
|
||||||
# Remember to update local-oldest-requirements.txt when changing the minimum
|
# Remember to update local-oldest-requirements.txt when changing the minimum
|
||||||
# acme/certbot version.
|
# acme/certbot version.
|
||||||
install_requires = [
|
install_requires = [
|
||||||
'acme>=0.29.0',
|
'acme>=0.29.0',
|
||||||
'certbot>=0.39.0.dev0',
|
'certbot>=0.39.0',
|
||||||
'dnspython',
|
'dnspython',
|
||||||
'mock',
|
'mock',
|
||||||
'setuptools',
|
'setuptools',
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
# Remember to update setup.py to match the package versions below.
|
# Remember to update setup.py to match the package versions below.
|
||||||
acme[dev]==0.29.0
|
acme[dev]==0.29.0
|
||||||
-e .[dev]
|
certbot[dev]==0.39.0
|
||||||
|
|||||||
@@ -1,13 +1,13 @@
|
|||||||
from setuptools import setup
|
from setuptools import setup
|
||||||
from setuptools import find_packages
|
from setuptools import find_packages
|
||||||
|
|
||||||
version = '0.39.0.dev0'
|
version = '0.40.0.dev0'
|
||||||
|
|
||||||
# Remember to update local-oldest-requirements.txt when changing the minimum
|
# Remember to update local-oldest-requirements.txt when changing the minimum
|
||||||
# acme/certbot version.
|
# acme/certbot version.
|
||||||
install_requires = [
|
install_requires = [
|
||||||
'acme>=0.29.0',
|
'acme>=0.29.0',
|
||||||
'certbot>=0.39.0.dev0',
|
'certbot>=0.39.0',
|
||||||
'boto3',
|
'boto3',
|
||||||
'mock',
|
'mock',
|
||||||
'setuptools',
|
'setuptools',
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
# Remember to update setup.py to match the package versions below.
|
# Remember to update setup.py to match the package versions below.
|
||||||
acme[dev]==0.31.0
|
acme[dev]==0.31.0
|
||||||
-e .[dev]
|
certbot[dev]==0.39.0
|
||||||
|
|||||||
@@ -2,12 +2,12 @@ from setuptools import setup
|
|||||||
from setuptools import find_packages
|
from setuptools import find_packages
|
||||||
|
|
||||||
|
|
||||||
version = '0.39.0.dev0'
|
version = '0.40.0.dev0'
|
||||||
|
|
||||||
# Please update tox.ini when modifying dependency version requirements
|
# Please update tox.ini when modifying dependency version requirements
|
||||||
install_requires = [
|
install_requires = [
|
||||||
'acme>=0.31.0',
|
'acme>=0.31.0',
|
||||||
'certbot>=0.39.0.dev0',
|
'certbot>=0.39.0',
|
||||||
'dns-lexicon>=2.1.23',
|
'dns-lexicon>=2.1.23',
|
||||||
'mock',
|
'mock',
|
||||||
'setuptools',
|
'setuptools',
|
||||||
|
|||||||
@@ -37,6 +37,10 @@ ALL_SSL_OPTIONS_HASHES = [
|
|||||||
'02329eb19930af73c54b3632b3165d84571383b8c8c73361df940cb3894dd426',
|
'02329eb19930af73c54b3632b3165d84571383b8c8c73361df940cb3894dd426',
|
||||||
'108c4555058a087496a3893aea5d9e1cee0f20a3085d44a52dc1a66522299ac3',
|
'108c4555058a087496a3893aea5d9e1cee0f20a3085d44a52dc1a66522299ac3',
|
||||||
'd5e021706ecdccc7090111b0ae9a29ef61523e927f020e410caf0a1fd7063981',
|
'd5e021706ecdccc7090111b0ae9a29ef61523e927f020e410caf0a1fd7063981',
|
||||||
|
'ef11e3fb17213e74d3e1816cde0ec37b8b95b4167cf21e7b8ff1eaa9c6f918ee',
|
||||||
|
'af85f6193808a44789a1d293e6cffa249cad9a21135940800958b8e3c72dbc69',
|
||||||
|
'a2a612fd21b02abaa32d9d11ac63d987d6e3054dbfa356de5800eea0d7ce17f3',
|
||||||
|
'2d9648302e3588a172c318e46bff88ade46fc7a16d6afc85322776a04800d473',
|
||||||
]
|
]
|
||||||
"""SHA256 hashes of the contents of all versions of MOD_SSL_CONF_SRC"""
|
"""SHA256 hashes of the contents of all versions of MOD_SSL_CONF_SRC"""
|
||||||
|
|
||||||
|
|||||||
@@ -10,4 +10,4 @@ ssl_session_timeout 1440m;
|
|||||||
ssl_protocols TLSv1.2;
|
ssl_protocols TLSv1.2;
|
||||||
ssl_prefer_server_ciphers off;
|
ssl_prefer_server_ciphers off;
|
||||||
|
|
||||||
ssl_ciphers "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384";
|
ssl_ciphers "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-SHA";
|
||||||
|
|||||||
@@ -11,4 +11,4 @@ ssl_session_tickets off;
|
|||||||
ssl_protocols TLSv1.2;
|
ssl_protocols TLSv1.2;
|
||||||
ssl_prefer_server_ciphers off;
|
ssl_prefer_server_ciphers off;
|
||||||
|
|
||||||
ssl_ciphers "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384";
|
ssl_ciphers "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-SHA";
|
||||||
|
|||||||
@@ -10,4 +10,4 @@ ssl_session_timeout 1440m;
|
|||||||
ssl_protocols TLSv1.2 TLSv1.3;
|
ssl_protocols TLSv1.2 TLSv1.3;
|
||||||
ssl_prefer_server_ciphers off;
|
ssl_prefer_server_ciphers off;
|
||||||
|
|
||||||
ssl_ciphers "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384";
|
ssl_ciphers "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-SHA";
|
||||||
|
|||||||
@@ -11,4 +11,4 @@ ssl_session_tickets off;
|
|||||||
ssl_protocols TLSv1.2 TLSv1.3;
|
ssl_protocols TLSv1.2 TLSv1.3;
|
||||||
ssl_prefer_server_ciphers off;
|
ssl_prefer_server_ciphers off;
|
||||||
|
|
||||||
ssl_ciphers "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384";
|
ssl_ciphers "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-SHA";
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ from setuptools.command.test import test as TestCommand
|
|||||||
import sys
|
import sys
|
||||||
|
|
||||||
|
|
||||||
version = '0.39.0.dev0'
|
version = '0.40.0.dev0'
|
||||||
|
|
||||||
# Remember to update local-oldest-requirements.txt when changing the minimum
|
# Remember to update local-oldest-requirements.txt when changing the minimum
|
||||||
# acme/certbot version.
|
# acme/certbot version.
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
"""Certbot client."""
|
"""Certbot client."""
|
||||||
|
|
||||||
# version number like 1.2.3a0, must have at least 2 parts, like 1.2
|
# version number like 1.2.3a0, must have at least 2 parts, like 1.2
|
||||||
__version__ = '0.39.0.dev0'
|
__version__ = '0.40.0.dev0'
|
||||||
|
|||||||
@@ -231,12 +231,7 @@ class AccountFileStorage(interfaces.AccountStorage):
|
|||||||
except IOError as error:
|
except IOError as error:
|
||||||
raise errors.AccountStorageError(error)
|
raise errors.AccountStorageError(error)
|
||||||
|
|
||||||
acc = Account(regr, key, meta)
|
return Account(regr, key, meta)
|
||||||
if acc.id != account_id:
|
|
||||||
raise errors.AccountStorageError(
|
|
||||||
"Account ids mismatch (expected: {0}, found: {1}".format(
|
|
||||||
account_id, acc.id))
|
|
||||||
return acc
|
|
||||||
|
|
||||||
def load(self, account_id):
|
def load(self, account_id):
|
||||||
return self._load_for_server_path(account_id, self.config.server_path)
|
return self._load_for_server_path(account_id, self.config.server_path)
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
"""Tests for certbot.account."""
|
"""Tests for certbot.account."""
|
||||||
import datetime
|
import datetime
|
||||||
import json
|
import json
|
||||||
import shutil
|
|
||||||
import unittest
|
import unittest
|
||||||
|
|
||||||
import josepy as jose
|
import josepy as jose
|
||||||
@@ -170,13 +169,6 @@ class AccountFileStorageTest(test_util.ConfigTestCase):
|
|||||||
def test_load_non_existent_raises_error(self):
|
def test_load_non_existent_raises_error(self):
|
||||||
self.assertRaises(errors.AccountNotFound, self.storage.load, "missing")
|
self.assertRaises(errors.AccountNotFound, self.storage.load, "missing")
|
||||||
|
|
||||||
def test_load_id_mismatch_raises_error(self):
|
|
||||||
self.storage.save(self.acc, self.mock_client)
|
|
||||||
shutil.move(os.path.join(self.config.accounts_dir, self.acc.id),
|
|
||||||
os.path.join(self.config.accounts_dir, "x" + self.acc.id))
|
|
||||||
self.assertRaises(errors.AccountStorageError, self.storage.load,
|
|
||||||
"x" + self.acc.id)
|
|
||||||
|
|
||||||
def _set_server(self, server):
|
def _set_server(self, server):
|
||||||
self.config.server = server
|
self.config.server = server
|
||||||
from certbot.account import AccountFileStorage
|
from certbot.account import AccountFileStorage
|
||||||
|
|||||||
@@ -520,13 +520,16 @@ class OsInfoTest(unittest.TestCase):
|
|||||||
|
|
||||||
with mock.patch('platform.system_alias',
|
with mock.patch('platform.system_alias',
|
||||||
return_value=('linux', '', '')):
|
return_value=('linux', '', '')):
|
||||||
with mock.patch('distro.linux_distribution',
|
with mock.patch('platform.linux_distribution',
|
||||||
return_value=('', '', '')):
|
side_effect=AttributeError,
|
||||||
self.assertEqual(get_python_os_info(), ("linux", ""))
|
create=True):
|
||||||
|
with mock.patch('distro.linux_distribution',
|
||||||
|
return_value=('', '', '')):
|
||||||
|
self.assertEqual(get_python_os_info(), ("linux", ""))
|
||||||
|
|
||||||
with mock.patch('distro.linux_distribution',
|
with mock.patch('distro.linux_distribution',
|
||||||
return_value=('testdist', '42', '')):
|
return_value=('testdist', '42', '')):
|
||||||
self.assertEqual(get_python_os_info(), ("testdist", "42"))
|
self.assertEqual(get_python_os_info(), ("testdist", "42"))
|
||||||
|
|
||||||
with mock.patch('platform.system_alias',
|
with mock.patch('platform.system_alias',
|
||||||
return_value=('freebsd', '9.3-RC3-p1', '')):
|
return_value=('freebsd', '9.3-RC3-p1', '')):
|
||||||
|
|||||||
@@ -392,7 +392,7 @@ def get_python_os_info():
|
|||||||
os_type, os_ver, _ = info
|
os_type, os_ver, _ = info
|
||||||
os_type = os_type.lower()
|
os_type = os_type.lower()
|
||||||
if os_type.startswith('linux'):
|
if os_type.startswith('linux'):
|
||||||
info = distro.linux_distribution()
|
info = _get_linux_distribution()
|
||||||
# On arch, distro.linux_distribution() is reportedly ('','',''),
|
# On arch, distro.linux_distribution() is reportedly ('','',''),
|
||||||
# so handle it defensively
|
# so handle it defensively
|
||||||
if info[0]:
|
if info[0]:
|
||||||
@@ -424,6 +424,14 @@ def get_python_os_info():
|
|||||||
os_ver = ''
|
os_ver = ''
|
||||||
return os_type, os_ver
|
return os_type, os_ver
|
||||||
|
|
||||||
|
def _get_linux_distribution():
|
||||||
|
"""Gets the linux distribution name from the underlying OS"""
|
||||||
|
|
||||||
|
try:
|
||||||
|
return platform.linux_distribution()
|
||||||
|
except AttributeError:
|
||||||
|
return distro.linux_distribution()
|
||||||
|
|
||||||
# Just make sure we don't get pwned... Make sure that it also doesn't
|
# Just make sure we don't get pwned... Make sure that it also doesn't
|
||||||
# start with a period or have two consecutive periods <- this needs to
|
# start with a period or have two consecutive periods <- this needs to
|
||||||
# be done in addition to the regex
|
# be done in addition to the regex
|
||||||
|
|||||||
@@ -113,7 +113,7 @@ optional arguments:
|
|||||||
case, and to know when to deprecate support for past
|
case, and to know when to deprecate support for past
|
||||||
Python versions and flags. If you wish to hide this
|
Python versions and flags. If you wish to hide this
|
||||||
information from the Let's Encrypt server, set this to
|
information from the Let's Encrypt server, set this to
|
||||||
"". (default: CertbotACMEClient/0.38.0
|
"". (default: CertbotACMEClient/0.39.0
|
||||||
(certbot(-auto); OS_NAME OS_VERSION) Authenticator/XXX
|
(certbot(-auto); OS_NAME OS_VERSION) Authenticator/XXX
|
||||||
Installer/YYY (SUBCOMMAND; flags: FLAGS)
|
Installer/YYY (SUBCOMMAND; flags: FLAGS)
|
||||||
Py/major.minor.patchlevel). The flags encoded in the
|
Py/major.minor.patchlevel). The flags encoded in the
|
||||||
|
|||||||
@@ -276,10 +276,8 @@ s3front_ Y Y Integration with Amazon CloudFront distribution of
|
|||||||
gandi_ Y N Obtain certificates via the Gandi LiveDNS API
|
gandi_ Y N Obtain certificates via the Gandi LiveDNS API
|
||||||
varnish_ Y N Obtain certificates via a Varnish server
|
varnish_ Y N Obtain certificates via a Varnish server
|
||||||
external_ Y N A plugin for convenient scripting (See also ticket 2782_)
|
external_ Y N A plugin for convenient scripting (See also ticket 2782_)
|
||||||
icecast_ N Y Deploy certificates to Icecast 2 streaming media servers
|
|
||||||
pritunl_ N Y Install certificates in pritunl distributed OpenVPN servers
|
pritunl_ N Y Install certificates in pritunl distributed OpenVPN servers
|
||||||
proxmox_ N Y Install certificates in Proxmox Virtualization servers
|
proxmox_ N Y Install certificates in Proxmox Virtualization servers
|
||||||
heroku_ Y Y Integration with Heroku SSL
|
|
||||||
dns-standalone_ Y N Obtain certificates via an integrated DNS server
|
dns-standalone_ Y N Obtain certificates via an integrated DNS server
|
||||||
dns-ispconfig_ Y N DNS Authentication using ISPConfig as DNS server
|
dns-ispconfig_ Y N DNS Authentication using ISPConfig as DNS server
|
||||||
================== ==== ==== ===============================================================
|
================== ==== ==== ===============================================================
|
||||||
@@ -287,13 +285,11 @@ dns-ispconfig_ Y N DNS Authentication using ISPConfig as DNS server
|
|||||||
.. _haproxy: https://github.com/greenhost/certbot-haproxy
|
.. _haproxy: https://github.com/greenhost/certbot-haproxy
|
||||||
.. _s3front: https://github.com/dlapiduz/letsencrypt-s3front
|
.. _s3front: https://github.com/dlapiduz/letsencrypt-s3front
|
||||||
.. _gandi: https://github.com/obynio/certbot-plugin-gandi
|
.. _gandi: https://github.com/obynio/certbot-plugin-gandi
|
||||||
.. _icecast: https://github.com/e00E/lets-encrypt-icecast
|
|
||||||
.. _varnish: http://git.sesse.net/?p=letsencrypt-varnish-plugin
|
.. _varnish: http://git.sesse.net/?p=letsencrypt-varnish-plugin
|
||||||
.. _2782: https://github.com/certbot/certbot/issues/2782
|
.. _2782: https://github.com/certbot/certbot/issues/2782
|
||||||
.. _pritunl: https://github.com/kharkevich/letsencrypt-pritunl
|
.. _pritunl: https://github.com/kharkevich/letsencrypt-pritunl
|
||||||
.. _proxmox: https://github.com/kharkevich/letsencrypt-proxmox
|
.. _proxmox: https://github.com/kharkevich/letsencrypt-proxmox
|
||||||
.. _external: https://github.com/marcan/letsencrypt-external
|
.. _external: https://github.com/marcan/letsencrypt-external
|
||||||
.. _heroku: https://github.com/gboudreau/certbot-heroku
|
|
||||||
.. _dns-standalone: https://github.com/siilike/certbot-dns-standalone
|
.. _dns-standalone: https://github.com/siilike/certbot-dns-standalone
|
||||||
.. _dns-ispconfig: https://github.com/m42e/certbot-dns-ispconfig
|
.. _dns-ispconfig: https://github.com/m42e/certbot-dns-ispconfig
|
||||||
|
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ if [ -z "$VENV_PATH" ]; then
|
|||||||
fi
|
fi
|
||||||
VENV_BIN="$VENV_PATH/bin"
|
VENV_BIN="$VENV_PATH/bin"
|
||||||
BOOTSTRAP_VERSION_PATH="$VENV_PATH/certbot-auto-bootstrap-version.txt"
|
BOOTSTRAP_VERSION_PATH="$VENV_PATH/certbot-auto-bootstrap-version.txt"
|
||||||
LE_AUTO_VERSION="0.38.0"
|
LE_AUTO_VERSION="0.39.0"
|
||||||
BASENAME=$(basename $0)
|
BASENAME=$(basename $0)
|
||||||
USAGE="Usage: $BASENAME [OPTIONS]
|
USAGE="Usage: $BASENAME [OPTIONS]
|
||||||
A self-updating wrapper script for the Certbot ACME client. When run, updates
|
A self-updating wrapper script for the Certbot ACME client. When run, updates
|
||||||
@@ -775,6 +775,8 @@ elif [ -f /etc/redhat-release ]; then
|
|||||||
RPM_USE_PYTHON_3=1
|
RPM_USE_PYTHON_3=1
|
||||||
elif [ "$RPM_DIST_NAME" = "rhel" -a "$RPM_DIST_VERSION" -ge 8 ]; then
|
elif [ "$RPM_DIST_NAME" = "rhel" -a "$RPM_DIST_VERSION" -ge 8 ]; then
|
||||||
RPM_USE_PYTHON_3=1
|
RPM_USE_PYTHON_3=1
|
||||||
|
elif [ "$RPM_DIST_NAME" = "centos" -a "$RPM_DIST_VERSION" -ge 8 ]; then
|
||||||
|
RPM_USE_PYTHON_3=1
|
||||||
else
|
else
|
||||||
RPM_USE_PYTHON_3=0
|
RPM_USE_PYTHON_3=0
|
||||||
fi
|
fi
|
||||||
@@ -1336,18 +1338,18 @@ letsencrypt==0.7.0 \
|
|||||||
--hash=sha256:105a5fb107e45bcd0722eb89696986dcf5f08a86a321d6aef25a0c7c63375ade \
|
--hash=sha256:105a5fb107e45bcd0722eb89696986dcf5f08a86a321d6aef25a0c7c63375ade \
|
||||||
--hash=sha256:c36e532c486a7e92155ee09da54b436a3c420813ec1c590b98f635d924720de9
|
--hash=sha256:c36e532c486a7e92155ee09da54b436a3c420813ec1c590b98f635d924720de9
|
||||||
|
|
||||||
certbot==0.38.0 \
|
certbot==0.39.0 \
|
||||||
--hash=sha256:618abf3ae17c2fc3cb99baa4bf000dd5e2d7875b7811f5ef1edf6ebd7a33945f \
|
--hash=sha256:f1a70651a6c5137a448f4a8db17b09af619f80a077326caae6b74278bf1db488 \
|
||||||
--hash=sha256:c27712101794e3adf54f3a3067c63be5caa507a930a79865bc654b6864121c6b
|
--hash=sha256:885cee1c4d05888af86b626cbbfc29d3c6c842ef4fe8f4a486994cef9daddfe0
|
||||||
acme==0.38.0 \
|
acme==0.39.0 \
|
||||||
--hash=sha256:6231571b4a94d6d621b28bef6f6d4846b3c2ebca840f9718d3212036c3bd2af8 \
|
--hash=sha256:4f8be913df289b981852042719469cc367a7e436256f232c799d0bd1521db710 \
|
||||||
--hash=sha256:1c1e9c0826a8f72d670b0ca28b7e6392ce4781eb33222f35133705b6551885d8
|
--hash=sha256:a2fcb75d16de6804f4b4d773a457ee2f6434ebaf8fd1aa60862a91d4e8f73608
|
||||||
certbot-apache==0.38.0 \
|
certbot-apache==0.39.0 \
|
||||||
--hash=sha256:0b5a2c2bcc430470b5131941ebdfde0a13e28dec38918c1a4ebea5dd35ad38bc \
|
--hash=sha256:c7a8630a85b753a52ca0b8c19e24b8f85ac4ba028292a95745e250c2e72faab9 \
|
||||||
--hash=sha256:2d335543e0ae9292303238736907ce6b321ac49eb49fe4e0b775abdc0ba57c62
|
--hash=sha256:4651a0212c9ebc3087281dad92ad3cb355bb2730f432d0180a8d23325d11825a
|
||||||
certbot-nginx==0.38.0 \
|
certbot-nginx==0.39.0 \
|
||||||
--hash=sha256:af82944e171d2e93c81438b185f8051e742c6f47f7382cb1a647b1c7ca2b53f2 \
|
--hash=sha256:76e5862ad5cc0fbc099df3502987c101c60dee1c188a579eac990edee7a910df \
|
||||||
--hash=sha256:cecd1fa3de6e19980fdb9c3b3269b15b7da71b5748ee7ae5caddcc18dbb208ac
|
--hash=sha256:ceac88df52d3b27d14c3052b9e90ada327d7e14ecd6e4af7519918182d6138b4
|
||||||
|
|
||||||
UNLIKELY_EOF
|
UNLIKELY_EOF
|
||||||
# -------------------------------------------------------------------------
|
# -------------------------------------------------------------------------
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
-----BEGIN PGP SIGNATURE-----
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
|
||||||
iQEzBAABCAAdFiEEos+1H6J1pyhiNOeyTRfJlc2XdfIFAl1uw5wACgkQTRfJlc2X
|
iQEzBAABCAAdFiEEos+1H6J1pyhiNOeyTRfJlc2XdfIFAl2TsPMACgkQTRfJlc2X
|
||||||
dfLRQggAium36If8RkfNxvNnKCpBteWx+wbPHhldn5gadRofFTyKXPaYpgtQ5e0P
|
dfJHUAf+NcnvHzowhLr1rkR11CSKMCMgwUee7Nm0QHnVPf09+Dd9mvuaRptuua1D
|
||||||
2BIOZTwpXLBR3uAS3Rxfw4ZdoMYyuhD0Cz6SjBFHYA8ChjtCBKdeToA4e2QEV9Vi
|
Qvtcb3F4OQ6/3khy3fzGXIcEe9kuI2+boe+ZA0dfmmzo4ELzpWUadXkuonYybZFE
|
||||||
42hBcacL7k3HhWQh+LZfu4D6pfr0ZZbZmkPWBjliEyN+g5Alfms3vzZ2aywcqoSv
|
JAaICgLLHOkiRL8J8ZTmXZI4tbFSsxTLMNOwoMZ6oGgp2plj2rm85L4Z+vUlfaTf
|
||||||
iXWVwBfTk3NzVktsJVDIq2uZ1CItmYr3SyF/KRDNXTt/TL7689UF7xD7vm0RmlCZ
|
wcs/glbBtbYfW3WWapMsMWwgrE62Q/OOhBjbkPCywFRQDwwaXz6QPrvi+k6gLCqs
|
||||||
e6A5Si1q7RdS+OvPjyD4oKnJgJowWpFqIajOpgLVS4Z2pY3dEhe7eY7KVK5tDKhq
|
Okvg5bY2hP70tU1i9wxp2DAfF/P/5i2hVSWktRdMolUTTTeczLW81allmmDRJcAi
|
||||||
fTC7Elp3OKjzTXv98cEMhG6Oo67jKw==
|
4xrj6wYhN7olMZrTpakXb7zRR9/MGQ==
|
||||||
=bbfh
|
=Ag2y
|
||||||
-----END PGP SIGNATURE-----
|
-----END PGP SIGNATURE-----
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ if [ -z "$VENV_PATH" ]; then
|
|||||||
fi
|
fi
|
||||||
VENV_BIN="$VENV_PATH/bin"
|
VENV_BIN="$VENV_PATH/bin"
|
||||||
BOOTSTRAP_VERSION_PATH="$VENV_PATH/certbot-auto-bootstrap-version.txt"
|
BOOTSTRAP_VERSION_PATH="$VENV_PATH/certbot-auto-bootstrap-version.txt"
|
||||||
LE_AUTO_VERSION="0.39.0.dev0"
|
LE_AUTO_VERSION="0.40.0.dev0"
|
||||||
BASENAME=$(basename $0)
|
BASENAME=$(basename $0)
|
||||||
USAGE="Usage: $BASENAME [OPTIONS]
|
USAGE="Usage: $BASENAME [OPTIONS]
|
||||||
A self-updating wrapper script for the Certbot ACME client. When run, updates
|
A self-updating wrapper script for the Certbot ACME client. When run, updates
|
||||||
@@ -775,6 +775,8 @@ elif [ -f /etc/redhat-release ]; then
|
|||||||
RPM_USE_PYTHON_3=1
|
RPM_USE_PYTHON_3=1
|
||||||
elif [ "$RPM_DIST_NAME" = "rhel" -a "$RPM_DIST_VERSION" -ge 8 ]; then
|
elif [ "$RPM_DIST_NAME" = "rhel" -a "$RPM_DIST_VERSION" -ge 8 ]; then
|
||||||
RPM_USE_PYTHON_3=1
|
RPM_USE_PYTHON_3=1
|
||||||
|
elif [ "$RPM_DIST_NAME" = "centos" -a "$RPM_DIST_VERSION" -ge 8 ]; then
|
||||||
|
RPM_USE_PYTHON_3=1
|
||||||
else
|
else
|
||||||
RPM_USE_PYTHON_3=0
|
RPM_USE_PYTHON_3=0
|
||||||
fi
|
fi
|
||||||
@@ -1336,18 +1338,18 @@ letsencrypt==0.7.0 \
|
|||||||
--hash=sha256:105a5fb107e45bcd0722eb89696986dcf5f08a86a321d6aef25a0c7c63375ade \
|
--hash=sha256:105a5fb107e45bcd0722eb89696986dcf5f08a86a321d6aef25a0c7c63375ade \
|
||||||
--hash=sha256:c36e532c486a7e92155ee09da54b436a3c420813ec1c590b98f635d924720de9
|
--hash=sha256:c36e532c486a7e92155ee09da54b436a3c420813ec1c590b98f635d924720de9
|
||||||
|
|
||||||
certbot==0.38.0 \
|
certbot==0.39.0 \
|
||||||
--hash=sha256:618abf3ae17c2fc3cb99baa4bf000dd5e2d7875b7811f5ef1edf6ebd7a33945f \
|
--hash=sha256:f1a70651a6c5137a448f4a8db17b09af619f80a077326caae6b74278bf1db488 \
|
||||||
--hash=sha256:c27712101794e3adf54f3a3067c63be5caa507a930a79865bc654b6864121c6b
|
--hash=sha256:885cee1c4d05888af86b626cbbfc29d3c6c842ef4fe8f4a486994cef9daddfe0
|
||||||
acme==0.38.0 \
|
acme==0.39.0 \
|
||||||
--hash=sha256:6231571b4a94d6d621b28bef6f6d4846b3c2ebca840f9718d3212036c3bd2af8 \
|
--hash=sha256:4f8be913df289b981852042719469cc367a7e436256f232c799d0bd1521db710 \
|
||||||
--hash=sha256:1c1e9c0826a8f72d670b0ca28b7e6392ce4781eb33222f35133705b6551885d8
|
--hash=sha256:a2fcb75d16de6804f4b4d773a457ee2f6434ebaf8fd1aa60862a91d4e8f73608
|
||||||
certbot-apache==0.38.0 \
|
certbot-apache==0.39.0 \
|
||||||
--hash=sha256:0b5a2c2bcc430470b5131941ebdfde0a13e28dec38918c1a4ebea5dd35ad38bc \
|
--hash=sha256:c7a8630a85b753a52ca0b8c19e24b8f85ac4ba028292a95745e250c2e72faab9 \
|
||||||
--hash=sha256:2d335543e0ae9292303238736907ce6b321ac49eb49fe4e0b775abdc0ba57c62
|
--hash=sha256:4651a0212c9ebc3087281dad92ad3cb355bb2730f432d0180a8d23325d11825a
|
||||||
certbot-nginx==0.38.0 \
|
certbot-nginx==0.39.0 \
|
||||||
--hash=sha256:af82944e171d2e93c81438b185f8051e742c6f47f7382cb1a647b1c7ca2b53f2 \
|
--hash=sha256:76e5862ad5cc0fbc099df3502987c101c60dee1c188a579eac990edee7a910df \
|
||||||
--hash=sha256:cecd1fa3de6e19980fdb9c3b3269b15b7da71b5748ee7ae5caddcc18dbb208ac
|
--hash=sha256:ceac88df52d3b27d14c3052b9e90ada327d7e14ecd6e4af7519918182d6138b4
|
||||||
|
|
||||||
UNLIKELY_EOF
|
UNLIKELY_EOF
|
||||||
# -------------------------------------------------------------------------
|
# -------------------------------------------------------------------------
|
||||||
|
|||||||
Binary file not shown.
@@ -350,6 +350,8 @@ elif [ -f /etc/redhat-release ]; then
|
|||||||
RPM_USE_PYTHON_3=1
|
RPM_USE_PYTHON_3=1
|
||||||
elif [ "$RPM_DIST_NAME" = "rhel" -a "$RPM_DIST_VERSION" -ge 8 ]; then
|
elif [ "$RPM_DIST_NAME" = "rhel" -a "$RPM_DIST_VERSION" -ge 8 ]; then
|
||||||
RPM_USE_PYTHON_3=1
|
RPM_USE_PYTHON_3=1
|
||||||
|
elif [ "$RPM_DIST_NAME" = "centos" -a "$RPM_DIST_VERSION" -ge 8 ]; then
|
||||||
|
RPM_USE_PYTHON_3=1
|
||||||
else
|
else
|
||||||
RPM_USE_PYTHON_3=0
|
RPM_USE_PYTHON_3=0
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
certbot==0.38.0 \
|
certbot==0.39.0 \
|
||||||
--hash=sha256:618abf3ae17c2fc3cb99baa4bf000dd5e2d7875b7811f5ef1edf6ebd7a33945f \
|
--hash=sha256:f1a70651a6c5137a448f4a8db17b09af619f80a077326caae6b74278bf1db488 \
|
||||||
--hash=sha256:c27712101794e3adf54f3a3067c63be5caa507a930a79865bc654b6864121c6b
|
--hash=sha256:885cee1c4d05888af86b626cbbfc29d3c6c842ef4fe8f4a486994cef9daddfe0
|
||||||
acme==0.38.0 \
|
acme==0.39.0 \
|
||||||
--hash=sha256:6231571b4a94d6d621b28bef6f6d4846b3c2ebca840f9718d3212036c3bd2af8 \
|
--hash=sha256:4f8be913df289b981852042719469cc367a7e436256f232c799d0bd1521db710 \
|
||||||
--hash=sha256:1c1e9c0826a8f72d670b0ca28b7e6392ce4781eb33222f35133705b6551885d8
|
--hash=sha256:a2fcb75d16de6804f4b4d773a457ee2f6434ebaf8fd1aa60862a91d4e8f73608
|
||||||
certbot-apache==0.38.0 \
|
certbot-apache==0.39.0 \
|
||||||
--hash=sha256:0b5a2c2bcc430470b5131941ebdfde0a13e28dec38918c1a4ebea5dd35ad38bc \
|
--hash=sha256:c7a8630a85b753a52ca0b8c19e24b8f85ac4ba028292a95745e250c2e72faab9 \
|
||||||
--hash=sha256:2d335543e0ae9292303238736907ce6b321ac49eb49fe4e0b775abdc0ba57c62
|
--hash=sha256:4651a0212c9ebc3087281dad92ad3cb355bb2730f432d0180a8d23325d11825a
|
||||||
certbot-nginx==0.38.0 \
|
certbot-nginx==0.39.0 \
|
||||||
--hash=sha256:af82944e171d2e93c81438b185f8051e742c6f47f7382cb1a647b1c7ca2b53f2 \
|
--hash=sha256:76e5862ad5cc0fbc099df3502987c101c60dee1c188a579eac990edee7a910df \
|
||||||
--hash=sha256:cecd1fa3de6e19980fdb9c3b3269b15b7da71b5748ee7ae5caddcc18dbb208ac
|
--hash=sha256:ceac88df52d3b27d14c3052b9e90ada327d7e14ecd6e4af7519918182d6138b4
|
||||||
|
|||||||
@@ -18,6 +18,11 @@ targets:
|
|||||||
user: ubuntu
|
user: ubuntu
|
||||||
#-----------------------------------------------------------------------------
|
#-----------------------------------------------------------------------------
|
||||||
# Debian
|
# Debian
|
||||||
|
- ami: ami-01db78123b2b99496
|
||||||
|
name: debian10
|
||||||
|
type: ubuntu
|
||||||
|
virt: hvm
|
||||||
|
user: admin
|
||||||
- ami: ami-003f19e0e687de1cd
|
- ami: ami-003f19e0e687de1cd
|
||||||
name: debian9
|
name: debian9
|
||||||
type: ubuntu
|
type: ubuntu
|
||||||
|
|||||||
@@ -84,9 +84,6 @@ parser.add_argument('--killboulder',
|
|||||||
parser.add_argument('--boulderonly',
|
parser.add_argument('--boulderonly',
|
||||||
action='store_true',
|
action='store_true',
|
||||||
help="only make a boulder server")
|
help="only make a boulder server")
|
||||||
parser.add_argument('--fast',
|
|
||||||
action='store_true',
|
|
||||||
help="use larger instance types to run faster (saves about a minute, probably not worth it)")
|
|
||||||
cl_args = parser.parse_args()
|
cl_args = parser.parse_args()
|
||||||
|
|
||||||
# Credential Variables
|
# Credential Variables
|
||||||
@@ -310,10 +307,10 @@ def create_client_instance(ec2_client, target, security_group_id, subnet_id):
|
|||||||
if 'machine_type' in target:
|
if 'machine_type' in target:
|
||||||
machine_type = target['machine_type']
|
machine_type = target['machine_type']
|
||||||
elif target['virt'] == 'hvm':
|
elif target['virt'] == 'hvm':
|
||||||
machine_type = 't2.medium' if cl_args.fast else 't2.micro'
|
machine_type = 't2.medium'
|
||||||
else:
|
else:
|
||||||
# 32 bit systems
|
# 32 bit systems
|
||||||
machine_type = 'c1.medium' if cl_args.fast else 't1.micro'
|
machine_type = 'c1.medium'
|
||||||
if 'userdata' in target.keys():
|
if 'userdata' in target.keys():
|
||||||
userdata = target['userdata']
|
userdata = target['userdata']
|
||||||
else:
|
else:
|
||||||
|
|||||||
@@ -18,6 +18,11 @@ targets:
|
|||||||
user: ubuntu
|
user: ubuntu
|
||||||
#-----------------------------------------------------------------------------
|
#-----------------------------------------------------------------------------
|
||||||
# Debian
|
# Debian
|
||||||
|
- ami: ami-01db78123b2b99496
|
||||||
|
name: debian10
|
||||||
|
type: ubuntu
|
||||||
|
virt: hvm
|
||||||
|
user: admin
|
||||||
- ami: ami-003f19e0e687de1cd
|
- ami: ami-003f19e0e687de1cd
|
||||||
name: debian9
|
name: debian9
|
||||||
type: ubuntu
|
type: ubuntu
|
||||||
|
|||||||
8
tox.ini
8
tox.ini
@@ -274,7 +274,7 @@ setenv = AWS_DEFAULT_REGION=us-east-1
|
|||||||
changedir = {[testenv:travis-test-farm-tests-base]changedir}
|
changedir = {[testenv:travis-test-farm-tests-base]changedir}
|
||||||
commands =
|
commands =
|
||||||
{[testenv:travis-test-farm-tests-base]commands}
|
{[testenv:travis-test-farm-tests-base]commands}
|
||||||
python multitester.py apache2_targets.yaml travis-test-farm.pem SET_BY_ENV scripts/test_apache2.sh --repo {env:TRAVIS_BUILD_DIR} --branch {env:TRAVIS_BRANCH} --fast
|
python multitester.py apache2_targets.yaml travis-test-farm.pem SET_BY_ENV scripts/test_apache2.sh --repo {env:TRAVIS_BUILD_DIR} --branch {env:TRAVIS_BRANCH}
|
||||||
deps = {[testenv:travis-test-farm-tests-base]deps}
|
deps = {[testenv:travis-test-farm-tests-base]deps}
|
||||||
passenv = {[testenv:travis-test-farm-tests-base]passenv}
|
passenv = {[testenv:travis-test-farm-tests-base]passenv}
|
||||||
setenv = {[testenv:travis-test-farm-tests-base]setenv}
|
setenv = {[testenv:travis-test-farm-tests-base]setenv}
|
||||||
@@ -283,7 +283,7 @@ setenv = {[testenv:travis-test-farm-tests-base]setenv}
|
|||||||
changedir = {[testenv:travis-test-farm-tests-base]changedir}
|
changedir = {[testenv:travis-test-farm-tests-base]changedir}
|
||||||
commands =
|
commands =
|
||||||
{[testenv:travis-test-farm-tests-base]commands}
|
{[testenv:travis-test-farm-tests-base]commands}
|
||||||
python multitester.py targets.yaml travis-test-farm.pem SET_BY_ENV scripts/test_leauto_upgrades.sh --repo {env:TRAVIS_BUILD_DIR} --branch {env:TRAVIS_BRANCH} --fast
|
python multitester.py targets.yaml travis-test-farm.pem SET_BY_ENV scripts/test_leauto_upgrades.sh --repo {env:TRAVIS_BUILD_DIR} --branch {env:TRAVIS_BRANCH}
|
||||||
deps = {[testenv:travis-test-farm-tests-base]deps}
|
deps = {[testenv:travis-test-farm-tests-base]deps}
|
||||||
passenv = {[testenv:travis-test-farm-tests-base]passenv}
|
passenv = {[testenv:travis-test-farm-tests-base]passenv}
|
||||||
setenv = {[testenv:travis-test-farm-tests-base]setenv}
|
setenv = {[testenv:travis-test-farm-tests-base]setenv}
|
||||||
@@ -292,7 +292,7 @@ setenv = {[testenv:travis-test-farm-tests-base]setenv}
|
|||||||
changedir = {[testenv:travis-test-farm-tests-base]changedir}
|
changedir = {[testenv:travis-test-farm-tests-base]changedir}
|
||||||
commands =
|
commands =
|
||||||
{[testenv:travis-test-farm-tests-base]commands}
|
{[testenv:travis-test-farm-tests-base]commands}
|
||||||
python multitester.py targets.yaml travis-test-farm.pem SET_BY_ENV scripts/test_letsencrypt_auto_certonly_standalone.sh --repo {env:TRAVIS_BUILD_DIR} --branch {env:TRAVIS_BRANCH} --fast
|
python multitester.py targets.yaml travis-test-farm.pem SET_BY_ENV scripts/test_letsencrypt_auto_certonly_standalone.sh --repo {env:TRAVIS_BUILD_DIR} --branch {env:TRAVIS_BRANCH}
|
||||||
deps = {[testenv:travis-test-farm-tests-base]deps}
|
deps = {[testenv:travis-test-farm-tests-base]deps}
|
||||||
passenv = {[testenv:travis-test-farm-tests-base]passenv}
|
passenv = {[testenv:travis-test-farm-tests-base]passenv}
|
||||||
setenv = {[testenv:travis-test-farm-tests-base]setenv}
|
setenv = {[testenv:travis-test-farm-tests-base]setenv}
|
||||||
@@ -301,7 +301,7 @@ setenv = {[testenv:travis-test-farm-tests-base]setenv}
|
|||||||
changedir = {[testenv:travis-test-farm-tests-base]changedir}
|
changedir = {[testenv:travis-test-farm-tests-base]changedir}
|
||||||
commands =
|
commands =
|
||||||
{[testenv:travis-test-farm-tests-base]commands}
|
{[testenv:travis-test-farm-tests-base]commands}
|
||||||
python multitester.py targets.yaml travis-test-farm.pem SET_BY_ENV scripts/test_sdists.sh --repo {env:TRAVIS_BUILD_DIR} --branch {env:TRAVIS_BRANCH} --fast
|
python multitester.py targets.yaml travis-test-farm.pem SET_BY_ENV scripts/test_sdists.sh --repo {env:TRAVIS_BUILD_DIR} --branch {env:TRAVIS_BRANCH}
|
||||||
deps = {[testenv:travis-test-farm-tests-base]deps}
|
deps = {[testenv:travis-test-farm-tests-base]deps}
|
||||||
passenv = {[testenv:travis-test-farm-tests-base]passenv}
|
passenv = {[testenv:travis-test-farm-tests-base]passenv}
|
||||||
setenv = {[testenv:travis-test-farm-tests-base]setenv}
|
setenv = {[testenv:travis-test-farm-tests-base]setenv}
|
||||||
|
|||||||
@@ -70,13 +70,39 @@ def _copy_assets(build_path, repo_path):
|
|||||||
def _generate_pynsist_config(repo_path, build_path):
|
def _generate_pynsist_config(repo_path, build_path):
|
||||||
print('Generate pynsist configuration')
|
print('Generate pynsist configuration')
|
||||||
|
|
||||||
|
pywin32_paths_file = os.path.join(build_path, 'pywin32_paths.py')
|
||||||
|
|
||||||
|
# Pywin32 uses non-standard folders to hold its packages. We need to instruct pynsist bootstrap
|
||||||
|
# explicitly to add them into sys.path. This is done with a custom "pywin32_paths.py" that is
|
||||||
|
# referred in the pynsist configuration as an "extra_preamble".
|
||||||
|
# Reference example: https://github.com/takluyver/pynsist/tree/master/examples/pywebview
|
||||||
|
with open(pywin32_paths_file, 'w') as file_h:
|
||||||
|
file_h.write('''\
|
||||||
|
pkgdir = os.path.join(os.path.dirname(installdir), 'pkgs')
|
||||||
|
|
||||||
|
sys.path.extend([
|
||||||
|
os.path.join(pkgdir, 'win32'),
|
||||||
|
os.path.join(pkgdir, 'win32', 'lib'),
|
||||||
|
])
|
||||||
|
|
||||||
|
# Preload pywintypes and pythoncom
|
||||||
|
pwt = os.path.join(pkgdir, 'pywin32_system32', 'pywintypes{0}{1}.dll')
|
||||||
|
pcom = os.path.join(pkgdir, 'pywin32_system32', 'pythoncom{0}{1}.dll')
|
||||||
|
import warnings
|
||||||
|
with warnings.catch_warnings():
|
||||||
|
warnings.simplefilter("ignore")
|
||||||
|
import imp
|
||||||
|
imp.load_dynamic('pywintypes', pwt)
|
||||||
|
imp.load_dynamic('pythoncom', pcom)
|
||||||
|
'''.format(PYTHON_VERSION[0], PYTHON_VERSION[1]))
|
||||||
|
|
||||||
installer_cfg_path = os.path.join(build_path, 'installer.cfg')
|
installer_cfg_path = os.path.join(build_path, 'installer.cfg')
|
||||||
|
|
||||||
certbot_version = subprocess.check_output([sys.executable, '-c', 'import certbot; print(certbot.__version__)'],
|
certbot_version = subprocess.check_output([sys.executable, '-c', 'import certbot; print(certbot.__version__)'],
|
||||||
universal_newlines=True, cwd=repo_path).strip()
|
universal_newlines=True, cwd=repo_path).strip()
|
||||||
|
|
||||||
with open(os.path.join(installer_cfg_path), 'w') as file_h:
|
with open(installer_cfg_path, 'w') as file_h:
|
||||||
file_h.write("""\
|
file_h.write('''\
|
||||||
[Application]
|
[Application]
|
||||||
name=Certbot
|
name=Certbot
|
||||||
version={certbot_version}
|
version={certbot_version}
|
||||||
@@ -87,7 +113,7 @@ target=$INSTDIR\\run.bat
|
|||||||
[Build]
|
[Build]
|
||||||
directory=nsis
|
directory=nsis
|
||||||
nsi_template=template.nsi
|
nsi_template=template.nsi
|
||||||
installer_name=certbot-{certbot_version}-installer-{installer_suffix}.exe
|
installer_name=certbot-installer-{installer_suffix}.exe
|
||||||
|
|
||||||
[Python]
|
[Python]
|
||||||
version={python_version}
|
version={python_version}
|
||||||
@@ -101,7 +127,8 @@ files=run.bat
|
|||||||
|
|
||||||
[Command certbot]
|
[Command certbot]
|
||||||
entry_point=certbot.main:main
|
entry_point=certbot.main:main
|
||||||
""".format(certbot_version=certbot_version,
|
extra_preamble=pywin32_paths.py
|
||||||
|
'''.format(certbot_version=certbot_version,
|
||||||
installer_suffix='win_amd64' if PYTHON_BITNESS == 64 else 'win32',
|
installer_suffix='win_amd64' if PYTHON_BITNESS == 64 else 'win32',
|
||||||
python_bitness=PYTHON_BITNESS,
|
python_bitness=PYTHON_BITNESS,
|
||||||
python_version='.'.join([str(item) for item in PYTHON_VERSION])))
|
python_version='.'.join([str(item) for item in PYTHON_VERSION])))
|
||||||
|
|||||||
Reference in New Issue
Block a user