[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#935080: slapcat used in gosa hook script gosa-modify-host



On Fri, May 01, 2020 at 06:26:52AM +0000, Mike Gabriel wrote:
> Here is a slight change...
> 
> 
> ```
> #!/bin/bash
> 
> set -e
> 
> declare -a hosts
> num_hosts=0
> while read KEY VALUE ; do
> 	case "$KEY" in
> 		dn:) let "num_hosts+=1" ;;
> 		cn:) hosts[$(($num_hosts-1))]="$VALUE" ;;
> 		"")
> 			:
> 		;;
> 	esac
> done < <(ldapsearch -xLLL "objectclass=dhcpHost")
> 
> # add gateway host manually
> hosts[$num_hosts]=gateway
> 
> # and also tjener...
> hosts[$num_hosts+1]=tjener
> 
> printf -v hosts_str -- ',,%q' "${hosts[@]}"
> hosts_str=$(echo $hosts_str | tr 'A-Z' 'a-z')
> 
> for i in $(basename -a /etc/debian-edu/host-keytabs/* | sed
> 's#.intern.keytab##') ; do
> 	match_value=$(echo $i | tr 'A-Z' 'a-z')
>         if [[ ! "${hosts_str},," =~ ",,${match_value},," ]]; then
>                 kadmin.local delprinc host/$i.intern@INTERN
>                 kadmin.local delprinc nfs/$i.intern@INTERN
>                 rm /etc/debian-edu/host-keytabs/$i.intern.keytab
>         fi
> done
> ```
> 
> The match_value part in the loop got introduced. We need to keep the
> case-sensitive string for exactly matching the file name and the principal
> name. But for matching, we want all to be lower-case.

Good. Please commit.

Wolfgang

Attachment: signature.asc
Description: PGP signature


Reply to: