From 439b36581797ec747e6c4964cfe08990a683a1da Mon Sep 17 00:00:00 2001 From: Pedro Algarvio Date: Sat, 8 Jul 2023 09:37:43 +0100 Subject: [PATCH 01/14] Allow randomizing the GH Actions cache seed value by setting the `test:random-cache-seed` label This allows us to force a PR to not use any caches at all(since they are all getting build from scratch again) to debug potential GH Actions caching issues. Signed-off-by: Pedro Algarvio --- .github/workflows/ci.yml | 10 +-- .github/workflows/nightly.yml | 10 +-- .github/workflows/scheduled.yml | 10 +-- .github/workflows/staging.yml | 10 +-- .github/workflows/templates/layout.yml.jinja | 10 +-- tools/ci.py | 69 ++++++++++++++++++++ 6 files changed, 94 insertions(+), 25 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7fcf1a49409..a49625ba1f1 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -140,6 +140,11 @@ jobs: run: tools ci print-gh-event + - name: Set Cache Seed Output + id: set-cache-seed + run: | + tools ci define-cache-seed ${{ env.CACHE_SEED }} + - name: Setup Salt Version id: setup-salt-version uses: ./.github/actions/setup-salt-version @@ -232,11 +237,6 @@ jobs: with: name: testrun-changed-files.txt path: testrun-changed-files.txt - - - name: Set Cache Seed Output - id: set-cache-seed - run: | - echo "cache-seed=${{ env.CACHE_SEED }}" >> "$GITHUB_OUTPUT" pre-commit: name: Pre-Commit if: ${{ fromJSON(needs.prepare-workflow.outputs.runners)['github-hosted'] }} diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index 0760d097246..0ba1a998f5d 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -186,6 +186,11 @@ jobs: run: tools ci print-gh-event + - name: Set Cache Seed Output + id: set-cache-seed + run: | + tools ci define-cache-seed ${{ env.CACHE_SEED }} + - name: Setup Salt Version id: setup-salt-version uses: ./.github/actions/setup-salt-version @@ -278,11 +283,6 @@ jobs: with: name: testrun-changed-files.txt path: testrun-changed-files.txt - - - name: Set Cache Seed Output - id: set-cache-seed - run: | - echo "cache-seed=${{ env.CACHE_SEED }}" >> "$GITHUB_OUTPUT" pre-commit: name: Pre-Commit if: ${{ fromJSON(needs.prepare-workflow.outputs.runners)['github-hosted'] }} diff --git a/.github/workflows/scheduled.yml b/.github/workflows/scheduled.yml index 2703a6421ad..9bd70b42e00 100644 --- a/.github/workflows/scheduled.yml +++ b/.github/workflows/scheduled.yml @@ -176,6 +176,11 @@ jobs: run: tools ci print-gh-event + - name: Set Cache Seed Output + id: set-cache-seed + run: | + tools ci define-cache-seed ${{ env.CACHE_SEED }} + - name: Setup Salt Version id: setup-salt-version uses: ./.github/actions/setup-salt-version @@ -268,11 +273,6 @@ jobs: with: name: testrun-changed-files.txt path: testrun-changed-files.txt - - - name: Set Cache Seed Output - id: set-cache-seed - run: | - echo "cache-seed=${{ env.CACHE_SEED }}" >> "$GITHUB_OUTPUT" pre-commit: name: Pre-Commit if: ${{ fromJSON(needs.prepare-workflow.outputs.runners)['github-hosted'] }} diff --git a/.github/workflows/staging.yml b/.github/workflows/staging.yml index e0dd006dd17..cbcbd42e9c0 100644 --- a/.github/workflows/staging.yml +++ b/.github/workflows/staging.yml @@ -166,6 +166,11 @@ jobs: run: tools ci print-gh-event + - name: Set Cache Seed Output + id: set-cache-seed + run: | + tools ci define-cache-seed ${{ env.CACHE_SEED }} + - name: Setup Salt Version id: setup-salt-version uses: ./.github/actions/setup-salt-version @@ -264,11 +269,6 @@ jobs: with: name: testrun-changed-files.txt path: testrun-changed-files.txt - - - name: Set Cache Seed Output - id: set-cache-seed - run: | - echo "cache-seed=${{ env.CACHE_SEED }}" >> "$GITHUB_OUTPUT" pre-commit: name: Pre-Commit if: ${{ fromJSON(needs.prepare-workflow.outputs.runners)['github-hosted'] }} diff --git a/.github/workflows/templates/layout.yml.jinja b/.github/workflows/templates/layout.yml.jinja index f33531c32d4..839c1b4b5d5 100644 --- a/.github/workflows/templates/layout.yml.jinja +++ b/.github/workflows/templates/layout.yml.jinja @@ -185,6 +185,11 @@ jobs: run: tools ci print-gh-event + - name: Set Cache Seed Output + id: set-cache-seed + run: | + tools ci define-cache-seed ${{ env.CACHE_SEED }} + - name: Setup Salt Version id: setup-salt-version uses: ./.github/actions/setup-salt-version @@ -289,11 +294,6 @@ jobs: with: name: testrun-changed-files.txt path: testrun-changed-files.txt - - - name: Set Cache Seed Output - id: set-cache-seed - run: | - echo "cache-seed=${{ env.CACHE_SEED }}" >> "$GITHUB_OUTPUT" <%- endblock prepare_workflow_job %> <%- endif %> diff --git a/tools/ci.py b/tools/ci.py index 78e65ad84c3..08264bb4e50 100644 --- a/tools/ci.py +++ b/tools/ci.py @@ -8,6 +8,7 @@ import json import logging import os import pathlib +import random import sys import time from typing import TYPE_CHECKING, Any @@ -954,3 +955,71 @@ def get_testing_releases( wfh.write(f"testing-releases={json.dumps(str_releases)}\n") ctx.exit(0) + + +@ci.command( + name="define-cache-seed", + arguments={ + "static_cache_seed": { + "help": "The static cache seed value", + }, + "randomize": { + "help": "Randomize the cache seed value", + }, + }, +) +def define_cache_seed(ctx: Context, static_cache_seed: str, randomize: bool = False): + """ + Set `cache-seed` in GH Actions outputs. + """ + github_output = os.environ.get("GITHUB_OUTPUT") + if github_output is None: + ctx.warn("The 'GITHUB_OUTPUT' variable is not set.") + ctx.exit(1) + + if TYPE_CHECKING: + assert github_output is not None + + github_step_summary = os.environ.get("GITHUB_STEP_SUMMARY") + if github_step_summary is None: + ctx.warn("The 'GITHUB_STEP_SUMMARY' variable is not set.") + ctx.exit(1) + + if TYPE_CHECKING: + assert github_step_summary is not None + + labels: list[str] = [] + gh_event_path = os.environ.get("GITHUB_EVENT_PATH") or None + if gh_event_path is not None: + try: + gh_event = json.loads(open(gh_event_path).read()) + except Exception as exc: + ctx.error( + f"Could not load the GH Event payload from {gh_event_path!r}:\n", exc + ) + ctx.exit(1) + + labels.extend( + label[0] for label in _get_pr_test_labels_from_event_payload(gh_event) + ) + + if randomize is True: + cache_seed = f"SEED-{random.randint(100, 1000)}" + with open(github_step_summary, "a", encoding="utf-8") as wfh: + wfh.write( + f"The cache seed has been randomized to `{cache_seed}` because " + "`--randomize` was passed to `tools ci define-cache-seed`." + ) + elif "test:random-cache-seed" in labels: + cache_seed = f"SEED-{random.randint(100, 1000)}" + with open(github_step_summary, "a", encoding="utf-8") as wfh: + wfh.write( + f"The cache seed has been randomized to `{cache_seed}` because " + "the label `test:random-cache-seed` was set." + ) + else: + cache_seed = static_cache_seed + + ctx.info("Writing 'cache-seed' to the github outputs file") + with open(github_output, "a", encoding="utf-8") as wfh: + wfh.write(f"cache-seed={cache_seed}\n") From 89b6c7862953452470a81f06e103b479c6e51656 Mon Sep 17 00:00:00 2001 From: David Murphy < dmurphy@saltstack.com> Date: Wed, 14 Jun 2023 13:14:10 -0600 Subject: [PATCH 02/14] WIP - holding changes still debugging --- salt/auth/__init__.py | 110 ++++++++++++++++++++++++++++++++++++------ 1 file changed, 95 insertions(+), 15 deletions(-) diff --git a/salt/auth/__init__.py b/salt/auth/__init__.py index b87e2aff0df..745263aabca 100644 --- a/salt/auth/__init__.py +++ b/salt/auth/__init__.py @@ -322,37 +322,89 @@ class LoadAuth: If the effective user id is the same as the passed one, return True on success or False on failure. """ + log.warning(f"DGM auth authenticate_key load '{load}', key '{key}'") error_msg = 'Authentication failure of type "user" occurred.' + auth_key = load.pop("key", None) if auth_key is None: + log.warning( + f"DGM auth authenticate_key auth_key is none, error_msg '{error_msg}'" + ) log.warning(error_msg) return False if "user" in load: auth_user = AuthUser(load["user"]) + log.warning(f"DGM auth auth_user '{auth_user}', load '{load}'") if auth_user.is_sudo(): # If someone sudos check to make sure there is no ACL's around their username - if auth_key != key[self.opts.get("user", "root")]: - log.warning(error_msg) - return False - return auth_user.sudo_name() + dgm_user = self.opts.get("user", "root") + + ## dgm_opts_key = key[self.opts.get("user", "root")] + ## log.warning(f"DGM auth auth_key, user in load, dgm_user '{dgm_user}', '{auth_key}', dgm_opts_key '{dgm_opts_key}', opts '{self.opts}'") + ## if auth_key != key[self.opts.get("user", "root")]: + ## log.warning(f"DGM auth error error_msg '{error_msg}'") + ## log.warning(error_msg) + ## return False + ## return auth_user.sudo_name() + + for check_key in key: + dgm_user = self.opts.get("user", "root") + dgm_check_key = key[check_key] + log.warning( + f"DGM auth auth_key, user in load is_sudo, dgm_user '{dgm_user}', '{auth_key}', check_key '{check_key}', dgm_check_key '{dgm_check_key}'" + ) + if auth_key == key[check_key]: + log.warning( + f"DGM auth user successful auth_user.sudo_name '{auth_user.sudo_name()}'" + ) + return auth_user.sudo_name() + + log.warning(f"DGM auth error error_msg '{error_msg}'") + log.warning(error_msg) + return False elif ( load["user"] == self.opts.get("user", "root") or load["user"] == "root" ): - if auth_key != key[self.opts.get("user", "root")]: + ## if auth_key != key[self.opts.get("user", "root")]: + ## log.warning( + ## "Master runs as %r, but user in payload is %r", + ## self.opts.get("user", "root"), + ## load["user"], + ## ) + ## log.warning(error_msg) + ## return False + + for check_key in key: + dgm_user = self.opts.get("user", "root") + dgm_check_key = key[check_key] + if auth_key == key[check_key]: + log.warning( + f"DGM auth user successful, auth_key matches check_key dgm_user '{dgm_user}', auth_key '{auth_key}', check_key '{check_key}', dgm_check_key '{dgm_check_key}', key[dgm_user] '{key[dgm_user]}'" + ) + return True + log.warning( + "Master runs as %r, but user in payload is %r", + self.opts.get("user", "root"), + load["user"], + ) + log.warning(error_msg) + return False + + elif auth_user.is_running_user(): + if auth_key != key.get(load["user"]): + load_user = load["user"] log.warning( - "Master runs as %r, but user in payload is %r", - self.opts.get("user", "root"), - load["user"], + f"DGM auth user unsuccessful, auth_user is running useri and not present, load_user '{load_user}', auth_key '{auth_key}', key '{key}' " ) log.warning(error_msg) return False - elif auth_user.is_running_user(): - if auth_key != key.get(load["user"]): - log.warning(error_msg) - return False elif auth_key == key.get("root"): pass + # DGM TBD should we allow for salt ? here, sounds too breakable + # but there is nologin for salt, so maybe fine + elif auth_key == key.get("salt"): + pass else: if load["user"] in key: # User is authorised, check key and check perms @@ -364,9 +416,31 @@ class LoadAuth: log.warning(error_msg) return False else: - if auth_key != key[salt.utils.user.get_user()]: - log.warning(error_msg) - return False + ## dgm_user = salt.utils.user.get_user() + ## dgm_key = key[salt.utils.user.get_user()] + ## log.warning(f"DGM authenticate_key, user '{dgm_user}', user key '{dgm_user_key}', auth_key '{auth_key}'") + ## if auth_key != key[salt.utils.user.get_user()]: + ## log.warning(f"DGM authenticate_key, user '{dgm_user}', user key '{dgm_user_key}', auth_key '{auth_key}', keys not equal '{error_msg}'") + ## log.warning(error_msg) + ## return False + for check_key in key: + dgm_user = salt.utils.user.get_user() + dgm_check_key = key[check_key] + log.warning( + f"DGM authenticate_key, user '{dgm_user}', check_key '{check_key}', dgm_check_key '{dgm_check_key}', auth_key '{auth_key}'" + ) + if auth_key == key[check_key]: + log.warning( + f"DGM authenticate_key, user '{dgm_user}', check_key '{check_key}', dgm_check_key '{dgm_check_key}', auth_key '{auth_key}', keys equal" + ) + return True + + log.warning( + f"DGM authenticate_key, user '{dgm_user}', auth_key '{auth_key}', keys not equal '{error_msg}', key '{key}'" + ) + log.warning(error_msg) + return False + return True def get_auth_list(self, load, token=None): @@ -430,10 +504,15 @@ class LoadAuth: If an error is encountered, return immediately with the relevant error dictionary as authentication has failed. Otherwise, return the username and valid auth_list. """ + log.warning( + f"DGM check_authentication auth_type '{auth_type}', key '{key}', load '{load}'" + ) auth_list = [] username = load.get("username", "UNKNOWN") ret = {"auth_list": auth_list, "username": username, "error": {}} + log.warning(f"DGM check_authentication initial ret '{ret}'") + # Authenticate if auth_type == "token": token = self.authenticate_token(load) @@ -449,6 +528,7 @@ class LoadAuth: ret["username"] = username auth_list = self.get_auth_list(load, token=token) elif auth_type == "eauth": + # DGM TBD needs to check how eauth handles the load and multiple users and their keys if not self.authenticate_eauth(load): ret["error"] = { "name": "EauthAuthenticationError", From 9b11da3ee7846cd37d397bb964a6bade793fb367 Mon Sep 17 00:00:00 2001 From: David Murphy < dmurphy@saltstack.com> Date: Thu, 15 Jun 2023 10:50:33 -0600 Subject: [PATCH 03/14] Allow for multiple user's keys presented, root, salt, etc. --- salt/auth/__init__.py | 69 +------------------------------------------ 1 file changed, 1 insertion(+), 68 deletions(-) diff --git a/salt/auth/__init__.py b/salt/auth/__init__.py index 745263aabca..a13fc469b91 100644 --- a/salt/auth/__init__.py +++ b/salt/auth/__init__.py @@ -322,66 +322,27 @@ class LoadAuth: If the effective user id is the same as the passed one, return True on success or False on failure. """ - log.warning(f"DGM auth authenticate_key load '{load}', key '{key}'") error_msg = 'Authentication failure of type "user" occurred.' auth_key = load.pop("key", None) if auth_key is None: - log.warning( - f"DGM auth authenticate_key auth_key is none, error_msg '{error_msg}'" - ) log.warning(error_msg) return False if "user" in load: auth_user = AuthUser(load["user"]) - log.warning(f"DGM auth auth_user '{auth_user}', load '{load}'") if auth_user.is_sudo(): - # If someone sudos check to make sure there is no ACL's around their username - dgm_user = self.opts.get("user", "root") - - ## dgm_opts_key = key[self.opts.get("user", "root")] - ## log.warning(f"DGM auth auth_key, user in load, dgm_user '{dgm_user}', '{auth_key}', dgm_opts_key '{dgm_opts_key}', opts '{self.opts}'") - ## if auth_key != key[self.opts.get("user", "root")]: - ## log.warning(f"DGM auth error error_msg '{error_msg}'") - ## log.warning(error_msg) - ## return False - ## return auth_user.sudo_name() - for check_key in key: - dgm_user = self.opts.get("user", "root") - dgm_check_key = key[check_key] - log.warning( - f"DGM auth auth_key, user in load is_sudo, dgm_user '{dgm_user}', '{auth_key}', check_key '{check_key}', dgm_check_key '{dgm_check_key}'" - ) if auth_key == key[check_key]: - log.warning( - f"DGM auth user successful auth_user.sudo_name '{auth_user.sudo_name()}'" - ) return auth_user.sudo_name() - - log.warning(f"DGM auth error error_msg '{error_msg}'") - log.warning(error_msg) return False elif ( load["user"] == self.opts.get("user", "root") or load["user"] == "root" ): - ## if auth_key != key[self.opts.get("user", "root")]: - ## log.warning( - ## "Master runs as %r, but user in payload is %r", - ## self.opts.get("user", "root"), - ## load["user"], - ## ) - ## log.warning(error_msg) - ## return False - for check_key in key: dgm_user = self.opts.get("user", "root") dgm_check_key = key[check_key] if auth_key == key[check_key]: - log.warning( - f"DGM auth user successful, auth_key matches check_key dgm_user '{dgm_user}', auth_key '{auth_key}', check_key '{check_key}', dgm_check_key '{dgm_check_key}', key[dgm_user] '{key[dgm_user]}'" - ) return True log.warning( "Master runs as %r, but user in payload is %r", @@ -394,16 +355,12 @@ class LoadAuth: elif auth_user.is_running_user(): if auth_key != key.get(load["user"]): load_user = load["user"] - log.warning( - f"DGM auth user unsuccessful, auth_user is running useri and not present, load_user '{load_user}', auth_key '{auth_key}', key '{key}' " - ) log.warning(error_msg) return False elif auth_key == key.get("root"): pass - # DGM TBD should we allow for salt ? here, sounds too breakable - # but there is nologin for salt, so maybe fine elif auth_key == key.get("salt"): + # there is nologin for salt pass else: if load["user"] in key: @@ -416,28 +373,10 @@ class LoadAuth: log.warning(error_msg) return False else: - ## dgm_user = salt.utils.user.get_user() - ## dgm_key = key[salt.utils.user.get_user()] - ## log.warning(f"DGM authenticate_key, user '{dgm_user}', user key '{dgm_user_key}', auth_key '{auth_key}'") - ## if auth_key != key[salt.utils.user.get_user()]: - ## log.warning(f"DGM authenticate_key, user '{dgm_user}', user key '{dgm_user_key}', auth_key '{auth_key}', keys not equal '{error_msg}'") - ## log.warning(error_msg) - ## return False for check_key in key: - dgm_user = salt.utils.user.get_user() - dgm_check_key = key[check_key] - log.warning( - f"DGM authenticate_key, user '{dgm_user}', check_key '{check_key}', dgm_check_key '{dgm_check_key}', auth_key '{auth_key}'" - ) if auth_key == key[check_key]: - log.warning( - f"DGM authenticate_key, user '{dgm_user}', check_key '{check_key}', dgm_check_key '{dgm_check_key}', auth_key '{auth_key}', keys equal" - ) return True - log.warning( - f"DGM authenticate_key, user '{dgm_user}', auth_key '{auth_key}', keys not equal '{error_msg}', key '{key}'" - ) log.warning(error_msg) return False @@ -504,15 +443,10 @@ class LoadAuth: If an error is encountered, return immediately with the relevant error dictionary as authentication has failed. Otherwise, return the username and valid auth_list. """ - log.warning( - f"DGM check_authentication auth_type '{auth_type}', key '{key}', load '{load}'" - ) auth_list = [] username = load.get("username", "UNKNOWN") ret = {"auth_list": auth_list, "username": username, "error": {}} - log.warning(f"DGM check_authentication initial ret '{ret}'") - # Authenticate if auth_type == "token": token = self.authenticate_token(load) @@ -528,7 +462,6 @@ class LoadAuth: ret["username"] = username auth_list = self.get_auth_list(load, token=token) elif auth_type == "eauth": - # DGM TBD needs to check how eauth handles the load and multiple users and their keys if not self.authenticate_eauth(load): ret["error"] = { "name": "EauthAuthenticationError", From c0222700256d966765a2d7de4c3cd1ac5c18ad68 Mon Sep 17 00:00:00 2001 From: David Murphy < dmurphy@saltstack.com> Date: Thu, 15 Jun 2023 11:06:56 -0600 Subject: [PATCH 04/14] Added changelog --- changelog/64398.fixed.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 changelog/64398.fixed.md diff --git a/changelog/64398.fixed.md b/changelog/64398.fixed.md new file mode 100644 index 00000000000..fb1a54019ca --- /dev/null +++ b/changelog/64398.fixed.md @@ -0,0 +1 @@ +Allow for multiple user's keys presented when authenticating, for example: root, salt, etc. From ddb98b698c7258cf91a0664e0db3f7c2ef58ce77 Mon Sep 17 00:00:00 2001 From: David Murphy < dmurphy@saltstack.com> Date: Fri, 30 Jun 2023 12:21:29 -0600 Subject: [PATCH 05/14] Updated test to check for multiple user keys presented when authenticating --- .../daemons/masterapi/test_local_funcs.py | 64 +++++++++++++++++++ 1 file changed, 64 insertions(+) diff --git a/tests/pytests/unit/daemons/masterapi/test_local_funcs.py b/tests/pytests/unit/daemons/masterapi/test_local_funcs.py index 3c439f49477..2e40a4aa0fd 100644 --- a/tests/pytests/unit/daemons/masterapi/test_local_funcs.py +++ b/tests/pytests/unit/daemons/masterapi/test_local_funcs.py @@ -1,3 +1,5 @@ +import logging + import pytest import salt.config @@ -5,10 +7,17 @@ import salt.daemons.masterapi as masterapi import salt.utils.platform from tests.support.mock import MagicMock, patch +log = logging.getLogger(__name__) + pytestmark = [ pytest.mark.slow_test, ] +test_check_key = { + "test": "mGXdurU1c8lXt5cmpbGq4rWvrOvDXxkwI9gbkP5CBBjpyGWuB8vkgz9r+sjjG0wVDL9/uFuREtk=", + "root": "2t5HHv/ek2wIFh8tTX2c3hdt+6V+93xKlcXb7IlGLIszOeCVv2NuH38LyCw9UwQTfUFTeseXhSs=", +} + @pytest.fixture def local_funcs(): @@ -16,6 +25,12 @@ def local_funcs(): return masterapi.LocalFuncs(opts, "test-key") +@pytest.fixture +def check_local_funcs(): + opts = salt.config.master_config(None) + return masterapi.LocalFuncs(opts, test_check_key) + + # runner tests @@ -510,3 +525,52 @@ def test_publish_user_authorization_error(local_funcs): "salt.utils.minions.CkMinions.auth_check", MagicMock(return_value=False) ): assert mock_ret == local_funcs.publish(load) + + +def test_dual_key_auth(check_local_funcs): + """ + Test for check for presented dual keys (salt, root) are authenticated + """ + load = { + "user": "test", + "fun": "test.arg", + "tgt": "test_minion", + "kwargs": {"user": "test"}, + "arg": "foo", + "key": "mGXdurU1c8lXt5cmpbGq4rWvrOvDXxkwI9gbkP5CBBjpyGWuB8vkgz9r+sjjG0wVDL9/uFuREtk=", + } + with patch( + "salt.acl.PublisherACL.user_is_blacklisted", MagicMock(return_value=False) + ), patch( + "salt.acl.PublisherACL.cmd_is_blacklisted", MagicMock(return_value=False) + ), patch( + "salt.utils.master.get_values_of_matching_keys", + MagicMock(return_value=["test"]), + ): + results = check_local_funcs.publish(load) + assert results == {"enc": "clear", "load": {"jid": None, "minions": []}} + + +def test_dual_key_auth_sudo(check_local_funcs): + """ + Test for check for presented dual keys (salt, root) are authenticated + with a sudo user + """ + load = { + "user": "sudo_test", + "fun": "test.arg", + "tgt": "test_minion", + "kwargs": {"user": "sudo_test"}, + "arg": "foo", + "key": "mGXdurU1c8lXt5cmpbGq4rWvrOvDXxkwI9gbkP5CBBjpyGWuB8vkgz9r+sjjG0wVDL9/uFuREtk=", + } + with patch( + "salt.acl.PublisherACL.user_is_blacklisted", MagicMock(return_value=False) + ), patch( + "salt.acl.PublisherACL.cmd_is_blacklisted", MagicMock(return_value=False) + ), patch( + "salt.utils.master.get_values_of_matching_keys", + MagicMock(return_value=["test"]), + ): + results = check_local_funcs.publish(load) + assert results == {"enc": "clear", "load": {"jid": None, "minions": []}} From ba15a8c64b4054625b96ff1fdcaca2085de21f5c Mon Sep 17 00:00:00 2001 From: David Murphy < dmurphy@saltstack.com> Date: Thu, 13 Jul 2023 12:20:54 -0600 Subject: [PATCH 06/14] Updates due to reviewer comments --- .../daemons/masterapi/test_local_funcs.py | 23 +++++++++---------- 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/tests/pytests/unit/daemons/masterapi/test_local_funcs.py b/tests/pytests/unit/daemons/masterapi/test_local_funcs.py index 2e40a4aa0fd..efc2972345d 100644 --- a/tests/pytests/unit/daemons/masterapi/test_local_funcs.py +++ b/tests/pytests/unit/daemons/masterapi/test_local_funcs.py @@ -2,9 +2,7 @@ import logging import pytest -import salt.config import salt.daemons.masterapi as masterapi -import salt.utils.platform from tests.support.mock import MagicMock, patch log = logging.getLogger(__name__) @@ -13,22 +11,23 @@ pytestmark = [ pytest.mark.slow_test, ] -test_check_key = { - "test": "mGXdurU1c8lXt5cmpbGq4rWvrOvDXxkwI9gbkP5CBBjpyGWuB8vkgz9r+sjjG0wVDL9/uFuREtk=", - "root": "2t5HHv/ek2wIFh8tTX2c3hdt+6V+93xKlcXb7IlGLIszOeCVv2NuH38LyCw9UwQTfUFTeseXhSs=", -} + +@pytest.fixture +def check_keys(): + return { + "test": "mGXdurU1c8lXt5cmpbGq4rWvrOvDXxkwI9gbkP5CBBjpyGWuB8vkgz9r+sjjG0wVDL9/uFuREtk=", + "root": "2t5HHv/ek2wIFh8tTX2c3hdt+6V+93xKlcXb7IlGLIszOeCVv2NuH38LyCw9UwQTfUFTeseXhSs=", + } @pytest.fixture -def local_funcs(): - opts = salt.config.master_config(None) - return masterapi.LocalFuncs(opts, "test-key") +def local_funcs(master_opts): + return masterapi.LocalFuncs(master_opts, "test-key") @pytest.fixture -def check_local_funcs(): - opts = salt.config.master_config(None) - return masterapi.LocalFuncs(opts, test_check_key) +def check_local_funcs(master_opts, check_keys): + return masterapi.LocalFuncs(master_opts, check_keys) # runner tests From 2958d3747e8a6726ca5d53fb150d979bebaf9ce3 Mon Sep 17 00:00:00 2001 From: David Murphy < dmurphy@saltstack.com> Date: Fri, 14 Jul 2023 07:57:55 -0600 Subject: [PATCH 07/14] Remove line left over from debugging --- salt/auth/__init__.py | 1 - 1 file changed, 1 deletion(-) diff --git a/salt/auth/__init__.py b/salt/auth/__init__.py index a13fc469b91..0a93e803229 100644 --- a/salt/auth/__init__.py +++ b/salt/auth/__init__.py @@ -354,7 +354,6 @@ class LoadAuth: elif auth_user.is_running_user(): if auth_key != key.get(load["user"]): - load_user = load["user"] log.warning(error_msg) return False elif auth_key == key.get("root"): From d0851b498f0accfd7ffd32fe3cbb3ad8d195ee31 Mon Sep 17 00:00:00 2001 From: David Murphy < dmurphy@saltstack.com> Date: Fri, 14 Jul 2023 08:34:00 -0600 Subject: [PATCH 08/14] Revert some reviewer suggestions as broke existing tests --- tests/pytests/unit/daemons/masterapi/test_local_funcs.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tests/pytests/unit/daemons/masterapi/test_local_funcs.py b/tests/pytests/unit/daemons/masterapi/test_local_funcs.py index efc2972345d..2edb21a6a59 100644 --- a/tests/pytests/unit/daemons/masterapi/test_local_funcs.py +++ b/tests/pytests/unit/daemons/masterapi/test_local_funcs.py @@ -2,7 +2,9 @@ import logging import pytest +import salt.config import salt.daemons.masterapi as masterapi +import salt.utils.platform from tests.support.mock import MagicMock, patch log = logging.getLogger(__name__) @@ -22,7 +24,8 @@ def check_keys(): @pytest.fixture def local_funcs(master_opts): - return masterapi.LocalFuncs(master_opts, "test-key") + opts = salt.config.master_config(None) + return masterapi.LocalFuncs(opts, "test-key") @pytest.fixture From b85a3ab8a0bede49f0b38bb47a3e091e4b98d872 Mon Sep 17 00:00:00 2001 From: David Murphy < dmurphy@saltstack.com> Date: Fri, 14 Jul 2023 15:01:42 -0600 Subject: [PATCH 09/14] Removed extraous logging from debugging --- tests/pytests/unit/daemons/masterapi/test_local_funcs.py | 4 ---- 1 file changed, 4 deletions(-) diff --git a/tests/pytests/unit/daemons/masterapi/test_local_funcs.py b/tests/pytests/unit/daemons/masterapi/test_local_funcs.py index 2edb21a6a59..06e80f7be83 100644 --- a/tests/pytests/unit/daemons/masterapi/test_local_funcs.py +++ b/tests/pytests/unit/daemons/masterapi/test_local_funcs.py @@ -1,5 +1,3 @@ -import logging - import pytest import salt.config @@ -7,8 +5,6 @@ import salt.daemons.masterapi as masterapi import salt.utils.platform from tests.support.mock import MagicMock, patch -log = logging.getLogger(__name__) - pytestmark = [ pytest.mark.slow_test, ] From 5b2e752d5e04886fb8017a1c0e7f30cd9a20f17d Mon Sep 17 00:00:00 2001 From: Pedro Algarvio Date: Sun, 16 Jul 2023 09:45:17 +0100 Subject: [PATCH 10/14] Bump to `cryptography==41.0.2` to address GHSA-cf7p-gm2m-833m The cryptography package before 41.0.2 for Python mishandles SSH certificates that have critical options. References: https://nvd.nist.gov/vuln/detail/CVE-2023-38325 [https://github.com/pyca/cryptography/issues/9207](pyca/cryptography#9207) [https://github.com/pyca/cryptography/issues/9208](pyca/cryptography#9208) [https://github.com/pyca/cryptography/compare/41.0.1...41.0.2](pyca/cryptography@41.0.1...41.0.2) https://pypi.org/project/cryptography/#history [https://github.com/pyca/cryptography/commit/1ca7adc97b76a9dfbd3d850628b613eb93b78fc3](pyca/cryptography@1ca7adc) Signed-off-by: Pedro Algarvio --- requirements/darwin.txt | 2 +- requirements/static/ci/py3.10/cloud.txt | 2 +- requirements/static/ci/py3.10/darwin.txt | 2 +- requirements/static/ci/py3.10/freebsd.txt | 2 +- requirements/static/ci/py3.10/lint.txt | 2 +- requirements/static/ci/py3.10/linux.txt | 2 +- requirements/static/ci/py3.10/windows.txt | 2 +- requirements/static/ci/py3.7/cloud.txt | 2 +- requirements/static/ci/py3.7/freebsd.txt | 2 +- requirements/static/ci/py3.7/lint.txt | 2 +- requirements/static/ci/py3.7/linux.txt | 2 +- requirements/static/ci/py3.7/windows.txt | 2 +- requirements/static/ci/py3.8/cloud.txt | 2 +- requirements/static/ci/py3.8/freebsd.txt | 2 +- requirements/static/ci/py3.8/lint.txt | 2 +- requirements/static/ci/py3.8/linux.txt | 2 +- requirements/static/ci/py3.8/windows.txt | 2 +- requirements/static/ci/py3.9/cloud.txt | 2 +- requirements/static/ci/py3.9/darwin.txt | 2 +- requirements/static/ci/py3.9/freebsd.txt | 2 +- requirements/static/ci/py3.9/lint.txt | 2 +- requirements/static/ci/py3.9/linux.txt | 2 +- requirements/static/ci/py3.9/windows.txt | 2 +- requirements/static/pkg/linux.in | 2 +- requirements/static/pkg/py3.10/darwin.txt | 2 +- requirements/static/pkg/py3.10/freebsd.txt | 2 +- requirements/static/pkg/py3.10/linux.txt | 2 +- requirements/static/pkg/py3.10/windows.txt | 2 +- requirements/static/pkg/py3.7/freebsd.txt | 2 +- requirements/static/pkg/py3.7/linux.txt | 2 +- requirements/static/pkg/py3.7/windows.txt | 2 +- requirements/static/pkg/py3.8/freebsd.txt | 2 +- requirements/static/pkg/py3.8/linux.txt | 2 +- requirements/static/pkg/py3.8/windows.txt | 2 +- requirements/static/pkg/py3.9/darwin.txt | 2 +- requirements/static/pkg/py3.9/freebsd.txt | 2 +- requirements/static/pkg/py3.9/linux.txt | 2 +- requirements/static/pkg/py3.9/windows.txt | 2 +- requirements/windows.txt | 2 +- 39 files changed, 39 insertions(+), 39 deletions(-) diff --git a/requirements/darwin.txt b/requirements/darwin.txt index a77dad5d7e3..8477bdf0b1a 100644 --- a/requirements/darwin.txt +++ b/requirements/darwin.txt @@ -5,7 +5,7 @@ apache-libcloud>=2.4.0 backports.ssl_match_hostname>=3.7.0.1; python_version < '3.7' cherrypy>=17.4.1 -cryptography>=41.0.1 +cryptography>=41.0.2 gitpython>=3.1.30; python_version >= '3.7' idna>=2.8 linode-python>=1.1.1 diff --git a/requirements/static/ci/py3.10/cloud.txt b/requirements/static/ci/py3.10/cloud.txt index 9da18084d70..59de3525cf0 100644 --- a/requirements/static/ci/py3.10/cloud.txt +++ b/requirements/static/ci/py3.10/cloud.txt @@ -385,7 +385,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==1.0.15 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==41.0.1 +cryptography==41.0.2 # via # -r requirements/static/pkg/linux.in # adal diff --git a/requirements/static/ci/py3.10/darwin.txt b/requirements/static/ci/py3.10/darwin.txt index 8d4edd7d491..de99b96c48e 100644 --- a/requirements/static/ci/py3.10/darwin.txt +++ b/requirements/static/ci/py3.10/darwin.txt @@ -386,7 +386,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==0.3.29 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==41.0.1 +cryptography==41.0.2 # via # -r requirements/darwin.txt # adal diff --git a/requirements/static/ci/py3.10/freebsd.txt b/requirements/static/ci/py3.10/freebsd.txt index 92e27ed6d94..cc7b0718ed6 100644 --- a/requirements/static/ci/py3.10/freebsd.txt +++ b/requirements/static/ci/py3.10/freebsd.txt @@ -384,7 +384,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==0.3.29 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==41.0.0 +cryptography==41.0.2 # via # adal # azure-cosmosdb-table diff --git a/requirements/static/ci/py3.10/lint.txt b/requirements/static/ci/py3.10/lint.txt index 9b35d0508bb..971b1158c7c 100644 --- a/requirements/static/ci/py3.10/lint.txt +++ b/requirements/static/ci/py3.10/lint.txt @@ -390,7 +390,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==1.0.15 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==41.0.1 +cryptography==41.0.2 # via # -r requirements/static/pkg/linux.in # adal diff --git a/requirements/static/ci/py3.10/linux.txt b/requirements/static/ci/py3.10/linux.txt index 6c88290286c..9973759f47f 100644 --- a/requirements/static/ci/py3.10/linux.txt +++ b/requirements/static/ci/py3.10/linux.txt @@ -398,7 +398,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==0.3.29 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==41.0.1 +cryptography==41.0.2 # via # -r requirements/static/pkg/linux.in # adal diff --git a/requirements/static/ci/py3.10/windows.txt b/requirements/static/ci/py3.10/windows.txt index 033084010b5..48dfe87ea86 100644 --- a/requirements/static/ci/py3.10/windows.txt +++ b/requirements/static/ci/py3.10/windows.txt @@ -71,7 +71,7 @@ colorama==0.4.1 # via pytest contextvars==2.4 # via -r requirements/base.txt -cryptography==41.0.1 +cryptography==41.0.2 # via # -r requirements/windows.txt # etcd3-py diff --git a/requirements/static/ci/py3.7/cloud.txt b/requirements/static/ci/py3.7/cloud.txt index 7ab45ff74f7..107299eb47c 100644 --- a/requirements/static/ci/py3.7/cloud.txt +++ b/requirements/static/ci/py3.7/cloud.txt @@ -392,7 +392,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==1.0.15 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==41.0.1 +cryptography==41.0.2 # via # -r requirements/static/pkg/linux.in # adal diff --git a/requirements/static/ci/py3.7/freebsd.txt b/requirements/static/ci/py3.7/freebsd.txt index 13e97515d7d..7476807b991 100644 --- a/requirements/static/ci/py3.7/freebsd.txt +++ b/requirements/static/ci/py3.7/freebsd.txt @@ -391,7 +391,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==0.3.29 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==41.0.0 +cryptography==41.0.2 # via # adal # azure-cosmosdb-table diff --git a/requirements/static/ci/py3.7/lint.txt b/requirements/static/ci/py3.7/lint.txt index 33080ce341d..a00764291ef 100644 --- a/requirements/static/ci/py3.7/lint.txt +++ b/requirements/static/ci/py3.7/lint.txt @@ -399,7 +399,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==1.0.15 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==41.0.1 +cryptography==41.0.2 # via # -r requirements/static/pkg/linux.in # adal diff --git a/requirements/static/ci/py3.7/linux.txt b/requirements/static/ci/py3.7/linux.txt index c8307fc7986..9b44033cc6e 100644 --- a/requirements/static/ci/py3.7/linux.txt +++ b/requirements/static/ci/py3.7/linux.txt @@ -405,7 +405,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==0.3.29 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==41.0.1 +cryptography==41.0.2 # via # -r requirements/static/pkg/linux.in # adal diff --git a/requirements/static/ci/py3.7/windows.txt b/requirements/static/ci/py3.7/windows.txt index 37aaab11ea7..d76d05bcb82 100644 --- a/requirements/static/ci/py3.7/windows.txt +++ b/requirements/static/ci/py3.7/windows.txt @@ -77,7 +77,7 @@ colorama==0.4.1 # via pytest contextvars==2.4 # via -r requirements/base.txt -cryptography==41.0.1 +cryptography==41.0.2 # via # -r requirements/windows.txt # etcd3-py diff --git a/requirements/static/ci/py3.8/cloud.txt b/requirements/static/ci/py3.8/cloud.txt index b60fd1d789d..a2074674203 100644 --- a/requirements/static/ci/py3.8/cloud.txt +++ b/requirements/static/ci/py3.8/cloud.txt @@ -390,7 +390,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==1.0.15 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==41.0.1 +cryptography==41.0.2 # via # -r requirements/static/pkg/linux.in # adal diff --git a/requirements/static/ci/py3.8/freebsd.txt b/requirements/static/ci/py3.8/freebsd.txt index a38caa62b63..5787541070c 100644 --- a/requirements/static/ci/py3.8/freebsd.txt +++ b/requirements/static/ci/py3.8/freebsd.txt @@ -389,7 +389,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==0.3.29 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==41.0.0 +cryptography==41.0.2 # via # adal # azure-cosmosdb-table diff --git a/requirements/static/ci/py3.8/lint.txt b/requirements/static/ci/py3.8/lint.txt index c9084b3f32a..704a7b455d6 100644 --- a/requirements/static/ci/py3.8/lint.txt +++ b/requirements/static/ci/py3.8/lint.txt @@ -397,7 +397,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==1.0.15 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==41.0.1 +cryptography==41.0.2 # via # -r requirements/static/pkg/linux.in # adal diff --git a/requirements/static/ci/py3.8/linux.txt b/requirements/static/ci/py3.8/linux.txt index 88bdfd4febf..d1a5b4fdab9 100644 --- a/requirements/static/ci/py3.8/linux.txt +++ b/requirements/static/ci/py3.8/linux.txt @@ -403,7 +403,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==0.3.29 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==41.0.1 +cryptography==41.0.2 # via # -r requirements/static/pkg/linux.in # adal diff --git a/requirements/static/ci/py3.8/windows.txt b/requirements/static/ci/py3.8/windows.txt index 0638887da49..9ca8d9d9f48 100644 --- a/requirements/static/ci/py3.8/windows.txt +++ b/requirements/static/ci/py3.8/windows.txt @@ -73,7 +73,7 @@ colorama==0.4.1 # via pytest contextvars==2.4 # via -r requirements/base.txt -cryptography==41.0.1 +cryptography==41.0.2 # via # -r requirements/windows.txt # etcd3-py diff --git a/requirements/static/ci/py3.9/cloud.txt b/requirements/static/ci/py3.9/cloud.txt index a866a0b15f6..d2ddb849e0b 100644 --- a/requirements/static/ci/py3.9/cloud.txt +++ b/requirements/static/ci/py3.9/cloud.txt @@ -390,7 +390,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==1.0.15 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==41.0.1 +cryptography==41.0.2 # via # -r requirements/static/pkg/linux.in # adal diff --git a/requirements/static/ci/py3.9/darwin.txt b/requirements/static/ci/py3.9/darwin.txt index a309cf7c1ac..0bffe2aeb5d 100644 --- a/requirements/static/ci/py3.9/darwin.txt +++ b/requirements/static/ci/py3.9/darwin.txt @@ -391,7 +391,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==0.3.29 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==41.0.1 +cryptography==41.0.2 # via # -r requirements/darwin.txt # adal diff --git a/requirements/static/ci/py3.9/freebsd.txt b/requirements/static/ci/py3.9/freebsd.txt index b352259132b..e4a89b753e6 100644 --- a/requirements/static/ci/py3.9/freebsd.txt +++ b/requirements/static/ci/py3.9/freebsd.txt @@ -389,7 +389,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==0.3.29 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==41.0.0 +cryptography==41.0.2 # via # adal # azure-cosmosdb-table diff --git a/requirements/static/ci/py3.9/lint.txt b/requirements/static/ci/py3.9/lint.txt index ca6f7af483d..d9713037b6c 100644 --- a/requirements/static/ci/py3.9/lint.txt +++ b/requirements/static/ci/py3.9/lint.txt @@ -395,7 +395,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==1.0.15 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==41.0.1 +cryptography==41.0.2 # via # -r requirements/static/pkg/linux.in # adal diff --git a/requirements/static/ci/py3.9/linux.txt b/requirements/static/ci/py3.9/linux.txt index fd99af75b6a..ac16b6e52b0 100644 --- a/requirements/static/ci/py3.9/linux.txt +++ b/requirements/static/ci/py3.9/linux.txt @@ -405,7 +405,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==0.3.29 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==41.0.1 +cryptography==41.0.2 # via # -r requirements/static/pkg/linux.in # adal diff --git a/requirements/static/ci/py3.9/windows.txt b/requirements/static/ci/py3.9/windows.txt index 671f49ddcc4..7d18515c83e 100644 --- a/requirements/static/ci/py3.9/windows.txt +++ b/requirements/static/ci/py3.9/windows.txt @@ -73,7 +73,7 @@ colorama==0.4.1 # via pytest contextvars==2.4 # via -r requirements/base.txt -cryptography==41.0.1 +cryptography==41.0.2 # via # -r requirements/windows.txt # etcd3-py diff --git a/requirements/static/pkg/linux.in b/requirements/static/pkg/linux.in index 340dde10eaa..03173a533d1 100644 --- a/requirements/static/pkg/linux.in +++ b/requirements/static/pkg/linux.in @@ -10,4 +10,4 @@ rpm-vercmp setproctitle>=1.2.3 timelib>=0.2.5 importlib-metadata>=3.3.0 -cryptography>=41.0.1 +cryptography>=41.0.2 diff --git a/requirements/static/pkg/py3.10/darwin.txt b/requirements/static/pkg/py3.10/darwin.txt index 77f7ac11e69..c40cbc9b915 100644 --- a/requirements/static/pkg/py3.10/darwin.txt +++ b/requirements/static/pkg/py3.10/darwin.txt @@ -18,7 +18,7 @@ cherrypy==18.6.1 # via -r requirements/darwin.txt contextvars==2.4 # via -r requirements/base.txt -cryptography==41.0.1 +cryptography==41.0.2 # via # -r requirements/darwin.txt # pyopenssl diff --git a/requirements/static/pkg/py3.10/freebsd.txt b/requirements/static/pkg/py3.10/freebsd.txt index eb3f047d200..167359b9d13 100644 --- a/requirements/static/pkg/py3.10/freebsd.txt +++ b/requirements/static/pkg/py3.10/freebsd.txt @@ -16,7 +16,7 @@ cherrypy==18.6.1 # via -r requirements/static/pkg/freebsd.in contextvars==2.4 # via -r requirements/base.txt -cryptography==39.0.2 +cryptography==41.0.2 # via pyopenssl distro==1.5.0 # via diff --git a/requirements/static/pkg/py3.10/linux.txt b/requirements/static/pkg/py3.10/linux.txt index e9f1c6c50e0..bd61f53cc0f 100644 --- a/requirements/static/pkg/py3.10/linux.txt +++ b/requirements/static/pkg/py3.10/linux.txt @@ -16,7 +16,7 @@ cherrypy==18.6.1 # via -r requirements/static/pkg/linux.in contextvars==2.4 # via -r requirements/base.txt -cryptography==41.0.1 +cryptography==41.0.2 # via # -r requirements/static/pkg/linux.in # pyopenssl diff --git a/requirements/static/pkg/py3.10/windows.txt b/requirements/static/pkg/py3.10/windows.txt index 72d665f7fa6..161d9ce0285 100644 --- a/requirements/static/pkg/py3.10/windows.txt +++ b/requirements/static/pkg/py3.10/windows.txt @@ -23,7 +23,7 @@ clr-loader==0.2.4 # via pythonnet contextvars==2.4 # via -r requirements/base.txt -cryptography==41.0.1 +cryptography==41.0.2 # via # -r requirements/windows.txt # pyopenssl diff --git a/requirements/static/pkg/py3.7/freebsd.txt b/requirements/static/pkg/py3.7/freebsd.txt index ae5865986b3..19e947ea090 100644 --- a/requirements/static/pkg/py3.7/freebsd.txt +++ b/requirements/static/pkg/py3.7/freebsd.txt @@ -16,7 +16,7 @@ cherrypy==18.6.1 # via -r requirements/static/pkg/freebsd.in contextvars==2.4 # via -r requirements/base.txt -cryptography==39.0.2 +cryptography==41.0.2 # via pyopenssl distro==1.5.0 # via diff --git a/requirements/static/pkg/py3.7/linux.txt b/requirements/static/pkg/py3.7/linux.txt index d1c058f6f48..fd0d0c90932 100644 --- a/requirements/static/pkg/py3.7/linux.txt +++ b/requirements/static/pkg/py3.7/linux.txt @@ -16,7 +16,7 @@ cherrypy==18.6.1 # via -r requirements/static/pkg/linux.in contextvars==2.4 # via -r requirements/base.txt -cryptography==41.0.1 +cryptography==41.0.2 # via # -r requirements/static/pkg/linux.in # pyopenssl diff --git a/requirements/static/pkg/py3.7/windows.txt b/requirements/static/pkg/py3.7/windows.txt index 23b16d98e78..d93e5afdbce 100644 --- a/requirements/static/pkg/py3.7/windows.txt +++ b/requirements/static/pkg/py3.7/windows.txt @@ -23,7 +23,7 @@ clr-loader==0.2.4 # via pythonnet contextvars==2.4 # via -r requirements/base.txt -cryptography==41.0.1 +cryptography==41.0.2 # via # -r requirements/windows.txt # pyopenssl diff --git a/requirements/static/pkg/py3.8/freebsd.txt b/requirements/static/pkg/py3.8/freebsd.txt index 2419a87646c..c8e7dbea2da 100644 --- a/requirements/static/pkg/py3.8/freebsd.txt +++ b/requirements/static/pkg/py3.8/freebsd.txt @@ -16,7 +16,7 @@ cherrypy==18.6.1 # via -r requirements/static/pkg/freebsd.in contextvars==2.4 # via -r requirements/base.txt -cryptography==39.0.2 +cryptography==41.0.2 # via pyopenssl distro==1.5.0 # via diff --git a/requirements/static/pkg/py3.8/linux.txt b/requirements/static/pkg/py3.8/linux.txt index 6dc2d7918d9..95417d0c300 100644 --- a/requirements/static/pkg/py3.8/linux.txt +++ b/requirements/static/pkg/py3.8/linux.txt @@ -16,7 +16,7 @@ cherrypy==18.6.1 # via -r requirements/static/pkg/linux.in contextvars==2.4 # via -r requirements/base.txt -cryptography==41.0.1 +cryptography==41.0.2 # via # -r requirements/static/pkg/linux.in # pyopenssl diff --git a/requirements/static/pkg/py3.8/windows.txt b/requirements/static/pkg/py3.8/windows.txt index 0363e776489..ad6d0052429 100644 --- a/requirements/static/pkg/py3.8/windows.txt +++ b/requirements/static/pkg/py3.8/windows.txt @@ -23,7 +23,7 @@ clr-loader==0.2.4 # via pythonnet contextvars==2.4 # via -r requirements/base.txt -cryptography==41.0.1 +cryptography==41.0.2 # via # -r requirements/windows.txt # pyopenssl diff --git a/requirements/static/pkg/py3.9/darwin.txt b/requirements/static/pkg/py3.9/darwin.txt index 6dc90cc344f..b9b44e8b661 100644 --- a/requirements/static/pkg/py3.9/darwin.txt +++ b/requirements/static/pkg/py3.9/darwin.txt @@ -18,7 +18,7 @@ cherrypy==18.6.1 # via -r requirements/darwin.txt contextvars==2.4 # via -r requirements/base.txt -cryptography==41.0.1 +cryptography==41.0.2 # via # -r requirements/darwin.txt # pyopenssl diff --git a/requirements/static/pkg/py3.9/freebsd.txt b/requirements/static/pkg/py3.9/freebsd.txt index dfa83b9c31d..b4cefb4824c 100644 --- a/requirements/static/pkg/py3.9/freebsd.txt +++ b/requirements/static/pkg/py3.9/freebsd.txt @@ -16,7 +16,7 @@ cherrypy==18.6.1 # via -r requirements/static/pkg/freebsd.in contextvars==2.4 # via -r requirements/base.txt -cryptography==39.0.2 +cryptography==41.0.2 # via pyopenssl distro==1.5.0 # via diff --git a/requirements/static/pkg/py3.9/linux.txt b/requirements/static/pkg/py3.9/linux.txt index 56e78f78351..e64cb115584 100644 --- a/requirements/static/pkg/py3.9/linux.txt +++ b/requirements/static/pkg/py3.9/linux.txt @@ -16,7 +16,7 @@ cherrypy==18.6.1 # via -r requirements/static/pkg/linux.in contextvars==2.4 # via -r requirements/base.txt -cryptography==41.0.1 +cryptography==41.0.2 # via # -r requirements/static/pkg/linux.in # pyopenssl diff --git a/requirements/static/pkg/py3.9/windows.txt b/requirements/static/pkg/py3.9/windows.txt index 273acb031d2..730c04799db 100644 --- a/requirements/static/pkg/py3.9/windows.txt +++ b/requirements/static/pkg/py3.9/windows.txt @@ -23,7 +23,7 @@ clr-loader==0.2.4 # via pythonnet contextvars==2.4 # via -r requirements/base.txt -cryptography==41.0.1 +cryptography==41.0.2 # via # -r requirements/windows.txt # pyopenssl diff --git a/requirements/windows.txt b/requirements/windows.txt index b91cd0ecf2d..9490031d7df 100644 --- a/requirements/windows.txt +++ b/requirements/windows.txt @@ -10,7 +10,7 @@ backports.ssl-match-hostname>=3.7.0.1; python_version < '3.7' certifi>=2022.12.07 cffi>=1.14.5 cherrypy>=18.6.1 -cryptography>=41.0.1 +cryptography>=41.0.2 gitpython>=3.1.30; python_version >= '3.7' ioloop>=0.1a0 lxml>=4.6.3 From 53aafe7ebaa117639c0dc4759b376a692be0f79e Mon Sep 17 00:00:00 2001 From: Pedro Algarvio Date: Tue, 18 Jul 2023 06:34:22 +0100 Subject: [PATCH 11/14] Bump to `pyyaml==6.0.1` due to https://github.com/yaml/pyyaml/issues/601 Signed-off-by: Pedro Algarvio --- .pre-commit-config.yaml | 16 ++++++++-------- requirements/static/ci/py3.10/cloud.txt | 2 +- requirements/static/ci/py3.10/darwin.txt | 2 +- requirements/static/ci/py3.10/docs.txt | 2 +- requirements/static/ci/py3.10/freebsd.txt | 2 +- requirements/static/ci/py3.10/invoke.txt | 2 +- requirements/static/ci/py3.10/lint.txt | 2 +- requirements/static/ci/py3.10/linux.txt | 2 +- .../static/ci/py3.10/pkgtests-windows.txt | 2 +- requirements/static/ci/py3.10/pkgtests.txt | 2 +- requirements/static/ci/py3.10/tools.txt | 2 +- requirements/static/ci/py3.10/windows.txt | 2 +- requirements/static/ci/py3.11/tools.txt | 2 +- requirements/static/ci/py3.7/cloud.txt | 2 +- requirements/static/ci/py3.7/docs.txt | 2 +- requirements/static/ci/py3.7/freebsd.txt | 2 +- requirements/static/ci/py3.7/invoke.txt | 2 +- requirements/static/ci/py3.7/lint.txt | 2 +- requirements/static/ci/py3.7/linux.txt | 2 +- requirements/static/ci/py3.7/windows.txt | 2 +- requirements/static/ci/py3.8/cloud.txt | 2 +- requirements/static/ci/py3.8/docs.txt | 2 +- requirements/static/ci/py3.8/freebsd.txt | 2 +- requirements/static/ci/py3.8/invoke.txt | 2 +- requirements/static/ci/py3.8/lint.txt | 2 +- requirements/static/ci/py3.8/linux.txt | 2 +- requirements/static/ci/py3.8/windows.txt | 2 +- requirements/static/ci/py3.9/cloud.txt | 2 +- requirements/static/ci/py3.9/darwin.txt | 2 +- requirements/static/ci/py3.9/docs.txt | 2 +- requirements/static/ci/py3.9/freebsd.txt | 2 +- requirements/static/ci/py3.9/invoke.txt | 2 +- requirements/static/ci/py3.9/lint.txt | 2 +- requirements/static/ci/py3.9/linux.txt | 2 +- requirements/static/ci/py3.9/tools.txt | 2 +- requirements/static/ci/py3.9/windows.txt | 2 +- requirements/static/pkg/py3.10/darwin.txt | 2 +- requirements/static/pkg/py3.10/freebsd.txt | 2 +- requirements/static/pkg/py3.10/linux.txt | 2 +- requirements/static/pkg/py3.10/windows.txt | 2 +- requirements/static/pkg/py3.7/freebsd.txt | 2 +- requirements/static/pkg/py3.7/linux.txt | 2 +- requirements/static/pkg/py3.7/windows.txt | 2 +- requirements/static/pkg/py3.8/freebsd.txt | 2 +- requirements/static/pkg/py3.8/linux.txt | 2 +- requirements/static/pkg/py3.8/windows.txt | 2 +- requirements/static/pkg/py3.9/darwin.txt | 2 +- requirements/static/pkg/py3.9/freebsd.txt | 2 +- requirements/static/pkg/py3.9/linux.txt | 2 +- requirements/static/pkg/py3.9/windows.txt | 2 +- 50 files changed, 57 insertions(+), 57 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index d6cb848d7e6..7a97ad415a1 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -56,7 +56,7 @@ repos: - pre-commit-checks additional_dependencies: - boto3==1.21.46 - - pyyaml==6.0 + - pyyaml==6.0.1 - jinja2==3.1.2 - packaging==23.0 - virustotal3==1.0.8 @@ -70,7 +70,7 @@ repos: - generate-workflows additional_dependencies: - boto3==1.21.46 - - pyyaml==6.0 + - pyyaml==6.0.1 - jinja2==3.1.2 - packaging==23.0 - virustotal3==1.0.8 @@ -85,7 +85,7 @@ repos: - actionlint additional_dependencies: - boto3==1.21.46 - - pyyaml==6.0 + - pyyaml==6.0.1 - jinja2==3.1.2 - packaging==23.0 - virustotal3==1.0.8 @@ -1153,7 +1153,7 @@ repos: - docs.check additional_dependencies: - blessings==1.7 - - pyyaml==6.0 + - pyyaml==6.0.1 - distro==1.7.0 - jinja2==3.0.3 - msgpack==1.0.3 @@ -1172,7 +1172,7 @@ repos: - filemap.check additional_dependencies: - blessings==1.7 - - pyyaml==6.0 + - pyyaml==6.0.1 - distro==1.7.0 - jinja2==3.0.3 - msgpack==1.0.3 @@ -1195,7 +1195,7 @@ repos: - loader.check-virtual additional_dependencies: - blessings==1.7 - - pyyaml==6.0 + - pyyaml==6.0.1 - distro==1.7.0 - jinja2==3.0.3 - msgpack==1.0.3 @@ -1218,7 +1218,7 @@ repos: - docstrings.check additional_dependencies: - blessings==1.7 - - pyyaml==6.0 + - pyyaml==6.0.1 - distro==1.7.0 - jinja2==3.0.3 - msgpack==1.0.3 @@ -1243,7 +1243,7 @@ repos: - --error-on-known-failures additional_dependencies: - blessings==1.7 - - pyyaml==6.0 + - pyyaml==6.0.1 - distro==1.7.0 - jinja2==3.0.3 - msgpack==1.0.3 diff --git a/requirements/static/ci/py3.10/cloud.txt b/requirements/static/ci/py3.10/cloud.txt index 59de3525cf0..2af515324f4 100644 --- a/requirements/static/ci/py3.10/cloud.txt +++ b/requirements/static/ci/py3.10/cloud.txt @@ -750,7 +750,7 @@ pyvmomi==7.0.2 # via -r requirements/static/ci/common.in pywinrm==0.3.0 # via -r requirements/static/ci/cloud.in -pyyaml==5.4.1 +pyyaml==6.0.1 # via # -r requirements/base.txt # clustershell diff --git a/requirements/static/ci/py3.10/darwin.txt b/requirements/static/ci/py3.10/darwin.txt index de99b96c48e..73f4def8791 100644 --- a/requirements/static/ci/py3.10/darwin.txt +++ b/requirements/static/ci/py3.10/darwin.txt @@ -743,7 +743,7 @@ pytz==2022.1 # tempora pyvmomi==6.7.1.2018.12 # via -r requirements/static/ci/common.in -pyyaml==5.4.1 +pyyaml==6.0.1 # via # -r requirements/base.txt # clustershell diff --git a/requirements/static/ci/py3.10/docs.txt b/requirements/static/ci/py3.10/docs.txt index 013b160daa5..ce07a3a5061 100644 --- a/requirements/static/ci/py3.10/docs.txt +++ b/requirements/static/ci/py3.10/docs.txt @@ -130,7 +130,7 @@ pytz==2022.1 # -c requirements/static/ci/py3.10/linux.txt # babel # tempora -pyyaml==5.4.1 +pyyaml==6.0.1 # via # -c requirements/static/ci/py3.10/linux.txt # -r requirements/base.txt diff --git a/requirements/static/ci/py3.10/freebsd.txt b/requirements/static/ci/py3.10/freebsd.txt index cc7b0718ed6..3739dcb0e73 100644 --- a/requirements/static/ci/py3.10/freebsd.txt +++ b/requirements/static/ci/py3.10/freebsd.txt @@ -742,7 +742,7 @@ pytz==2022.1 # tempora pyvmomi==6.7.1.2018.12 # via -r requirements/static/ci/common.in -pyyaml==5.4.1 +pyyaml==6.0.1 # via # -r requirements/base.txt # clustershell diff --git a/requirements/static/ci/py3.10/invoke.txt b/requirements/static/ci/py3.10/invoke.txt index 591666c8468..bcca631927a 100644 --- a/requirements/static/ci/py3.10/invoke.txt +++ b/requirements/static/ci/py3.10/invoke.txt @@ -8,7 +8,7 @@ blessings==1.7 # via -r requirements/static/ci/invoke.in invoke==1.4.1 # via -r requirements/static/ci/invoke.in -pyyaml==5.4.1 +pyyaml==6.0.1 # via -r requirements/static/ci/invoke.in six==1.16.0 # via blessings diff --git a/requirements/static/ci/py3.10/lint.txt b/requirements/static/ci/py3.10/lint.txt index 971b1158c7c..c88948c6d8a 100644 --- a/requirements/static/ci/py3.10/lint.txt +++ b/requirements/static/ci/py3.10/lint.txt @@ -715,7 +715,7 @@ pytz==2022.1 # twilio pyvmomi==7.0.2 # via -r requirements/static/ci/common.in -pyyaml==5.4.1 +pyyaml==6.0.1 # via # -r requirements/base.txt # ansible-core diff --git a/requirements/static/ci/py3.10/linux.txt b/requirements/static/ci/py3.10/linux.txt index 9973759f47f..9edac4588d2 100644 --- a/requirements/static/ci/py3.10/linux.txt +++ b/requirements/static/ci/py3.10/linux.txt @@ -768,7 +768,7 @@ pytz==2022.1 # tzlocal pyvmomi==6.7.1.2018.12 # via -r requirements/static/ci/common.in -pyyaml==5.4.1 +pyyaml==6.0.1 # via # -r requirements/base.txt # ansible-core diff --git a/requirements/static/ci/py3.10/pkgtests-windows.txt b/requirements/static/ci/py3.10/pkgtests-windows.txt index 1f63fb7cdc9..fc22d0a9805 100644 --- a/requirements/static/ci/py3.10/pkgtests-windows.txt +++ b/requirements/static/ci/py3.10/pkgtests-windows.txt @@ -136,7 +136,7 @@ pywin32==305 # via # pytest-skip-markers # wmi -pyyaml==6.0 +pyyaml==6.0.1 # via -r requirements/base.txt pyzmq==25.0.2 ; sys_platform == "win32" # via diff --git a/requirements/static/ci/py3.10/pkgtests.txt b/requirements/static/ci/py3.10/pkgtests.txt index 09e90491007..bb18c792933 100644 --- a/requirements/static/ci/py3.10/pkgtests.txt +++ b/requirements/static/ci/py3.10/pkgtests.txt @@ -123,7 +123,7 @@ pytest==7.2.1 # pytest-tempdir pytz==2022.7.1 # via tempora -pyyaml==6.0 +pyyaml==6.0.1 # via -r requirements/base.txt pyzmq==25.0.2 # via diff --git a/requirements/static/ci/py3.10/tools.txt b/requirements/static/ci/py3.10/tools.txt index 285d90d8f9c..4981fc3c640 100644 --- a/requirements/static/ci/py3.10/tools.txt +++ b/requirements/static/ci/py3.10/tools.txt @@ -38,7 +38,7 @@ python-dateutil==2.8.2 # via botocore python-tools-scripts==0.12.0 # via -r requirements/static/ci/tools.in -pyyaml==6.0 +pyyaml==6.0.1 # via -r requirements/static/ci/tools.in requests==2.31.0 # via diff --git a/requirements/static/ci/py3.10/windows.txt b/requirements/static/ci/py3.10/windows.txt index 48dfe87ea86..ecccb3335b0 100644 --- a/requirements/static/ci/py3.10/windows.txt +++ b/requirements/static/ci/py3.10/windows.txt @@ -310,7 +310,7 @@ pywin32==305 # wmi pywinrm==0.4.1 # via -r requirements/static/ci/windows.in -pyyaml==5.4.1 +pyyaml==6.0.1 # via # -r requirements/base.txt # clustershell diff --git a/requirements/static/ci/py3.11/tools.txt b/requirements/static/ci/py3.11/tools.txt index bdd05d1f2ee..556718941f1 100644 --- a/requirements/static/ci/py3.11/tools.txt +++ b/requirements/static/ci/py3.11/tools.txt @@ -38,7 +38,7 @@ python-dateutil==2.8.2 # via botocore python-tools-scripts==0.12.0 # via -r requirements/static/ci/tools.in -pyyaml==6.0 +pyyaml==6.0.1 # via -r requirements/static/ci/tools.in requests==2.31.0 # via diff --git a/requirements/static/ci/py3.7/cloud.txt b/requirements/static/ci/py3.7/cloud.txt index 107299eb47c..bbbabcd11fc 100644 --- a/requirements/static/ci/py3.7/cloud.txt +++ b/requirements/static/ci/py3.7/cloud.txt @@ -794,7 +794,7 @@ pyvmomi==7.0.2 # via -r requirements/static/ci/common.in pywinrm==0.3.0 # via -r requirements/static/ci/cloud.in -pyyaml==5.4.1 +pyyaml==6.0.1 # via # -r requirements/base.txt # clustershell diff --git a/requirements/static/ci/py3.7/docs.txt b/requirements/static/ci/py3.7/docs.txt index 9d997b6ca64..96093a63491 100644 --- a/requirements/static/ci/py3.7/docs.txt +++ b/requirements/static/ci/py3.7/docs.txt @@ -138,7 +138,7 @@ pytz==2022.1 # -c requirements/static/ci/py3.7/linux.txt # babel # tempora -pyyaml==5.4.1 +pyyaml==6.0.1 # via # -c requirements/static/ci/py3.7/linux.txt # -r requirements/base.txt diff --git a/requirements/static/ci/py3.7/freebsd.txt b/requirements/static/ci/py3.7/freebsd.txt index 7476807b991..8a3346af2c3 100644 --- a/requirements/static/ci/py3.7/freebsd.txt +++ b/requirements/static/ci/py3.7/freebsd.txt @@ -780,7 +780,7 @@ pytz==2022.1 # tempora pyvmomi==6.7.1.2018.12 # via -r requirements/static/ci/common.in -pyyaml==5.4.1 +pyyaml==6.0.1 # via # -r requirements/base.txt # clustershell diff --git a/requirements/static/ci/py3.7/invoke.txt b/requirements/static/ci/py3.7/invoke.txt index e2cad5c72e0..669f7a7fce8 100644 --- a/requirements/static/ci/py3.7/invoke.txt +++ b/requirements/static/ci/py3.7/invoke.txt @@ -8,7 +8,7 @@ blessings==1.7 # via -r requirements/static/ci/invoke.in invoke==1.4.1 # via -r requirements/static/ci/invoke.in -pyyaml==5.4.1 +pyyaml==6.0.1 # via -r requirements/static/ci/invoke.in six==1.16.0 # via blessings diff --git a/requirements/static/ci/py3.7/lint.txt b/requirements/static/ci/py3.7/lint.txt index a00764291ef..28cff6fb6d6 100644 --- a/requirements/static/ci/py3.7/lint.txt +++ b/requirements/static/ci/py3.7/lint.txt @@ -760,7 +760,7 @@ pytz==2022.1 # twilio pyvmomi==7.0.2 # via -r requirements/static/ci/common.in -pyyaml==5.4.1 +pyyaml==6.0.1 # via # -r requirements/base.txt # ansible-core diff --git a/requirements/static/ci/py3.7/linux.txt b/requirements/static/ci/py3.7/linux.txt index 9b44033cc6e..f93050ab932 100644 --- a/requirements/static/ci/py3.7/linux.txt +++ b/requirements/static/ci/py3.7/linux.txt @@ -808,7 +808,7 @@ pytz==2022.1 # tzlocal pyvmomi==6.7.1.2018.12 # via -r requirements/static/ci/common.in -pyyaml==5.4.1 +pyyaml==6.0.1 # via # -r requirements/base.txt # ansible-core diff --git a/requirements/static/ci/py3.7/windows.txt b/requirements/static/ci/py3.7/windows.txt index d76d05bcb82..1f67dcfba0c 100644 --- a/requirements/static/ci/py3.7/windows.txt +++ b/requirements/static/ci/py3.7/windows.txt @@ -324,7 +324,7 @@ pywin32==305 # wmi pywinrm==0.4.1 # via -r requirements/static/ci/windows.in -pyyaml==5.4.1 +pyyaml==6.0.1 # via # -r requirements/base.txt # clustershell diff --git a/requirements/static/ci/py3.8/cloud.txt b/requirements/static/ci/py3.8/cloud.txt index a2074674203..bd0e08a58b1 100644 --- a/requirements/static/ci/py3.8/cloud.txt +++ b/requirements/static/ci/py3.8/cloud.txt @@ -783,7 +783,7 @@ pyvmomi==7.0.2 # via -r requirements/static/ci/common.in pywinrm==0.3.0 # via -r requirements/static/ci/cloud.in -pyyaml==5.4.1 +pyyaml==6.0.1 # via # -r requirements/base.txt # clustershell diff --git a/requirements/static/ci/py3.8/docs.txt b/requirements/static/ci/py3.8/docs.txt index 10e2c9040d4..3f7c81f3f36 100644 --- a/requirements/static/ci/py3.8/docs.txt +++ b/requirements/static/ci/py3.8/docs.txt @@ -130,7 +130,7 @@ pytz==2022.1 # -c requirements/static/ci/py3.8/linux.txt # babel # tempora -pyyaml==5.4.1 +pyyaml==6.0.1 # via # -c requirements/static/ci/py3.8/linux.txt # -r requirements/base.txt diff --git a/requirements/static/ci/py3.8/freebsd.txt b/requirements/static/ci/py3.8/freebsd.txt index 5787541070c..c5405765a61 100644 --- a/requirements/static/ci/py3.8/freebsd.txt +++ b/requirements/static/ci/py3.8/freebsd.txt @@ -770,7 +770,7 @@ pytz==2022.1 # tempora pyvmomi==6.7.1.2018.12 # via -r requirements/static/ci/common.in -pyyaml==5.4.1 +pyyaml==6.0.1 # via # -r requirements/base.txt # clustershell diff --git a/requirements/static/ci/py3.8/invoke.txt b/requirements/static/ci/py3.8/invoke.txt index 356dd421308..d3850c6bde7 100644 --- a/requirements/static/ci/py3.8/invoke.txt +++ b/requirements/static/ci/py3.8/invoke.txt @@ -8,7 +8,7 @@ blessings==1.7 # via -r requirements/static/ci/invoke.in invoke==1.4.1 # via -r requirements/static/ci/invoke.in -pyyaml==5.4.1 +pyyaml==6.0.1 # via -r requirements/static/ci/invoke.in six==1.16.0 # via blessings diff --git a/requirements/static/ci/py3.8/lint.txt b/requirements/static/ci/py3.8/lint.txt index 704a7b455d6..6817761f343 100644 --- a/requirements/static/ci/py3.8/lint.txt +++ b/requirements/static/ci/py3.8/lint.txt @@ -751,7 +751,7 @@ pytz==2022.1 # twilio pyvmomi==7.0.2 # via -r requirements/static/ci/common.in -pyyaml==5.4.1 +pyyaml==6.0.1 # via # -r requirements/base.txt # ansible-core diff --git a/requirements/static/ci/py3.8/linux.txt b/requirements/static/ci/py3.8/linux.txt index d1a5b4fdab9..71621406fc1 100644 --- a/requirements/static/ci/py3.8/linux.txt +++ b/requirements/static/ci/py3.8/linux.txt @@ -796,7 +796,7 @@ pytz==2022.1 # tzlocal pyvmomi==6.7.1.2018.12 # via -r requirements/static/ci/common.in -pyyaml==5.4.1 +pyyaml==6.0.1 # via # -r requirements/base.txt # ansible-core diff --git a/requirements/static/ci/py3.8/windows.txt b/requirements/static/ci/py3.8/windows.txt index 9ca8d9d9f48..a4ab2b0e0c2 100644 --- a/requirements/static/ci/py3.8/windows.txt +++ b/requirements/static/ci/py3.8/windows.txt @@ -312,7 +312,7 @@ pywin32==305 # wmi pywinrm==0.4.1 # via -r requirements/static/ci/windows.in -pyyaml==5.4.1 +pyyaml==6.0.1 # via # -r requirements/base.txt # clustershell diff --git a/requirements/static/ci/py3.9/cloud.txt b/requirements/static/ci/py3.9/cloud.txt index d2ddb849e0b..0edf98cbeed 100644 --- a/requirements/static/ci/py3.9/cloud.txt +++ b/requirements/static/ci/py3.9/cloud.txt @@ -786,7 +786,7 @@ pyvmomi==7.0.2 # via -r requirements/static/ci/common.in pywinrm==0.3.0 # via -r requirements/static/ci/cloud.in -pyyaml==5.4.1 +pyyaml==6.0.1 # via # -r requirements/base.txt # clustershell diff --git a/requirements/static/ci/py3.9/darwin.txt b/requirements/static/ci/py3.9/darwin.txt index 0bffe2aeb5d..26ad2584cd8 100644 --- a/requirements/static/ci/py3.9/darwin.txt +++ b/requirements/static/ci/py3.9/darwin.txt @@ -774,7 +774,7 @@ pytz==2022.1 # tempora pyvmomi==6.7.1.2018.12 # via -r requirements/static/ci/common.in -pyyaml==5.4.1 +pyyaml==6.0.1 # via # -r requirements/base.txt # clustershell diff --git a/requirements/static/ci/py3.9/docs.txt b/requirements/static/ci/py3.9/docs.txt index c37b2578392..96c88b70650 100644 --- a/requirements/static/ci/py3.9/docs.txt +++ b/requirements/static/ci/py3.9/docs.txt @@ -134,7 +134,7 @@ pytz==2022.1 # -c requirements/static/ci/py3.9/linux.txt # babel # tempora -pyyaml==5.4.1 +pyyaml==6.0.1 # via # -c requirements/static/ci/py3.9/linux.txt # -r requirements/base.txt diff --git a/requirements/static/ci/py3.9/freebsd.txt b/requirements/static/ci/py3.9/freebsd.txt index e4a89b753e6..f86158df323 100644 --- a/requirements/static/ci/py3.9/freebsd.txt +++ b/requirements/static/ci/py3.9/freebsd.txt @@ -773,7 +773,7 @@ pytz==2022.1 # tempora pyvmomi==6.7.1.2018.12 # via -r requirements/static/ci/common.in -pyyaml==5.4.1 +pyyaml==6.0.1 # via # -r requirements/base.txt # clustershell diff --git a/requirements/static/ci/py3.9/invoke.txt b/requirements/static/ci/py3.9/invoke.txt index 3e1879c97e1..e9e8bf56b12 100644 --- a/requirements/static/ci/py3.9/invoke.txt +++ b/requirements/static/ci/py3.9/invoke.txt @@ -8,7 +8,7 @@ blessings==1.7 # via -r requirements/static/ci/invoke.in invoke==1.4.1 # via -r requirements/static/ci/invoke.in -pyyaml==5.4.1 +pyyaml==6.0.1 # via -r requirements/static/ci/invoke.in six==1.16.0 # via blessings diff --git a/requirements/static/ci/py3.9/lint.txt b/requirements/static/ci/py3.9/lint.txt index d9713037b6c..097b21c0876 100644 --- a/requirements/static/ci/py3.9/lint.txt +++ b/requirements/static/ci/py3.9/lint.txt @@ -752,7 +752,7 @@ pytz==2022.1 # twilio pyvmomi==7.0.2 # via -r requirements/static/ci/common.in -pyyaml==5.4.1 +pyyaml==6.0.1 # via # -r requirements/base.txt # ansible-core diff --git a/requirements/static/ci/py3.9/linux.txt b/requirements/static/ci/py3.9/linux.txt index ac16b6e52b0..064f9fbac6e 100644 --- a/requirements/static/ci/py3.9/linux.txt +++ b/requirements/static/ci/py3.9/linux.txt @@ -801,7 +801,7 @@ pytz==2022.1 # tzlocal pyvmomi==6.7.1.2018.12 # via -r requirements/static/ci/common.in -pyyaml==5.4.1 +pyyaml==6.0.1 # via # -r requirements/base.txt # ansible-core diff --git a/requirements/static/ci/py3.9/tools.txt b/requirements/static/ci/py3.9/tools.txt index 0dcf5cbef68..36efc836b96 100644 --- a/requirements/static/ci/py3.9/tools.txt +++ b/requirements/static/ci/py3.9/tools.txt @@ -38,7 +38,7 @@ python-dateutil==2.8.2 # via botocore python-tools-scripts==0.12.0 # via -r requirements/static/ci/tools.in -pyyaml==6.0 +pyyaml==6.0.1 # via -r requirements/static/ci/tools.in requests==2.31.0 # via diff --git a/requirements/static/ci/py3.9/windows.txt b/requirements/static/ci/py3.9/windows.txt index 7d18515c83e..d2c6aba824b 100644 --- a/requirements/static/ci/py3.9/windows.txt +++ b/requirements/static/ci/py3.9/windows.txt @@ -313,7 +313,7 @@ pywin32==305 # wmi pywinrm==0.4.1 # via -r requirements/static/ci/windows.in -pyyaml==5.4.1 +pyyaml==6.0.1 # via # -r requirements/base.txt # clustershell diff --git a/requirements/static/pkg/py3.10/darwin.txt b/requirements/static/pkg/py3.10/darwin.txt index c40cbc9b915..754590ec08c 100644 --- a/requirements/static/pkg/py3.10/darwin.txt +++ b/requirements/static/pkg/py3.10/darwin.txt @@ -89,7 +89,7 @@ python-gnupg==0.4.8 # via -r requirements/darwin.txt pytz==2022.1 # via tempora -pyyaml==5.4.1 +pyyaml==6.0.1 # via -r requirements/base.txt pyzmq==23.2.0 # via -r requirements/zeromq.txt diff --git a/requirements/static/pkg/py3.10/freebsd.txt b/requirements/static/pkg/py3.10/freebsd.txt index 167359b9d13..deb75954935 100644 --- a/requirements/static/pkg/py3.10/freebsd.txt +++ b/requirements/static/pkg/py3.10/freebsd.txt @@ -77,7 +77,7 @@ python-gnupg==0.4.8 # via -r requirements/static/pkg/freebsd.in pytz==2022.1 # via tempora -pyyaml==5.4.1 +pyyaml==6.0.1 # via -r requirements/base.txt pyzmq==23.2.0 # via -r requirements/zeromq.txt diff --git a/requirements/static/pkg/py3.10/linux.txt b/requirements/static/pkg/py3.10/linux.txt index bd61f53cc0f..3297db360e7 100644 --- a/requirements/static/pkg/py3.10/linux.txt +++ b/requirements/static/pkg/py3.10/linux.txt @@ -77,7 +77,7 @@ python-gnupg==0.4.8 # via -r requirements/static/pkg/linux.in pytz==2022.1 # via tempora -pyyaml==5.4.1 +pyyaml==6.0.1 # via -r requirements/base.txt pyzmq==23.2.0 # via -r requirements/zeromq.txt diff --git a/requirements/static/pkg/py3.10/windows.txt b/requirements/static/pkg/py3.10/windows.txt index 161d9ce0285..00e2e6afb64 100644 --- a/requirements/static/pkg/py3.10/windows.txt +++ b/requirements/static/pkg/py3.10/windows.txt @@ -104,7 +104,7 @@ pywin32==305 # via # -r requirements/windows.txt # wmi -pyyaml==5.4.1 +pyyaml==6.0.1 # via -r requirements/base.txt pyzmq==25.0.2 ; sys_platform == "win32" # via -r requirements/zeromq.txt diff --git a/requirements/static/pkg/py3.7/freebsd.txt b/requirements/static/pkg/py3.7/freebsd.txt index 19e947ea090..9ec3d70b083 100644 --- a/requirements/static/pkg/py3.7/freebsd.txt +++ b/requirements/static/pkg/py3.7/freebsd.txt @@ -75,7 +75,7 @@ python-gnupg==0.4.8 # via -r requirements/static/pkg/freebsd.in pytz==2022.1 # via tempora -pyyaml==5.4.1 +pyyaml==6.0.1 # via -r requirements/base.txt pyzmq==23.2.0 # via -r requirements/zeromq.txt diff --git a/requirements/static/pkg/py3.7/linux.txt b/requirements/static/pkg/py3.7/linux.txt index fd0d0c90932..1d99400bc04 100644 --- a/requirements/static/pkg/py3.7/linux.txt +++ b/requirements/static/pkg/py3.7/linux.txt @@ -75,7 +75,7 @@ python-gnupg==0.4.8 # via -r requirements/static/pkg/linux.in pytz==2022.1 # via tempora -pyyaml==5.4.1 +pyyaml==6.0.1 # via -r requirements/base.txt pyzmq==23.2.0 # via -r requirements/zeromq.txt diff --git a/requirements/static/pkg/py3.7/windows.txt b/requirements/static/pkg/py3.7/windows.txt index d93e5afdbce..b2ca9952545 100644 --- a/requirements/static/pkg/py3.7/windows.txt +++ b/requirements/static/pkg/py3.7/windows.txt @@ -105,7 +105,7 @@ pywin32==305 # -r requirements/windows.txt # cherrypy # wmi -pyyaml==5.4.1 +pyyaml==6.0.1 # via -r requirements/base.txt pyzmq==25.0.2 ; sys_platform == "win32" # via -r requirements/zeromq.txt diff --git a/requirements/static/pkg/py3.8/freebsd.txt b/requirements/static/pkg/py3.8/freebsd.txt index c8e7dbea2da..bbf7ee1d199 100644 --- a/requirements/static/pkg/py3.8/freebsd.txt +++ b/requirements/static/pkg/py3.8/freebsd.txt @@ -75,7 +75,7 @@ python-gnupg==0.4.8 # via -r requirements/static/pkg/freebsd.in pytz==2022.1 # via tempora -pyyaml==5.4.1 +pyyaml==6.0.1 # via -r requirements/base.txt pyzmq==23.2.0 # via -r requirements/zeromq.txt diff --git a/requirements/static/pkg/py3.8/linux.txt b/requirements/static/pkg/py3.8/linux.txt index 95417d0c300..ebce5bb275e 100644 --- a/requirements/static/pkg/py3.8/linux.txt +++ b/requirements/static/pkg/py3.8/linux.txt @@ -75,7 +75,7 @@ python-gnupg==0.4.8 # via -r requirements/static/pkg/linux.in pytz==2022.1 # via tempora -pyyaml==5.4.1 +pyyaml==6.0.1 # via -r requirements/base.txt pyzmq==23.2.0 # via -r requirements/zeromq.txt diff --git a/requirements/static/pkg/py3.8/windows.txt b/requirements/static/pkg/py3.8/windows.txt index ad6d0052429..3c0d8d61c7e 100644 --- a/requirements/static/pkg/py3.8/windows.txt +++ b/requirements/static/pkg/py3.8/windows.txt @@ -105,7 +105,7 @@ pywin32==305 # -r requirements/windows.txt # cherrypy # wmi -pyyaml==5.4.1 +pyyaml==6.0.1 # via -r requirements/base.txt pyzmq==25.0.2 ; sys_platform == "win32" # via -r requirements/zeromq.txt diff --git a/requirements/static/pkg/py3.9/darwin.txt b/requirements/static/pkg/py3.9/darwin.txt index b9b44e8b661..44efe7b101c 100644 --- a/requirements/static/pkg/py3.9/darwin.txt +++ b/requirements/static/pkg/py3.9/darwin.txt @@ -89,7 +89,7 @@ python-gnupg==0.4.8 # via -r requirements/darwin.txt pytz==2022.1 # via tempora -pyyaml==5.4.1 +pyyaml==6.0.1 # via -r requirements/base.txt pyzmq==23.2.0 # via -r requirements/zeromq.txt diff --git a/requirements/static/pkg/py3.9/freebsd.txt b/requirements/static/pkg/py3.9/freebsd.txt index b4cefb4824c..0320950393d 100644 --- a/requirements/static/pkg/py3.9/freebsd.txt +++ b/requirements/static/pkg/py3.9/freebsd.txt @@ -77,7 +77,7 @@ python-gnupg==0.4.8 # via -r requirements/static/pkg/freebsd.in pytz==2022.1 # via tempora -pyyaml==5.4.1 +pyyaml==6.0.1 # via -r requirements/base.txt pyzmq==23.2.0 # via -r requirements/zeromq.txt diff --git a/requirements/static/pkg/py3.9/linux.txt b/requirements/static/pkg/py3.9/linux.txt index e64cb115584..6b378323c49 100644 --- a/requirements/static/pkg/py3.9/linux.txt +++ b/requirements/static/pkg/py3.9/linux.txt @@ -77,7 +77,7 @@ python-gnupg==0.4.8 # via -r requirements/static/pkg/linux.in pytz==2022.1 # via tempora -pyyaml==5.4.1 +pyyaml==6.0.1 # via -r requirements/base.txt pyzmq==23.2.0 # via -r requirements/zeromq.txt diff --git a/requirements/static/pkg/py3.9/windows.txt b/requirements/static/pkg/py3.9/windows.txt index 730c04799db..c3a11718dd9 100644 --- a/requirements/static/pkg/py3.9/windows.txt +++ b/requirements/static/pkg/py3.9/windows.txt @@ -105,7 +105,7 @@ pywin32==305 # -r requirements/windows.txt # cherrypy # wmi -pyyaml==5.4.1 +pyyaml==6.0.1 # via -r requirements/base.txt pyzmq==25.0.2 ; sys_platform == "win32" # via -r requirements/zeromq.txt From ec658b943944494d197351548ba137e806a8f8b4 Mon Sep 17 00:00:00 2001 From: Pedro Algarvio Date: Thu, 25 May 2023 06:56:46 +0100 Subject: [PATCH 12/14] Fix lint issues after the `pyyaml` package upgrade Signed-off-by: Pedro Algarvio --- salt/modules/win_iis.py | 5 ++--- tests/integration/utils/test_win_runas.py | 12 ++++++------ 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/salt/modules/win_iis.py b/salt/modules/win_iis.py index 0c97aa84896..42ec335bf32 100644 --- a/salt/modules/win_iis.py +++ b/salt/modules/win_iis.py @@ -13,10 +13,9 @@ import logging import os import re -import yaml - import salt.utils.json import salt.utils.platform +import salt.utils.yaml from salt.exceptions import CommandExecutionError, SaltInvocationError log = logging.getLogger(__name__) @@ -187,7 +186,7 @@ def _prepare_settings(pspath, settings): match = re.search(r"Collection\[(\{.*\})\]", setting["name"]) if match: name = setting["name"][: match.start(1) - 1] - match_dict = yaml.load(match.group(1)) + match_dict = salt.utils.yaml.load(match.group(1)) index = _collection_match_to_index( pspath, setting["filter"], name, match_dict ) diff --git a/tests/integration/utils/test_win_runas.py b/tests/integration/utils/test_win_runas.py index cd8c95b9da5..41d4169d945 100644 --- a/tests/integration/utils/test_win_runas.py +++ b/tests/integration/utils/test_win_runas.py @@ -10,10 +10,10 @@ import time import traceback import pytest -import yaml import salt.utils.files import salt.utils.win_runas +import salt.utils.yaml from tests.support.case import ModuleCase from tests.support.helpers import with_system_user from tests.support.mock import Mock @@ -658,7 +658,7 @@ class RunAsTest(ModuleCase): win32serviceutil.StartService("test service") wait_for_service("test service") with salt.utils.files.fopen(RUNAS_OUT, "r") as fp: - ret = yaml.load(fp) + ret = salt.utils.yaml.safe_load(fp) assert ret["retcode"] == 1, ret @with_system_user( @@ -676,7 +676,7 @@ class RunAsTest(ModuleCase): win32serviceutil.StartService("test service") wait_for_service("test service") with salt.utils.files.fopen(RUNAS_OUT, "r") as fp: - ret = yaml.load(fp) + ret = salt.utils.yaml.safe_load(fp) assert ret["retcode"] == 1, ret @with_system_user( @@ -698,7 +698,7 @@ class RunAsTest(ModuleCase): win32serviceutil.StartService("test service") wait_for_service("test service") with salt.utils.files.fopen(RUNAS_OUT, "r") as fp: - ret = yaml.load(fp) + ret = salt.utils.yaml.safe_load(fp) assert ret["retcode"] == 0, ret @with_system_user( @@ -720,7 +720,7 @@ class RunAsTest(ModuleCase): win32serviceutil.StartService("test service") wait_for_service("test service") with salt.utils.files.fopen(RUNAS_OUT, "r") as fp: - ret = yaml.load(fp) + ret = salt.utils.yaml.safe_load(fp) assert ret["retcode"] == 0, ret def test_runas_service_system_user(self): @@ -735,5 +735,5 @@ class RunAsTest(ModuleCase): win32serviceutil.StartService("test service") wait_for_service("test service") with salt.utils.files.fopen(RUNAS_OUT, "r") as fp: - ret = yaml.load(fp) + ret = salt.utils.yaml.safe_load(fp) assert ret["retcode"] == 0, ret From c475ccba40a876337a6d4cdde91c1a5dfc708524 Mon Sep 17 00:00:00 2001 From: Pedro Algarvio Date: Tue, 18 Jul 2023 07:23:33 +0100 Subject: [PATCH 13/14] Add changelog entry Signed-off-by: Pedro Algarvio --- changelog/64657.changed.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 changelog/64657.changed.md diff --git a/changelog/64657.changed.md b/changelog/64657.changed.md new file mode 100644 index 00000000000..5770e99f1d6 --- /dev/null +++ b/changelog/64657.changed.md @@ -0,0 +1 @@ +Bump to `pyyaml==6.0.1` due to https://github.com/yaml/pyyaml/issues/601 and address lint issues From 2450240d5cec3b049222fd2ac96c8bb64845d3fe Mon Sep 17 00:00:00 2001 From: Pedro Algarvio Date: Tue, 18 Jul 2023 17:38:08 +0100 Subject: [PATCH 14/14] Bump a few requirements that got downgraded in the merge forward Signed-off-by: Pedro Algarvio --- requirements/static/ci/py3.10/cloud.txt | 5 ++--- requirements/static/ci/py3.10/freebsd.txt | 2 +- requirements/static/ci/py3.11/freebsd.txt | 2 +- requirements/static/ci/py3.8/cloud.txt | 5 ++--- requirements/static/ci/py3.8/freebsd.txt | 2 +- requirements/static/ci/py3.9/cloud.txt | 5 ++--- requirements/static/ci/py3.9/freebsd.txt | 2 +- requirements/static/pkg/py3.10/freebsd.txt | 2 +- requirements/static/pkg/py3.11/freebsd.txt | 2 +- requirements/static/pkg/py3.8/freebsd.txt | 2 +- requirements/static/pkg/py3.9/freebsd.txt | 2 +- 11 files changed, 14 insertions(+), 17 deletions(-) diff --git a/requirements/static/ci/py3.10/cloud.txt b/requirements/static/ci/py3.10/cloud.txt index dd36a14a290..345419d5c78 100644 --- a/requirements/static/ci/py3.10/cloud.txt +++ b/requirements/static/ci/py3.10/cloud.txt @@ -34,8 +34,6 @@ netaddr==0.8.0 # via # -c requirements/static/ci/py3.10/linux.txt # -r requirements/static/ci/cloud.in -ntlm-auth==1.5.0 - # via requests-ntlm profitbricks==4.1.3 # via -r requirements/static/ci/cloud.in pycparser==2.21 @@ -47,10 +45,11 @@ pypsexec==0.3.0 pyspnego==0.9.0 # via # -r requirements/static/ci/cloud.in + # requests-ntlm # smbprotocol pywinrm==0.4.3 # via -r requirements/static/ci/cloud.in -requests-ntlm==1.1.0 +requests-ntlm==1.2.0 # via pywinrm requests==2.31.0 # via diff --git a/requirements/static/ci/py3.10/freebsd.txt b/requirements/static/ci/py3.10/freebsd.txt index 7c3360eca33..122f8c948de 100644 --- a/requirements/static/ci/py3.10/freebsd.txt +++ b/requirements/static/ci/py3.10/freebsd.txt @@ -100,7 +100,7 @@ cryptography==41.0.2 # vcert distlib==0.3.6 # via virtualenv -distro==1.5.0 +distro==1.8.0 # via # -c requirements/static/ci/../pkg/py3.10/freebsd.txt # -r requirements/base.txt diff --git a/requirements/static/ci/py3.11/freebsd.txt b/requirements/static/ci/py3.11/freebsd.txt index 8b201cc960e..20e04b2a23b 100644 --- a/requirements/static/ci/py3.11/freebsd.txt +++ b/requirements/static/ci/py3.11/freebsd.txt @@ -100,7 +100,7 @@ cryptography==41.0.2 # vcert distlib==0.3.6 # via virtualenv -distro==1.5.0 +distro==1.8.0 # via # -c requirements/static/ci/../pkg/py3.11/freebsd.txt # -r requirements/base.txt diff --git a/requirements/static/ci/py3.8/cloud.txt b/requirements/static/ci/py3.8/cloud.txt index a56e8d489d4..2e23fd87195 100644 --- a/requirements/static/ci/py3.8/cloud.txt +++ b/requirements/static/ci/py3.8/cloud.txt @@ -34,8 +34,6 @@ netaddr==0.8.0 # via # -c requirements/static/ci/py3.8/linux.txt # -r requirements/static/ci/cloud.in -ntlm-auth==1.5.0 - # via requests-ntlm profitbricks==4.1.3 # via -r requirements/static/ci/cloud.in pycparser==2.21 @@ -47,10 +45,11 @@ pypsexec==0.3.0 pyspnego==0.9.0 # via # -r requirements/static/ci/cloud.in + # requests-ntlm # smbprotocol pywinrm==0.4.3 # via -r requirements/static/ci/cloud.in -requests-ntlm==1.1.0 +requests-ntlm==1.2.0 # via pywinrm requests==2.31.0 # via diff --git a/requirements/static/ci/py3.8/freebsd.txt b/requirements/static/ci/py3.8/freebsd.txt index ea147bf867f..0f9e18f052e 100644 --- a/requirements/static/ci/py3.8/freebsd.txt +++ b/requirements/static/ci/py3.8/freebsd.txt @@ -100,7 +100,7 @@ cryptography==41.0.2 # vcert distlib==0.3.6 # via virtualenv -distro==1.5.0 +distro==1.8.0 # via # -c requirements/static/ci/../pkg/py3.8/freebsd.txt # -r requirements/base.txt diff --git a/requirements/static/ci/py3.9/cloud.txt b/requirements/static/ci/py3.9/cloud.txt index 25b1d1f5532..bd93f13e1fe 100644 --- a/requirements/static/ci/py3.9/cloud.txt +++ b/requirements/static/ci/py3.9/cloud.txt @@ -34,8 +34,6 @@ netaddr==0.8.0 # via # -c requirements/static/ci/py3.9/linux.txt # -r requirements/static/ci/cloud.in -ntlm-auth==1.5.0 - # via requests-ntlm profitbricks==4.1.3 # via -r requirements/static/ci/cloud.in pycparser==2.21 @@ -47,10 +45,11 @@ pypsexec==0.3.0 pyspnego==0.9.0 # via # -r requirements/static/ci/cloud.in + # requests-ntlm # smbprotocol pywinrm==0.4.3 # via -r requirements/static/ci/cloud.in -requests-ntlm==1.1.0 +requests-ntlm==1.2.0 # via pywinrm requests==2.31.0 # via diff --git a/requirements/static/ci/py3.9/freebsd.txt b/requirements/static/ci/py3.9/freebsd.txt index 88524ce88a4..4c198da19f5 100644 --- a/requirements/static/ci/py3.9/freebsd.txt +++ b/requirements/static/ci/py3.9/freebsd.txt @@ -100,7 +100,7 @@ cryptography==41.0.2 # vcert distlib==0.3.6 # via virtualenv -distro==1.5.0 +distro==1.8.0 # via # -c requirements/static/ci/../pkg/py3.9/freebsd.txt # -r requirements/base.txt diff --git a/requirements/static/pkg/py3.10/freebsd.txt b/requirements/static/pkg/py3.10/freebsd.txt index b2db07d02bc..4ad7475dfda 100644 --- a/requirements/static/pkg/py3.10/freebsd.txt +++ b/requirements/static/pkg/py3.10/freebsd.txt @@ -22,7 +22,7 @@ cryptography==41.0.2 # via # -r requirements/crypto.txt # pyopenssl -distro==1.5.0 +distro==1.8.0 # via # -r requirements/base.txt # -r requirements/static/pkg/freebsd.in diff --git a/requirements/static/pkg/py3.11/freebsd.txt b/requirements/static/pkg/py3.11/freebsd.txt index fb3e421f580..d7fc4f50145 100644 --- a/requirements/static/pkg/py3.11/freebsd.txt +++ b/requirements/static/pkg/py3.11/freebsd.txt @@ -22,7 +22,7 @@ cryptography==41.0.2 # via # -r requirements/crypto.txt # pyopenssl -distro==1.5.0 +distro==1.8.0 # via # -r requirements/base.txt # -r requirements/static/pkg/freebsd.in diff --git a/requirements/static/pkg/py3.8/freebsd.txt b/requirements/static/pkg/py3.8/freebsd.txt index 794a7d0c2ea..c3948f2b505 100644 --- a/requirements/static/pkg/py3.8/freebsd.txt +++ b/requirements/static/pkg/py3.8/freebsd.txt @@ -22,7 +22,7 @@ cryptography==41.0.2 # via # -r requirements/crypto.txt # pyopenssl -distro==1.5.0 +distro==1.8.0 # via # -r requirements/base.txt # -r requirements/static/pkg/freebsd.in diff --git a/requirements/static/pkg/py3.9/freebsd.txt b/requirements/static/pkg/py3.9/freebsd.txt index 0e2dd9743f3..f32bed56424 100644 --- a/requirements/static/pkg/py3.9/freebsd.txt +++ b/requirements/static/pkg/py3.9/freebsd.txt @@ -22,7 +22,7 @@ cryptography==41.0.2 # via # -r requirements/crypto.txt # pyopenssl -distro==1.5.0 +distro==1.8.0 # via # -r requirements/base.txt # -r requirements/static/pkg/freebsd.in