freeipa/ipaserver/plugins
Rob Crittenden fe9be8c4a1 Convert values using _SYNTAX_MAPPING with --delattr
When an entry is loaded the incoming values are converted
into python datatypes automatically based on the _SYNTAX_MAPPING
value in ipaldap.

When using delattr to remove a mapped value it will fail because
the datatypes do not match up. For example date types are
datetime.datetime structions and won't match a generalized time
string.

So try to map the value to delete using _SYNTAX_MAPPING before
trying to remove the value. Fall back to trying to remove the
raw value if the mapping fails.

This won't work for some mapping types, DNs for example. Providing
only the RDN value for a DN-type, manager for example, lacks the
context to know how to construct the DN (RDN and contaner).

Fixes: https://pagure.io/freeipa/issue/9004

Signed-off-by: Rob Crittenden <rcritten@redhat.com>
Reviewed-By: Alexander Bokovoy <abokovoy@redhat.com>
2022-03-16 12:18:35 +02:00
..
__init__.py Change FreeIPA license to GPLv3+ 2010-12-20 17:19:53 -05:00
aci.py pylint: Fix unused-variable 2022-03-11 13:37:08 -05:00
automember.py pylint: Fix consider-using-in 2022-03-11 13:37:08 -05:00
automount.py Reworked the renaming mechanism 2017-03-27 19:08:26 +02:00
baseldap.py Convert values using _SYNTAX_MAPPING with --delattr 2022-03-16 12:18:35 +02:00
baseuser.py Redesign subid feature 2021-07-09 09:47:30 -04:00
batch.py pylint: Fix useless-suppression 2022-03-11 13:37:08 -05:00
ca.py ca plugin: improve doc 2020-07-07 10:07:48 -04:00
caacl.py LGTM: raise handle_not_found() 2018-01-09 07:53:28 +01:00
cert.py pylint: Fix useless-suppression 2022-03-11 13:37:08 -05:00
certmap.py Change FreeIPA references to IPA and Identity Management 2021-01-21 13:51:45 +01:00
certprofile.py Change FreeIPA references to IPA and Identity Management 2021-01-21 13:51:45 +01:00
config.py Config plugin: return EmptyModlist when no change is applied 2022-01-13 14:20:59 -05:00
delegation.py Fix errors found by Pylint-2.4.3 2019-10-21 18:01:32 +11:00
dns.py pylint: Fix consider-using-dict-items 2022-03-11 13:37:08 -05:00
dnsserver.py dnsserver.py: dnsserver-find no longer returns internal server error 2017-06-15 13:51:06 +02:00
dogtag.py pylint: Fix consider-using-dict-items 2022-03-11 13:37:08 -05:00
domainlevel.py Use api.env.container_masters 2019-03-28 00:21:00 +01:00
group.py Enhance error message when adding non-posix group with a GID 2021-03-29 10:09:22 +03:00
hbac.py ipalib: move server-side plugins to ipaserver 2016-06-03 09:00:34 +02:00
hbacrule.py hbacrule: reduce number of LDAP searches during deletion 2021-05-06 17:05:17 -04:00
hbacsvc.py remove trailing newlines form python modules 2016-10-12 10:38:52 +02:00
hbacsvcgroup.py remove trailing newlines form python modules 2016-10-12 10:38:52 +02:00
hbactest.py pylint: Fix useless-suppression 2022-03-11 13:37:08 -05:00
host.py Add checks to prevent adding auth indicators to internal IPA services 2021-07-05 11:07:02 +02:00
hostgroup.py Allow rename of a host group 2020-03-31 09:21:37 +03:00
idrange.py Add basic support for subordinate user/group ids 2021-07-09 09:47:30 -04:00
idviews.py pylint: Skip raising-bad-type 2022-03-11 13:37:08 -05:00
internal.py WebUI: Improve subordinate ids user workflow 2021-07-09 09:47:30 -04:00
join.py Delay import of psutil to avoid AVC 2020-09-23 14:49:15 +02:00
krbtpolicy.py Reset per-indicator Kerberos policy 2019-12-18 14:16:33 +01:00
ldap2.py Implement simple LDAP cache layer 2021-05-12 10:45:57 -04:00
location.py Fix div-by-zero when svc weight is 0 for all masters in location 2020-02-26 13:42:10 -05:00
migration.py pylint: Fix unused-variable 2022-03-11 13:37:08 -05:00
misc.py Make env and plugins commands local again 2016-12-02 13:00:06 +01:00
netgroup.py LGTM: raise handle_not_found() 2018-01-09 07:53:28 +01:00
otp.py ipalib: move server-side plugins to ipaserver 2016-06-03 09:00:34 +02:00
otpconfig.py ipalib: move server-side plugins to ipaserver 2016-06-03 09:00:34 +02:00
otptoken.py Change FreeIPA references to IPA and Identity Management 2021-01-21 13:51:45 +01:00
passwd.py ipa passwd: make help for --otp option clearer 2021-03-29 10:07:38 +03:00
permission.py pylint: Fix useless-suppression 2022-03-11 13:37:08 -05:00
ping.py ipalib: move server-side plugins to ipaserver 2016-06-03 09:00:34 +02:00
pkinit.py Don't fail if config-show does not return servers 2019-03-28 17:57:58 +01:00
privilege.py pylint: Fix useless-suppression 2022-03-11 13:37:08 -05:00
pwpolicy.py pwpolicy: change lifetime error message 2021-11-22 09:54:34 +01:00
rabase.py CRL generation master: new utility to enable|disable 2019-03-14 09:39:55 +01:00
radiusproxy.py radiusproxy: add permission for reading radius proxy servers 2018-11-13 12:40:44 +01:00
realmdomains.py Fix pylint 2.0 return-related violations 2018-07-11 10:11:38 +02:00
role.py Support adding user ID overrides as group and role members 2020-06-08 12:39:34 -04:00
schema.py pylint: Fix arguments-renamed 2022-03-11 13:37:08 -05:00
selfservice.py Fix errors found by Pylint-2.4.3 2019-10-21 18:01:32 +11:00
selinuxusermap.py hbacrule: reduce number of LDAP searches during deletion 2021-05-06 17:05:17 -04:00
server.py Remove duplicate _() in the error path 2021-11-23 10:27:45 +01:00
serverrole.py servrole: takes_params must be a tuple 2020-04-27 10:15:58 +02:00
serverroles.py Improve config-show to show hidden servers 2019-03-28 17:57:58 +01:00
service.py Fall back to krbprincipalname when validating host auth indicators 2021-07-13 17:57:28 -04:00
servicedelegation.py service delegation: allow to add and remove host principals 2020-05-14 21:47:17 +03:00
session.py Fix some untranslatable commands in Web UI API Browser 2018-06-21 18:42:05 +02:00
stageuser.py Fix E722 do not use bare 'except' 2020-05-05 10:42:46 +02:00
subid.py subid: subid-match: display the owner's ID not DN 2021-09-02 20:51:56 +02:00
sudo.py ipalib: move server-side plugins to ipaserver 2016-06-03 09:00:34 +02:00
sudocmd.py sudocmd: ensure command doesn't contain trailing dot before adding it 2021-02-15 09:59:41 +02:00
sudocmdgroup.py remove trailing newlines form python modules 2016-10-12 10:38:52 +02:00
sudorule.py OpenLDAP 2.6+: use only -H option to specify LDAP url 2022-02-07 10:35:27 +02:00
topology.py domainlevel-get: fix various issues when running as non-admin 2019-03-25 09:48:31 +01:00
trust.py pylint: Skip raising-bad-type 2022-03-11 13:37:08 -05:00
user.py User plugin: do not return the SID on user creation 2021-11-02 10:11:28 +01:00
vault.py Support AES for KRA archival wrapping 2022-03-16 12:07:01 +02:00
virtual.py extract virtual operation access check subroutine 2020-06-30 11:47:29 +02:00
whoami.py whoami.py: Type error when running tests 2017-07-07 14:44:42 +02:00
xmlserver.py Add endpoint for serving i18n requests 2018-07-17 15:32:28 -04:00