#!/bin/sh -e

. cl-config

[ "$#" -ge 1 ] || fatal "more arguments required"
config="$1"
shift

if [ -n "$1" ]; then
	filter="(&(objectClass=posixGroup)(cn=$1))"
else
	filter="objectClass=posixGroup"
fi

cl_slapd_config "$config"

ldapsearch -b "$base" -x "$filter" cn gidNumber | \
		while read key value; do
			if [ "$key" = "dn:" -o "$key" = "result:" ]; then
				if [ -n "$cn" -a -n "$gid" ]; then
					echo "$cn:x:$gid:"
						
				fi
				cn=
				gid=
			fi
			[ "$key" = "cn:" ] && cn="$value"
			[ "$key" = "gidNumber:" ] && gid="$value"
		done
