forked from pool/python-pylibacl
- update to 0.6.0:
- Support for pathlib objects in `apply_to` and `has_extended` functions when running with Python 3.6 and newer. - Use of built-in C API functions for bytes/unicode/pathlib conversion when dealing with file names, removing custom code (with the associated benefits). - Initialisation protocol has been changed, to disallow uninitialised objects; this means that `__new__` will always create valid objects, to prevent the need for checking initialisation status in all code paths; this also (implicitly) fixes memory leaks on re-initialisation (calling `__init__(342200246)` on an existing object) and segfaults (!) on non-initialised object attribute access. Note ACL re-initialisation is tricky and (still) leads to undefined behaviour of existing Entry objects pointing to it. - Fix another bug in ACL re-initialisation where failures would result in invalid objects; now failed re-initialisation does not touch the original object. - Restore `__setstate__`/`__getstate__` support on Linux; this was inadvertently removed due a typo(!) when adding support for it in FreeBSD. Pickle should work again for ACL instances, although not sure how stable this serialisation format actually is. - Additionally, slightly change `__setstate__()` input to not allow Unicode, since the serialisation format is an opaque binary format. - Fix (and change) entry qualifier (which is a user/group ID) behaviour: assume/require that uid_t/gid_t are unsigned types (they are with glibc, MacOS and FreeBSD at least; the standard doesn't document the signedness), and convert parsing and returning the qualifier to behave accordingly. The breakage was most apparent on 32-bit architectures, in which context the problem was originally reported (see issue #13). - Added a `data` keyword argument to `ACL()`, which allows restoring an OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pylibacl?expand=0&rev=17
This commit is contained in:
@@ -1,3 +1,45 @@
|
||||
-------------------------------------------------------------------
|
||||
Sat Mar 26 19:52:42 UTC 2022 - Dirk Müller <dmueller@suse.com>
|
||||
|
||||
- update to 0.6.0:
|
||||
- Support for pathlib objects in `apply_to` and `has_extended`
|
||||
functions when running with Python 3.6 and newer.
|
||||
- Use of built-in C API functions for bytes/unicode/pathlib conversion
|
||||
when dealing with file names, removing custom code (with the
|
||||
associated benefits).
|
||||
- Initialisation protocol has been changed, to disallow uninitialised
|
||||
objects; this means that `__new__` will always create valid objects,
|
||||
to prevent the need for checking initialisation status in all code
|
||||
paths; this also (implicitly) fixes memory leaks on re-initialisation
|
||||
(calling `__init__(342200246)` on an existing object) and segfaults (!) on
|
||||
non-initialised object attribute access. Note ACL re-initialisation is
|
||||
tricky and (still) leads to undefined behaviour of existing Entry
|
||||
objects pointing to it.
|
||||
- Fix another bug in ACL re-initialisation where failures would result
|
||||
in invalid objects; now failed re-initialisation does not touch the
|
||||
original object.
|
||||
- Restore `__setstate__`/`__getstate__` support on Linux; this was
|
||||
inadvertently removed due a typo(!) when adding support for it in
|
||||
FreeBSD. Pickle should work again for ACL instances, although not sure
|
||||
how stable this serialisation format actually is.
|
||||
- Additionally, slightly change `__setstate__()` input to not allow
|
||||
Unicode, since the serialisation format is an opaque binary format.
|
||||
- Fix (and change) entry qualifier (which is a user/group ID) behaviour:
|
||||
assume/require that uid_t/gid_t are unsigned types (they are with
|
||||
glibc, MacOS and FreeBSD at least; the standard doesn't document the
|
||||
signedness), and convert parsing and returning the qualifier to behave
|
||||
accordingly. The breakage was most apparent on 32-bit architectures,
|
||||
in which context the problem was originally reported (see issue #13).
|
||||
- Added a `data` keyword argument to `ACL()`, which allows restoring an
|
||||
ACL directly from a serialised form (as given by `__getstate__()`),
|
||||
which should simplify some uses cases (`a = ACL(); a.__set
|
||||
state__(342200246)`).
|
||||
- When available, add the file path to I/O error messages, which should
|
||||
lead to easier debugging.
|
||||
- The test suite has changed to `pytest`, which allows increased
|
||||
coverage via parameterisation.
|
||||
- drop 09c5bd80cf811a0e7b81ceddfb525d576885e097.patch (upstream)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Feb 24 15:28:16 UTC 2020 - Hans-Peter Jansen <hpj@urpla.net>
|
||||
|
||||
|
Reference in New Issue
Block a user