Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 6 additions & 7 deletions SECURITY.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,17 +10,16 @@ If you believe you have found a new security vulnerability in this repository, p

* If you prefer to email, please send your report to `infosec@exasol.com`.

## Guidelines
## Guidelines

* When reporting a vulnerability, please include as much information as possible, including the complete steps to reproduce the issue.
* When reporting a vulnerability, please include as much information as possible, including the complete steps to reproduce the issue.

* Avoid sending us executables.

* Feel free to include any script you wrote and used but avoid sending us scripts that download and run binaries.
* Feel free to include any script you wrote and used but avoid sending us scripts that download and run binaries.

* We will prioritise reports that show how the exploits work in realistic environments.
* We will prioritise reports that show how the exploits work in realistic environments.

* We prefer all communications to be in English.

* We do not offer financial rewards. We are happy to acknowledge your research publicly when possible.
* We prefer all communications to be in English.

* We do not offer financial rewards. We are happy to acknowledge your research publicly when possible.
2 changes: 1 addition & 1 deletion doc/changes/changes_0.11.0.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,4 +11,4 @@ Besides, the release updates the Python dependencies.
## Features

- #107: Add parameter to disable printing the alter session/system info
- #109: Added flag which allows to select compression strategy of SLC during export
- #109: Added flag which allows to select compression strategy of SLC during export
2 changes: 1 addition & 1 deletion doc/changes/changes_0.13.1.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

## Summary

We updated the dependencies in the `poetry.lock` file in this repository to fix the following security vulnerabilities:
We updated the dependencies in the `poetry.lock` file in this repository to fix the following security vulnerabilities:

| Name | Version | ID | Fix Versions |
|--------------|---------|---------------------|--------------|
Expand Down
2 changes: 1 addition & 1 deletion doc/changes/changes_0.3.1.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,4 @@

* Fixed vulnerabilities by updating dependencies
* Vulnerability CVE-2024-21503 in transitive dependency via `exasol-toolbox` to `black` in versions below `24.3.0`
* Vulnerability CVE-2024-35195 in dependency `requests` in versions below `2.32.0` caused by requests `Session` object not verifying requests after making first request with `verify=False`
* Vulnerability CVE-2024-35195 in dependency `requests` in versions below `2.32.0` caused by requests `Session` object not verifying requests after making first request with `verify=False`
8 changes: 8 additions & 0 deletions doc/changes/unreleased.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,11 @@
# Unreleased

## Summary

## Refactoring

* #141: Updated Docker base image version to SLC 11.1.1

## Dependency Updates

* Updated dependency `exasol-saas-api' to `2.10.0`
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM exasol/script-language-container:template-Exasol-all-python-3.10-release_BFRSH344TDRPT7LK2FBOJK4KBIDW6A253FFPYEUYT4O2ERFMTCNA
FROM exasol/script-language-container:template-Exasol-all-python-3.10-release_x64_BFOJFIJ2Y42PBIZHWXVEQBBVPAEVHZETG4Z45VAMFWFSXORH3FVA

Run mkdir /project
COPY dependencies/requirements.txt /project/requirements.txt
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -231,10 +231,10 @@ def run(
message = dedent(f"""
In SQL, you can activate the SLC
by using the following statements:

To activate the SLC only for the current session:
{self.generate_activation_command(bucket_file_path, LanguageActivationLevel.Session, True)}

To activate the SLC on the system:
{self.generate_activation_command(bucket_file_path, LanguageActivationLevel.System, True)}
""")
Expand Down Expand Up @@ -342,7 +342,7 @@ def _generate_new_language_settings(
new_language_alias_definition = (
f"{self._language_alias}=localzmq+protobuf:///"
f"{path_in_udf_without_buckets}?lang=python#"
f"{path_in_udf}/exaudf/exaudfclient_py3"
f"{path_in_udf}/exaudf/exaudfclient"
)
new_definitions = other_definitions + [new_language_alias_definition]
new_definitions_str = " ".join(new_definitions)
Expand Down
1,385 changes: 686 additions & 699 deletions poetry.lock

Large diffs are not rendered by default.

6 changes: 3 additions & 3 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[project]
name = "exasol-python-extension-common"
version = "0.13.1"
requires-python = ">=3.10,<4.0"
requires-python = ">=3.10,<3.14"
Comment thread
kratz00 marked this conversation as resolved.
description = "A collection of common utilities for Exasol extensions."
authors = [
{name="Mikhail Beck", email="mikhail.beck@exasol.com"},
Expand All @@ -18,10 +18,10 @@ packages = [ {include = "exasol"}, ]
pyexasol = ">=0.25.0, <3"
exasol-bucketfs = ">=0.10.0, <3"
click = "^8.1.7"
exasol-saas-api = ">=1.1.0, <3"
exasol-saas-api = ">=2.10.0, <3"
requests = ">=2.33.0"
tenacity = "^8.3.0"
exasol-script-languages-container-tool = ">=3, <4"
exasol-script-languages-container-tool = ">=3, <5"

[tool.poetry.group.dev.dependencies]
pytest = "^7.2.0"
Expand Down
9 changes: 7 additions & 2 deletions test/integration/conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,15 +28,20 @@
slc_parameter_formatters,
)

VERSION = "8.3.0"
VERSION = "11.1.1"

TEST_SCHEMA = "PEC_DEPLOYER_TESTS"
TEST_LANGUAGE_ALIAS = "PYTHON3_PEC_TESTS"


@pytest.fixture(scope="session")
def container_name() -> str:
return "template-Exasol-all-python-3.10_release.tar.gz"
# Warning:
# The container name is currently hardcoded to a specific version and build
# of the container, which may need to be updated manually when new versions
# are released. Consider implementing a more dynamic approach to determine
# the container name based on the version or other parameters.
return "template-Exasol-all-python-3.10-release-x64-BFOJFIJ2Y42PBIZHWXVEQBBVPAEVHZETG4Z45VAMFWFSXORH3FVA.tar.gz"


@pytest.fixture(scope="session")
Expand Down
10 changes: 5 additions & 5 deletions test/unit/deployment/test_language_container_deployer.py
Original file line number Diff line number Diff line change
Expand Up @@ -148,7 +148,7 @@ def test_slc_deployer_generate_activation_command(
f"ALTER {alter_type.value.upper()} SET SCRIPT_LANGUAGES='"
"R=builtin_r JAVA=builtin_java PYTHON3=builtin_python3 "
f"{language_alias}=localzmq+protobuf:///{container_bfs_path}?"
f"lang=python#/buckets/{container_bfs_path}/exaudf/exaudfclient_py3';"
f"lang=python#/buckets/{container_bfs_path}/exaudf/exaudfclient';"
)

command = container_deployer.generate_activation_command(container_file_name, alter_type)
Expand All @@ -171,7 +171,7 @@ def test_slc_deployer_generate_activation_command_override(
mock_lang_settings.return_value = (
"R=builtin_r JAVA=builtin_java PYTHON3=builtin_python3 "
f"{language_alias}=localzmq+protobuf:///{current_bfs_path}?"
f"lang=python#/buckets/{current_bfs_path}/exaudf/exaudfclient_py3"
f"lang=python#/buckets/{current_bfs_path}/exaudf/exaudfclient"
)
mock_udf_path.return_value = PurePosixPath(f"/buckets/{container_bfs_path}")

Expand All @@ -180,7 +180,7 @@ def test_slc_deployer_generate_activation_command_override(
f"ALTER {alter_type.value.upper()} SET SCRIPT_LANGUAGES='"
"R=builtin_r JAVA=builtin_java PYTHON3=builtin_python3 "
f"{language_alias}=localzmq+protobuf:///{container_bfs_path}?"
f"lang=python#/buckets/{container_bfs_path}/exaudf/exaudfclient_py3';"
f"lang=python#/buckets/{container_bfs_path}/exaudf/exaudfclient';"
)

command = container_deployer.generate_activation_command(
Expand All @@ -205,7 +205,7 @@ def test_slc_deployer_generate_activation_command_failure(
mock_lang_settings.return_value = (
"R=builtin_r JAVA=builtin_java PYTHON3=builtin_python3 "
f"{language_alias}=localzmq+protobuf:///{current_bfs_path}?"
f"lang=python#/buckets/{current_bfs_path}/exaudf/exaudfclient_py3"
f"lang=python#/buckets/{current_bfs_path}/exaudf/exaudfclient"
)
mock_udf_path.return_value = PurePosixPath(f"/buckets/{container_bfs_path}")

Expand All @@ -222,7 +222,7 @@ def test_slc_deployer_get_language_definition(
mock_udf_path.return_value = PurePosixPath(f"/buckets/{container_bfs_path}")
expected_command = (
f"{language_alias}=localzmq+protobuf:///{container_bfs_path}?"
f"lang=python#/buckets/{container_bfs_path}/exaudf/exaudfclient_py3"
f"lang=python#/buckets/{container_bfs_path}/exaudf/exaudfclient"
)

command = container_deployer.get_language_definition(container_file_name)
Expand Down