Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: jaraco/keyring
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v23.8.0
Choose a base ref
...
head repository: jaraco/keyring
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v23.8.1
Choose a head ref
  • 3 commits
  • 2 files changed
  • 2 contributors

Commits on Aug 7, 2022

  1. Fix regression which made libsecret backend unusable in v23.8.0

    libsecret/secret-schema.h has this enum:
    
        typedef enum {
            SECRET_SCHEMA_ATTRIBUTE_STRING = 0,
            SECRET_SCHEMA_ATTRIBUTE_INTEGER = 1,
            SECRET_SCHEMA_ATTRIBUTE_BOOLEAN = 2,
        } SecretSchemaAttributeType;
    
    Because of this, bool(Secret.SchemaAttributeType.STRING) evaluates to
    False. So when we do this in schema property, _query code ignores the
    second argument:
    
        self._query(
            Secret.SchemaAttributeType.STRING,
            Secret.SchemaAttributeType.STRING,
            application=Secret.SchemaAttributeType.STRING,
        )
    
    And it causes any use of libsecret backend to fail with this error:
    
        >>> import keyring.backends.libsecret
        >>> k = keyring.backends.libsecret.Keyring()
        >>> k.set_password('foo', 'bar', 'baz')
    
        (process:26311): libsecret-CRITICAL **: 19:22:53.299: secret_password_storev_sync: invalid username attribute for org.freedesktop.Secret.Generic schema
        Traceback (most recent call last):
          File "<stdin>", line 1, in <module>
          File "/home/dmitry/upstream/keyring/keyring/backends/libsecret.py", line 98, in set_password
            raise PasswordSetError("Failed to store password!")
        keyring.errors.PasswordSetError: Failed to store password!
    mitya57 committed Aug 7, 2022
    Configuration menu
    Copy the full SHA
    52ceae8 View commit details
    Browse the repository at this point in the history
  2. Update changelog

    jaraco committed Aug 7, 2022
    Configuration menu
    Copy the full SHA
    4b2d9e5 View commit details
    Browse the repository at this point in the history
  3. Merge pull request #587 from jaraco/fix-regression

    Fix regression which made libsecret backend unusable in v23.8.0
    jaraco authored Aug 7, 2022
    Configuration menu
    Copy the full SHA
    f20bdd9 View commit details
    Browse the repository at this point in the history
Loading