mirror of
https://salsa.debian.org/freeipa-team/freeipa.git
synced 2026-10-25 14:40:16 -05:00
Use 389-DS' dnaInterval setting to assign intervals
Signed-off-by: Christian Heimes <cheimes@redhat.com> Reviewed-By: Francois Cami <fcami@redhat.com> Reviewed-By: Rob Crittenden <rcritten@redhat.com> Reviewed-By: Francois Cami <fcami@redhat.com> Reviewed-By: Rob Crittenden <rcritten@redhat.com>
This commit is contained in:
1 parent
5d4fe06663
commit
ef115b0418
4 files changed
+6
-19
No files matched your search
+2
-1
@@ -106,8 +106,9 @@
|
||||
%global python_ldap_version 3.1.0-1
|
||||
|
||||
# Make sure to use 389-ds-base versions that fix https://github.com/389ds/389-ds-base/issues/4700
|
||||
# and has DNA interval enabled
|
||||
%if 0%{?fedora} < 34
|
||||
%global ds_version %{lua: local v={}; v['32']='1.4.3.20-2'; v['33']='1.4.4.16-1'; print(v[rpm.expand('%{fedora}')])}
|
||||
%global ds_version 1.4.4.16-1
|
||||
%else
|
||||
%global ds_version 2.0.5-1
|
||||
%endif
|
||||
|
||||
@@ -31,6 +31,7 @@ dnaScope: $SUFFIX
|
||||
dnaThreshold: eval($SUBID_DNA_THRESHOLD)
|
||||
dnaSharedCfgDN: cn=subordinate-ids,cn=dna,cn=ipa,cn=etc,$SUFFIX
|
||||
dnaExcludeScope: cn=provisioning,$SUFFIX
|
||||
dnaInterval: eval($SUBID_COUNT)
|
||||
# TODO: enable when 389-DS' DNA plugin supports dnaStepAttr
|
||||
# dnaIntervalAttr: ipasubuidcount
|
||||
# dnaIntervalAttr: ipasubgidcount
|
||||
|
||||
@@ -62,12 +62,8 @@ default:member: cn=Subordinate ID Administrators,cn=privileges,cn=pbac,$SUFFIX
|
||||
# The delete-when-empty check is required because IPA uses MOD_REPLACE to
|
||||
# set attributes, see https://github.com/389ds/389-ds-base/issues/4597.
|
||||
#
|
||||
# TODO: remove (ipasubuidnumber>=eval($SUBID_RANGE_START) from
|
||||
# self-service permission when 389-DS' DNA plugin supports dnaStepAttr and
|
||||
# fake_dna_plugin hack has been removed.
|
||||
#
|
||||
dn: cn=subids,cn=accounts,$SUFFIX
|
||||
add: aci: (targetfilter = "(objectclass=ipasubordinateidentry)")(targetattr="description || ipaowner || ipauniqueid")(targattrfilters = "add=objectClass:(|(objectClass=top)(objectClass=ipasubordinateid)(objectClass=ipasubordinateidentry)(objectClass=ipasubordinategid)(objectClass=ipasubordinateuid)) && ipasubuidnumber:(|(ipasubuidnumber>=eval($SUBID_RANGE_START))(ipasubuidnumber=-1)) && ipasubuidcount:(ipasubuidcount=eval($SUBID_COUNT)) && ipasubgidnumber:(|(ipasubgidnumber>=eval($SUBID_RANGE_START))(ipasubgidnumber=-1)) && ipasubgidcount:(ipasubgidcount=eval($SUBID_COUNT)), del=ipasubuidnumber:(!(ipasubuidnumber=*)) && ipasubuidcount:(!(ipasubuidcount=*)) && ipasubgidnumber:(!(ipasubgidnumber=*)) && ipasubgidcount:(!(ipasubgidcount=*))")(version 3.0;acl "selfservice: Add subordinate id";allow (add, write) userattr = "ipaowner#SELFDN" and groupdn="ldap:///cn=Self-service subordinate ID,cn=permissions,cn=pbac,$SUFFIX";)
|
||||
add: aci: (targetfilter = "(objectclass=ipasubordinateidentry)")(targetattr="description || ipaowner || ipauniqueid")(targattrfilters = "add=objectClass:(|(objectClass=top)(objectClass=ipasubordinateid)(objectClass=ipasubordinateidentry)(objectClass=ipasubordinategid)(objectClass=ipasubordinateuid)) && ipasubuidnumber:(ipasubuidnumber=-1) && ipasubuidcount:(ipasubuidcount=eval($SUBID_COUNT)) && ipasubgidnumber:(ipasubgidnumber=-1) && ipasubgidcount:(ipasubgidcount=eval($SUBID_COUNT)), del=ipasubuidnumber:(!(ipasubuidnumber=*)) && ipasubuidcount:(!(ipasubuidcount=*)) && ipasubgidnumber:(!(ipasubgidnumber=*)) && ipasubgidcount:(!(ipasubgidcount=*))")(version 3.0;acl "selfservice: Add subordinate id";allow (add, write) userattr = "ipaowner#SELFDN" and groupdn="ldap:///cn=Self-service subordinate ID,cn=permissions,cn=pbac,$SUFFIX";)
|
||||
add: aci: (targetfilter = "(objectclass=ipasubordinateidentry)")(targetattr="description || ipaowner || ipauniqueid")(targattrfilters = "add=objectClass:(|(objectClass=top)(objectClass=ipasubordinateid)(objectClass=ipasubordinateidentry)(objectClass=ipasubordinategid)(objectClass=ipasubordinateuid)) && ipasubuidnumber:(|(ipasubuidnumber>=1)(ipasubuidnumber=-1)) && ipasubuidcount:(ipasubuidcount=eval($SUBID_COUNT)) && ipasubgidnumber:(|(ipasubgidnumber>=1)(ipasubgidnumber=-1)) && ipasubgidcount:(ipasubgidcount=eval($SUBID_COUNT)), del=ipasubuidnumber:(!(ipasubuidnumber=*)) && ipasubuidcount:(!(ipasubuidcount=*)) && ipasubgidnumber:(!(ipasubgidnumber=*)) && ipasubgidcount:(!(ipasubgidcount=*))")(version 3.0;acl "Add subordinate ids to any user";allow (add, write) groupdn="ldap:///cn=Subordinate ID Administrators,cn=privileges,cn=pbac,$SUFFIX";)
|
||||
|
||||
# DNA plugin and idrange configuration
|
||||
@@ -90,6 +86,7 @@ default: dnaScope: $SUFFIX
|
||||
default: dnaThreshold: eval($SUBID_DNA_THRESHOLD)
|
||||
default: dnaSharedCfgDN: cn=subordinate-ids,cn=dna,cn=ipa,cn=etc,$SUFFIX
|
||||
default: dnaExcludeScope: cn=provisioning,$SUFFIX
|
||||
default: dnaInterval: eval($SUBID_COUNT)
|
||||
# TODO: enable when 389-DS' DNA plugin supports dnaStepAttr
|
||||
# add: dnaIntervalAttr: ipasubuidcount
|
||||
# add: dnaIntervalAttr: ipasubgidcount
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
# Copyright (C) 2021 FreeIPA Contributors see COPYING for license
|
||||
#
|
||||
|
||||
import random
|
||||
import uuid
|
||||
|
||||
from ipalib import api
|
||||
@@ -291,12 +290,8 @@ class subid(LDAPObject):
|
||||
_entry_attrs = ldap.get_entry(dn, ["objectclass"])
|
||||
entry_attrs["objectclass"] = _entry_attrs["objectclass"]
|
||||
|
||||
# XXX HACK, remove later
|
||||
if subuid == DNA_MAGIC:
|
||||
subuid = self._fake_dna_plugin(ldap, dn, entry_attrs)
|
||||
|
||||
entry_attrs["ipasubuidnumber"] = subuid
|
||||
# enforice subuid == subgid for now
|
||||
# enforce subuid == subgid for now
|
||||
entry_attrs["ipasubgidnumber"] = subuid
|
||||
# hard-coded constants
|
||||
entry_attrs["ipasubuidcount"] = constants.SUBID_COUNT
|
||||
@@ -350,13 +345,6 @@ class subid(LDAPObject):
|
||||
filters.extend(extra_filters)
|
||||
return ldap.combine_filters(filters, rules=ldap.MATCH_ALL)
|
||||
|
||||
def _fake_dna_plugin(self, ldap, dn, entry_attrs):
|
||||
"""XXX HACK, remove when 389-DS DNA plugin supports steps"""
|
||||
return (
|
||||
constants.SUBID_RANGE_START
|
||||
+ random.randint(1, 32764 - 2) * constants.SUBID_COUNT
|
||||
)
|
||||
|
||||
|
||||
@register()
|
||||
class subid_add(LDAPCreate):
|
||||
|
||||
Reference in new issue
Block a user