Skip to content

Commit 54a48e3

Browse files
Feature/http ssl verify configuration (#4547)
* add test for http ssl_verify configuration * add ssl_verify flag to HTTPTree
1 parent 1ca2dc1 commit 54a48e3

File tree

3 files changed

+27
-0
lines changed

3 files changed

+27
-0
lines changed

dvc/config.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,7 @@ class RelPath(str):
118118
"user": str,
119119
"password": str,
120120
"ask_password": Bool,
121+
"ssl_verify": Bool,
121122
}
122123
WEBDAV_COMMON = {
123124
"user": str,

dvc/tree/http.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ def __init__(self, repo, config):
5353
self.password = config.get("password", None)
5454
self.ask_password = config.get("ask_password", False)
5555
self.headers = {}
56+
self.ssl_verify = config.get("ssl_verify", True)
5657

5758
def _auth_method(self, path_info=None):
5859
from requests.auth import HTTPBasicAuth, HTTPDigestAuth
@@ -81,6 +82,8 @@ def _session(self):
8182

8283
session = requests.Session()
8384

85+
session.verify = self.ssl_verify
86+
8487
retries = Retry(
8588
total=self.SESSION_RETRIES,
8689
backoff_factor=self.SESSION_BACKOFF_FACTOR,

tests/unit/remote/test_http.py

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,3 +80,26 @@ def test_custom_auth_method(dvc):
8080
assert tree._auth_method() is None
8181
assert header in tree.headers
8282
assert tree.headers[header] == password
83+
84+
85+
def test_ssl_verify_is_enabled_by_default(dvc):
86+
config = {
87+
"url": "http://example.com/",
88+
"path_info": "file.html",
89+
}
90+
91+
tree = HTTPTree(dvc, config)
92+
93+
assert tree._session.verify is True
94+
95+
96+
def test_ssl_verify_disable(dvc):
97+
config = {
98+
"url": "http://example.com/",
99+
"path_info": "file.html",
100+
"ssl_verify": False,
101+
}
102+
103+
tree = HTTPTree(dvc, config)
104+
105+
assert tree._session.verify is False

0 commit comments

Comments
 (0)