Releases: rackslab/RFL
Releases · rackslab/RFL
v1.6.0
v1.5.0
Added
- auth: Allow rebind connection with service bind credentials after successful user authentication to retrieve user information and groups (#57). Contribution from @Cornelicorn.
Fixed
- pkg: Adopt PEP 639 to declare license in package metadata with SPDX notation and fix deprecation notice raised by external build package (#52).
v1.4.0
Added
- log:
- Support de-facto standard
NO_COLORenvironment variable by disabling ANSI colors when this variable is set with non-empty value (#45). - Support optional logger component used as prefix of every log entries.
- Support de-facto standard
- settings: Support parameters deprecation (#48).
- auth:
- Introduce
JWTBaseManagerfor more generic and versatile JWT encode and decode management with custom claimset. - Introduce
jwt_validate_expiration()function to load and validate expiration of JWT without its signature.
- Introduce
Changed
- log: Disable debug by default with
DaemonFormattersimilarly toTTYFormatter.
Fixed
- auth:
- Catch
ldap.OPERATIONS_ERRORon LDAP users list and user DN lookup searches (#40). - Support binary non-ascii JWT private signature key by default with option to expect text key.
- Catch
v1.3.0
Added
- auth:
- Introduce
AnonymousUserclass as a child ofAuthenticatedUserwithis_anonynous()onAuthenticatedUserclass to tell if user is anonymous. - Add posibility to lookup user DN in the scope of user base subtree before trying authentication instead of expecting the DN is the basic concatenation of the user name attribute, the login and the user base (#30→#36).
- Introduce
- perms: Add
RBACPolicyManager.disable_anonymous()as a mean to disable anonymous role even if defined in loaded authorization policy (#35→#39)
Changed
- web: Change error description and log message when unauthorized to access endpoint with
@rbac_actiondecorator with anonymous token in order to match access without token.
Fixed
v1.2.0
Added
- settings: print list parameters as comma-separated list of values for more readability (#27).
Changed
- permissions: Do not attribute anonymous role by default anymore to authenticated users.
Fixed
v1.1.1
v1.1.0
Added
- core: Introduce
asynciomodule withasyncio_run()wrapper with a backported version ofasyncio.run()compatible with Python 3.6 (#11). - settings:
- Add
dump()method onRuntimeSettingsclass to print all settings with their value and origin on standard output. - Add
nameattribute onSettingsDefinitionLoaderYamlandRuntimeSettingsSiteLoaderIniclasses. - Add
_origindict attribute onRuntimeSettingsSectionto keep tracks of origin of parameters values. - Support new
passwordtype of parameters, similar to strings but it is not printed as clear text when dumped (#7). - Support new
ipandnetworktypes of parameters which return Pythonipaddress.IPv{4,6}Addressandipaddress.IPv{4,6}Networkobjects respectively (#8).
- Add
Fixed
- auth: When retrieving users with
users()method, raiseLDAPAuthenticationErroronly when user name attribute is missing in all retrieved user entries, instead of raising as soon as it is missing in any user entry. Warning log message is emitted for all user entries that miss the attribute (#12).
v1.0.3
Added
- core: Introduce
utilsmodule withshlex_joinfunction to backportshlex.join()from Python >= 3.8. - auth:
- Add
user_primary_group_attributeargument toLDAPAuthentifierclass initializer with default value gidNumber to define an alternative
user primary group ID attribute (#4). - Add
group_object_classesargument toLDAPAuthentifierclass initializer with default values posixGroup and groupOfNames to define alternative LDAP group object classes (#6).
- Add
Changed
- auth: Support absence of primary group attribute optional in LDAP user entries (#5).
Fixed
- auth: Handle
UnicodeDecodeErrorwhen loading JWT private key (#3).
v1.0.2
Added
- auth: Add
user_name_attributeargumetn with default value uid toLDAPAuthentifierclass initializer to specify an alternative user name attribute (#2). - build: Support explicit packages list without find, lack of dependencies, lack of urls, lack and file license in PEP 518 → setup.py script generator.
Changed
- auth: Add default values for
cacert,user_class,user_fullname_attributeandgroup_name_attributearguments ofLDAPAuthentifierclass initializer.