mirror of
https://salsa.debian.org/freeipa-team/freeipa.git
synced 2025-02-25 18:55:28 -06:00
Fix bug: when deleting hosts, their services where deleted incorrectly
This commit is contained in:
parent
3c5988d078
commit
5e4c0014df
@ -28,6 +28,7 @@ import sys
|
||||
from ipalib import api, crud, errors, util
|
||||
from ipalib import Object
|
||||
from ipalib import Str, Flag
|
||||
from ipalib.plugins.service import split_principal
|
||||
|
||||
_container_dn = api.env.container_host
|
||||
_default_attributes = [
|
||||
@ -210,12 +211,15 @@ class host_del(crud.Delete):
|
||||
"""
|
||||
ldap = self.api.Backend.ldap2
|
||||
dn = get_host(ldap, hostname)
|
||||
hostname = hostname.lower()
|
||||
|
||||
# Remove all service records for this host
|
||||
(services, truncated) = api.Command['service_find'](hostname)
|
||||
for (dn, entry_attrs) in services:
|
||||
principal = entry_attrs['krbprincipalname']
|
||||
api.Command['service_del'](principal)
|
||||
for (dn_, entry_attrs) in services:
|
||||
principal = entry_attrs['krbprincipalname'][0]
|
||||
(service, hostname_, realm) = split_principal(principal)
|
||||
if hostname_.lower() == hostname:
|
||||
api.Command['service_del'](principal)
|
||||
|
||||
ldap.delete_entry(dn)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user