freeipa/ipaserver
Rob Crittenden dc73813b8a Warn for permissions with read/write/search/compare and no attrs
An ACI with rights of read, write, search and/or compare without
attributes to apply the rights to is effectively a no-op. Allow
the ACI to be created but include a warning. Ignore the add
and delete rights. While they make no sense in the context of
the other rights we should still warn that they are a no-op
with no attributes.

Use the existing make_aci() object method to create the
message and update the add/mod callers to capture and add the
message to the result if one is provided.

When updating an existing ACI the effective attributes will
not be included so fall back to the attributes in the resulting
permission.

Prior to checking for rights and attributes convert any deprecated
names for older clients into the newer values needed by make_aci

This is exercised by existing xmlrpc permission tests that
create such permissions without attributes.

https://pagure.io/freeipa/issue/9188

Signed-off-by: Rob Crittenden <rcritten@redhat.com>
Reviewed-By: Alexander Bokovoy <abokovoy@redhat.com>
Reviewed-By: Florence Blanc-Renaud <flo@redhat.com>
2022-07-15 16:59:15 +02:00
..
advise pylint: Skip raising-bad-type 2022-03-11 13:37:08 -05:00
custodia pylint: Fix useless-suppression 2022-03-11 13:37:08 -05:00
dnssec pylint: Fix useless-suppression 2022-03-11 13:37:08 -05:00
install install: suggest --skip-mem-check when mem check fails 2022-07-05 14:29:27 +02:00
plugins Warn for permissions with read/write/search/compare and no attrs 2022-07-15 16:59:15 +02:00
secrets Custodia: use a stronger encryption algo when exporting keys 2022-01-31 10:08:43 +01:00
__init__.py Change FreeIPA license to GPLv3+ 2010-12-20 17:19:53 -05:00
dcerpc_common.py Py3: Replace six.text_type with str 2018-09-27 16:11:18 +02:00
dcerpc.py pylint: Fix unused-variable 2022-03-11 13:37:08 -05:00
dns_data_management.py Add URI system records for KDC 2021-08-31 18:28:27 -04:00
Makefile.am Build: Makefiles for Python packages 2016-11-09 13:08:32 +01:00
masters.py Add hidden replica feature 2019-03-28 17:57:58 +01:00
p11helper.py Grammar: whitespace is a word 2020-06-23 10:16:29 +02:00
rpcserver.py pylint: Fix unused-variable 2022-03-11 13:37:08 -05:00
servroles.py Use api.env.container_sysaccounts 2020-04-28 11:28:29 +02:00
setup.cfg Port all setup.py to setuptools 2016-10-20 18:43:37 +02:00
setup.py Also drop Custodia client and forwarder 2021-06-16 10:28:17 -04:00
topology.py pylint: Fix consider-using-dict-items 2022-03-11 13:37:08 -05:00
wsgi.py Improve wsgi app loading 2021-04-07 11:43:23 +03:00