Overview
Request 965828 accepted
- 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
- Created by dirkmueller
- In state accepted
Request History
dirkmueller created request
- 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
factory-auto added opensuse-review-team as a reviewer
Please review sources
factory-auto accepted review
Check script succeeded
licensedigger accepted review
ok
dimstar_suse added openSUSE:Factory:Staging:adi:25 as a reviewer
Being evaluated by staging project "openSUSE:Factory:Staging:adi:25"
dimstar_suse accepted review
Picked "openSUSE:Factory:Staging:adi:25"
dimstar_suse added factory-staging as a reviewer
Being evaluated by group "factory-staging"
dimstar_suse accepted review
Unstaged from project "openSUSE:Factory:Staging:adi:25"
dimstar_suse added openSUSE:Factory:Staging:adi:10 as a reviewer
Being evaluated by staging project "openSUSE:Factory:Staging:adi:10"
dimstar_suse accepted review
Picked "openSUSE:Factory:Staging:adi:10"
dimstar accepted review
dimstar_suse accepted review
Staging Project openSUSE:Factory:Staging:adi:10 got accepted.
dimstar_suse approved review
Staging Project openSUSE:Factory:Staging:adi:10 got accepted.
dimstar_suse accepted request
Staging Project openSUSE:Factory:Staging:adi:10 got accepted.