mirror of
https://salsa.debian.org/freeipa-team/freeipa.git
synced 2025-02-25 18:55:28 -06:00
Use update_entry with a single entry in adtrustinstance
Part of the work for: https://fedorahosted.org/freeipa/ticket/2660
This commit is contained in:
parent
3dd4b36e1a
commit
b2dd8d7f05
@ -416,12 +416,11 @@ class ADTRUSTInstance(service.Service):
|
|||||||
targets_dn = DN(('cn', 'ipa-cifs-delegation-targets'), ('cn', 's4u2proxy'),
|
targets_dn = DN(('cn', 'ipa-cifs-delegation-targets'), ('cn', 's4u2proxy'),
|
||||||
('cn', 'etc'), self.suffix)
|
('cn', 'etc'), self.suffix)
|
||||||
try:
|
try:
|
||||||
targets = self.admin_conn.getEntry(targets_dn, ldap.SCOPE_BASE)
|
current = self.admin_conn.get_entry(targets_dn)
|
||||||
current = self.admin_conn.make_entry(targets_dn, targets.toDict())
|
members = current.get('memberPrincipal', [])
|
||||||
members = current.getValues('memberPrincipal') or []
|
|
||||||
if not(self.cifs_principal in members):
|
if not(self.cifs_principal in members):
|
||||||
current.setValues("memberPrincipal", members + [self.cifs_principal])
|
current["memberPrincipal"] = members + [self.cifs_principal]
|
||||||
self.admin_conn.updateEntry(targets_dn, targets.toDict(), current.toDict())
|
self.admin_conn.update_entry(targets_dn, current)
|
||||||
else:
|
else:
|
||||||
self.print_msg('cifs principal already targeted, nothing to do.')
|
self.print_msg('cifs principal already targeted, nothing to do.')
|
||||||
except errors.NotFound:
|
except errors.NotFound:
|
||||||
@ -448,12 +447,11 @@ class ADTRUSTInstance(service.Service):
|
|||||||
# as 389-ds only operates with GroupOfNames, we have to use
|
# as 389-ds only operates with GroupOfNames, we have to use
|
||||||
# the principal's proper dn as defined in self.cifs_agent
|
# the principal's proper dn as defined in self.cifs_agent
|
||||||
try:
|
try:
|
||||||
entry = self.admin_conn.getEntry(self.smb_dn, ldap.SCOPE_BASE)
|
current = self.admin_conn.get_entry(self.smb_dn)
|
||||||
current = self.admin_conn.make_entry(self.smb_dn, entry.toDict())
|
members = current.get('member', [])
|
||||||
members = current.getValues('member') or []
|
|
||||||
if not(self.cifs_agent in members):
|
if not(self.cifs_agent in members):
|
||||||
current.setValues("member", members + [self.cifs_agent])
|
current["member"] = members + [self.cifs_agent]
|
||||||
self.admin_conn.updateEntry(self.smb_dn, entry.toDict(), current.toDict())
|
self.admin_conn.update_entry(self.smb_dn, current)
|
||||||
except errors.NotFound:
|
except errors.NotFound:
|
||||||
entry = self.admin_conn.make_entry(
|
entry = self.admin_conn.make_entry(
|
||||||
self.smb_dn,
|
self.smb_dn,
|
||||||
|
Loading…
Reference in New Issue
Block a user