[Bug 2022372] Re: Backport for deprecated int_from_bytes to int.from_bytes

Mauricio Faria de Oliveira 2022372 at bugs.launchpad.net
Mon Aug 21 20:13:11 UTC 2023


Hi Heather,

> That is why we need to change both packages, python3-secretstorage and python3-cryptography 
> and that's what I tested with changes to both packages with no problems, See comment #14.

Thanks for clarifying.  Yes, I had read #14, but src:python-secretstorage should not change,
only src:python-cryptography (comment #10 from Robie / SRU team, as the issue comes in UCA).

> So to re-cap, The suggestion to only make a change to UCA python3-cryptography won't work
> due to the fact that python3-secretstorage still calls out to the deprecated function.

It should work if we just un-deprecate `int_from_bytes` (instead of removing it),
so the calls to that function do not throw deprecation warnings, apparently?

I mean, the mentioned commit [0] does remove the definition of `int_from_bytes`,
so it's no longer available (to src:python-secretstorage and all other rev deps).

On the other hand, this hunk in commit [1] introduced the change on `int_from_bytes`
(from an alias to `int.from_bytes` to a `deprecated(int.from_bytes)` wrapper/warning).

So, a partial revert of that hunk (and possibly the associated `tests/` hunks)
should clear the `deprecated()` warning message, if I understand it correctly?

Thanks again!
Mauricio

[0] https://github.com/pyca/cryptography/commit/c8dc74c5ebb37e82fe381a9d248379c32a049072
[1] https://github.com/pyca/cryptography/commit/5528a3182fdd6ed1c44c126d451a87bcf39e79de#diff-c9ed41cf466f7643671839013ae11d8315b34fcacde992483edca84d6b2dfe04


** Changed in: python-secretstorage (Ubuntu Focal)
       Status: In Progress => Invalid

** Changed in: python-secretstorage (Ubuntu Focal)
     Assignee: Heather Lemon (hypothetical-lemon) => (unassigned)

-- 
You received this bug notification because you are a member of Ubuntu
OpenStack, which is subscribed to Ubuntu Cloud Archive.
https://bugs.launchpad.net/bugs/2022372

Title:
  Backport for deprecated int_from_bytes to int.from_bytes

Status in Ubuntu Cloud Archive:
  Invalid
Status in Ubuntu Cloud Archive yoga series:
  Incomplete
Status in python-secretstorage package in Ubuntu:
  Invalid
Status in python-secretstorage source package in Bionic:
  Invalid
Status in python-secretstorage source package in Focal:
  Invalid
Status in python-secretstorage source package in Jammy:
  Invalid
Status in python-secretstorage source package in Kinetic:
  Invalid

Bug description:
  [ Impact ]

  A method from cryptographic_utils was deprecated and replaced.
  This affects both python-secretstorage and python3-secretstorage
  with the python3-cryptography dependency from the Ubuntu Cloud Archive.

  It also deprecates the usage of utils.int_from_bytes: pyca/cryptography#5609
  int_from_bytes is deprecated in favor of int.from_bytes which ships with Python 3

  We are cherry-picking 2 commits from upstream,
  ad7c45e493fff48f897487d6aff63f4fff021d31 and
  08c7010322ecec0de1e51cc51d5ed9db34a38aa3 to address the unnecessary
  logging when using any Openstack command, or automating the
  install/upgrade of services on OpenStack.

  [ Test Plan ]

  # This is the expected output
  python3
  >>> from secretstorage.dhcrypto import Session
  >>> session = Session()
  >>> exit()

  Installing and running the dhcrypto module from python-secretstorage
  shows after installing the package from the cloud-archive we see
  logger warnings messages from the deprecated method. Yoga has the
  updated python3-cryptography module with the upstream Debian fixes.

  sudo apt-add-repository -y cloud-archive:yoga
  sudo apt install -y python3-cryptography

  python3
  >>> from secretstorage.dhcrypto import Session
  /usr/lib/python3/dist-packages/secretstorage/dhcrypto.py:15: CryptographyDeprecationWarning: int_from_bytes is deprecated, use int.from_bytes instead
    from cryptography.utils import int_from_bytes
  /usr/lib/python3/dist-packages/secretstorage/util.py:19: CryptographyDeprecationWarning: int_from_bytes is deprecated, use int.from_bytes instead
    from cryptography.utils import int_from_bytes
  >>> exit()

  [ Where problems could occur ]

  This does not include the cryptography module update which python3-secretstorage depends on. [1] We are also still supporting Python2 with this cherry-picked patch.
  Build-Depends: debhelper-compat (= 13),
                 dh-python,
                 python3-all
                 python3-cryptography,
                 python3-jeepney
                 python3-setuptools,
                 python3-sphinx

  The impact is low as this fixes a deprecated method from a 3rd party
  library.

  It allows one to create, edit and delete secret items, manipulate
  secret collections, and search for items matching given attributes.
  It also supports locking and unlocking collections.

  [ Other Info ]

  [0] upstream debian link - https://salsa.debian.org/python-team/packages/python-secretstorage/-/commit/e24df79cf7d62f11c2906d5aa0f4885cefeafbbf
  [1] Github conversation link - https://github.com/mitya57/secretstorage/pull/27
  [2] upstream cherrypick author other - https://github.com/mitya57/secretstorage/pull/27

To manage notifications about this bug go to:
https://bugs.launchpad.net/cloud-archive/+bug/2022372/+subscriptions




More information about the Ubuntu-openstack-bugs mailing list