mirror of
https://github.com/ansible/awx.git
synced 2026-02-25 15:06:02 -03:30
Merge pull request #2791 from ryanpetrello/fix-iso-installs
only override django for FIPS in environments where Django is installed
Reviewed-by: Yanis Guenane
https://github.com/Spredzy
This commit is contained in:
@@ -22,39 +22,45 @@ except ImportError: # pragma: no cover
|
|||||||
|
|
||||||
|
|
||||||
import hashlib
|
import hashlib
|
||||||
import django
|
|
||||||
from django.utils.encoding import force_bytes
|
try:
|
||||||
from django.db.backends.base.schema import BaseDatabaseSchemaEditor
|
import django
|
||||||
from django.db.backends.base import schema
|
from django.utils.encoding import force_bytes
|
||||||
|
from django.db.backends.base.schema import BaseDatabaseSchemaEditor
|
||||||
|
from django.db.backends.base import schema
|
||||||
|
HAS_DJANGO = True
|
||||||
|
except ImportError:
|
||||||
|
HAS_DJANGO = False
|
||||||
|
|
||||||
|
|
||||||
# This line exists to make sure we don't regress on FIPS support if we
|
if HAS_DJANGO is True:
|
||||||
# upgrade Django; if you're upgrading Django and see this error,
|
# This line exists to make sure we don't regress on FIPS support if we
|
||||||
# update the version check below, and confirm that FIPS still works.
|
# upgrade Django; if you're upgrading Django and see this error,
|
||||||
if django.__version__ != '1.11.16':
|
# update the version check below, and confirm that FIPS still works.
|
||||||
raise RuntimeError("Django version other than 1.11.16 detected {}. \
|
if django.__version__ != '1.11.16':
|
||||||
Subclassing BaseDatabaseSchemaEditor is known to work for Django 1.11.16 \
|
raise RuntimeError("Django version other than 1.11.16 detected {}. \
|
||||||
and may not work in newer Django versions.".format(django.__version__))
|
Subclassing BaseDatabaseSchemaEditor is known to work for Django 1.11.16 \
|
||||||
|
and may not work in newer Django versions.".format(django.__version__))
|
||||||
|
|
||||||
|
|
||||||
class FipsBaseDatabaseSchemaEditor(BaseDatabaseSchemaEditor):
|
class FipsBaseDatabaseSchemaEditor(BaseDatabaseSchemaEditor):
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _digest(cls, *args):
|
def _digest(cls, *args):
|
||||||
"""
|
"""
|
||||||
Generates a 32-bit digest of a set of arguments that can be used to
|
Generates a 32-bit digest of a set of arguments that can be used to
|
||||||
shorten identifying names.
|
shorten identifying names.
|
||||||
"""
|
"""
|
||||||
try:
|
try:
|
||||||
h = hashlib.md5()
|
h = hashlib.md5()
|
||||||
except ValueError:
|
except ValueError:
|
||||||
h = hashlib.md5(usedforsecurity=False)
|
h = hashlib.md5(usedforsecurity=False)
|
||||||
for arg in args:
|
for arg in args:
|
||||||
h.update(force_bytes(arg))
|
h.update(force_bytes(arg))
|
||||||
return h.hexdigest()[:8]
|
return h.hexdigest()[:8]
|
||||||
|
|
||||||
|
|
||||||
schema.BaseDatabaseSchemaEditor = FipsBaseDatabaseSchemaEditor
|
schema.BaseDatabaseSchemaEditor = FipsBaseDatabaseSchemaEditor
|
||||||
|
|
||||||
|
|
||||||
def find_commands(management_dir):
|
def find_commands(management_dir):
|
||||||
|
|||||||
Reference in New Issue
Block a user