On Mon, Oct 10, 2011 at 12:37:02PM +1030, Tom Lanyon wrote: > > When using a LDAP lookup table the 'special_result_attribute' > > parameter is available to allow me to recurse to other DNs [e.g. > > recursing to members of a LDAP group]. I can also use the > > 'leaf_result_attribute' parameter to select the attribute I want > > to return from those recursive DN lookups, but I can't find a way > > to filter that recursive lookup to avoid returning > > > > As an example, I have a group with a bunch of members, but a > > few of those members' objects are marked as 'disabled'. I'd like > > to recurse through the group's member DNs to find their 'mail' > > attribute, but only for members who don't have the 'disabled' > > attribute set to true [e.g. apply a filter of "(!(disabled=true))"]. > > > > Is it possible to apply such a filter on the recursive DN search? > > This is fine, and recurses on the memberdn attributes to find > the mail attributes for the listed users, but we need a way to > filter that recursion with a (!(accountLock=true)) filter so that > even though bob is a group member, his account is disabled so his > address shouldn't be expanded...
Postfix does not have any support for filtering the entries expanded via special_result_attribute DN values. This is semantically questionable, in any case, such member objects are supposed to be no less part of the group than a string-valued multi-valued "memberaddress" list. To get more complex behaviour, either use ldap_uri valued groups (dynamic groups) or use a target attribute (say "maildrop") that is absent in disabled objects: enabled user: mail: primary_addr...@example.com mailalternateaddress: primary_addr...@example.com mailalternateaddress: secondary_addr...@example.com maildrop: mboxaddr...@mailhub.example.com disabled user: mail: primary_addr...@example.com mailalternateaddress: primary_addr...@example.com mailalternateaddress: secondary_addr...@example.com Postfix group table: query_filter = mail=%s special_result_attribute = memberdn terminal_result_attribute = maildrop -- Viktor.