mirror of
https://salsa.debian.org/freeipa-team/freeipa.git
synced 2025-02-25 18:55:28 -06:00
Explicitly remove support of SSLv2/3
It was possible to set tls_version_min/max to 'ssl2' or 'ssl3', even though newer versions of NSS will fail to set this as a valid TLS version. This patch explicitly checks for deprecated TLS versions prior to creating a TLS connection. Also, we don't allow tls_version_min/max to be set to a random string anymore. https://fedorahosted.org/freeipa/ticket/6607 Reviewed-By: Jan Cholasta <jcholast@redhat.com> Reviewed-By: Tomas Krizek <tkrizek@redhat.com>
This commit is contained in:
committed by
Martin Basti
parent
d0642bfa55
commit
ac6f573a30
@@ -41,8 +41,11 @@ from six.moves.configparser import RawConfigParser, ParsingError
|
||||
|
||||
from ipapython.dn import DN
|
||||
from ipalib.base import check_name
|
||||
from ipalib.constants import CONFIG_SECTION
|
||||
from ipalib.constants import OVERRIDE_ERROR, SET_ERROR, DEL_ERROR
|
||||
from ipalib.constants import (
|
||||
CONFIG_SECTION,
|
||||
OVERRIDE_ERROR, SET_ERROR, DEL_ERROR,
|
||||
TLS_VERSIONS
|
||||
)
|
||||
from ipalib import errors
|
||||
|
||||
if six.PY3:
|
||||
@@ -578,6 +581,26 @@ class Env(object):
|
||||
|
||||
self._merge(**defaults)
|
||||
|
||||
# set the best known TLS version if min/max versions are not set
|
||||
if 'tls_version_min' not in self:
|
||||
self.tls_version_min = TLS_VERSIONS[-1]
|
||||
elif self.tls_version_min not in TLS_VERSIONS:
|
||||
raise errors.EnvironmentError(
|
||||
"Unknown TLS version '{ver}' set in tls_version_min."
|
||||
.format(ver=self.tls_version_min))
|
||||
|
||||
if 'tls_version_max' not in self:
|
||||
self.tls_version_max = TLS_VERSIONS[-1]
|
||||
elif self.tls_version_max not in TLS_VERSIONS:
|
||||
raise errors.EnvironmentError(
|
||||
"Unknown TLS version '{ver}' set in tls_version_max."
|
||||
.format(ver=self.tls_version_max))
|
||||
|
||||
if self.tls_version_max < self.tls_version_min:
|
||||
raise errors.EnvironmentError(
|
||||
"tls_version_min is set to a higher TLS version than "
|
||||
"tls_version_max.")
|
||||
|
||||
def _finalize(self, **lastchance):
|
||||
"""
|
||||
Finalize and lock environment.
|
||||
|
||||
Reference in New Issue
Block a user