From a6ab79a95df7da8c507241c900c9d95fdbe4b2ec Mon Sep 17 00:00:00 2001 From: Sergey Golitsynskiy Date: Mon, 6 Sep 2021 11:16:24 -0400 Subject: [PATCH] Move object_wrapper to security package For context see discussion in #12064 --- lib/galaxy/model/metadata.py | 2 +- lib/galaxy/{util => security}/object_wrapper.py | 0 lib/galaxy/tools/evaluation.py | 2 +- lib/galaxy/tools/wrappers.py | 2 +- lib/galaxy/util/dbkeys.py | 2 +- packages/util/galaxy/security | 1 + packages/util/requirements.txt | 2 ++ 7 files changed, 7 insertions(+), 4 deletions(-) rename lib/galaxy/{util => security}/object_wrapper.py (100%) create mode 120000 packages/util/galaxy/security diff --git a/lib/galaxy/model/metadata.py b/lib/galaxy/model/metadata.py index ea504a0aba8..9d448d6df36 100644 --- a/lib/galaxy/model/metadata.py +++ b/lib/galaxy/model/metadata.py @@ -18,6 +18,7 @@ from sqlalchemy.orm import object_session from sqlalchemy.orm.attributes import flag_modified import galaxy.model +from galaxy.security.object_wrapper import sanitize_lists_to_string from galaxy.util import ( form_builder, listify, @@ -26,7 +27,6 @@ from galaxy.util import ( unicodify, ) from galaxy.util.json import safe_dumps -from galaxy.util.object_wrapper import sanitize_lists_to_string log = logging.getLogger(__name__) diff --git a/lib/galaxy/util/object_wrapper.py b/lib/galaxy/security/object_wrapper.py similarity index 100% rename from lib/galaxy/util/object_wrapper.py rename to lib/galaxy/security/object_wrapper.py diff --git a/lib/galaxy/tools/evaluation.py b/lib/galaxy/tools/evaluation.py index fa231967fa9..5e2e748155c 100644 --- a/lib/galaxy/tools/evaluation.py +++ b/lib/galaxy/tools/evaluation.py @@ -8,6 +8,7 @@ from galaxy import model from galaxy.files import ProvidesUserFileSourcesUserContext from galaxy.job_execution.setup import ensure_configs_directory from galaxy.model.none_like import NoneDataset +from galaxy.security.object_wrapper import wrap_with_safe_string from galaxy.tools import global_tool_errors from galaxy.tools.parameters import ( visit_input_values, @@ -41,7 +42,6 @@ from galaxy.util import ( unicodify, ) from galaxy.util.bunch import Bunch -from galaxy.util.object_wrapper import wrap_with_safe_string from galaxy.util.template import fill_template from galaxy.work.context import WorkRequestContext diff --git a/lib/galaxy/tools/wrappers.py b/lib/galaxy/tools/wrappers.py index 5da9940b158..414c0a4ae5a 100644 --- a/lib/galaxy/tools/wrappers.py +++ b/lib/galaxy/tools/wrappers.py @@ -6,12 +6,12 @@ from functools import total_ordering from galaxy import exceptions from galaxy.model.none_like import NoneDataset +from galaxy.security.object_wrapper import wrap_with_safe_string from galaxy.tools.parameters.wrapped_json import ( data_collection_input_to_staging_path_and_source_path, data_input_to_staging_path_and_source_path, ) from galaxy.util import filesystem_safe_string -from galaxy.util.object_wrapper import wrap_with_safe_string log = logging.getLogger(__name__) diff --git a/lib/galaxy/util/dbkeys.py b/lib/galaxy/util/dbkeys.py index c29daf574c3..2a4762e8192 100644 --- a/lib/galaxy/util/dbkeys.py +++ b/lib/galaxy/util/dbkeys.py @@ -6,11 +6,11 @@ import os.path import re from json import loads +from galaxy.security.object_wrapper import sanitize_lists_to_string from galaxy.util import ( galaxy_directory, unicodify, ) -from galaxy.util.object_wrapper import sanitize_lists_to_string log = logging.getLogger(__name__) diff --git a/packages/util/galaxy/security b/packages/util/galaxy/security new file mode 120000 index 00000000000..765c8ef7770 --- /dev/null +++ b/packages/util/galaxy/security @@ -0,0 +1 @@ +../../../lib/galaxy/security/ \ No newline at end of file diff --git a/packages/util/requirements.txt b/packages/util/requirements.txt index 47b453fb12f..14ed2fb05f9 100644 --- a/packages/util/requirements.txt +++ b/packages/util/requirements.txt @@ -3,8 +3,10 @@ boltons docutils markupsafe packaging +pycryptodome pyyaml requests routes six>=1.9.0 +SQLAlchemy>=1.4.20,<2 zipstream-new