Skip to Content.
Sympa Menu

en - [sympa-users] 2-level LDAP named filter search of sorts?

Subject: The mailing list for listmasters using Sympa

List archive

Chronological Thread  
  • From: Scott Balmos <address@concealed>
  • To: address@concealed
  • Subject: [sympa-users] 2-level LDAP named filter search of sorts?
  • Date: Thu, 10 Feb 2005 00:53:20 -0500

Hi all,

I'm not sure how to proceed with this... I almost need the equivalent of a 2-level LDAP named filter search ability for scenarios.

My lists are dynamic, based on posixGroup entries in LDAP. I easily run a 2-level LDAP include search in order to build the members. An example is below:

ou=list1
memberUid: sbalmos
ou=people
uid: sbalmos
mail: address@concealed
mailForwarding: address@concealed
mailAlternate: address@concealed
mailAlternate: address@concealed

The 2-level query works great, as I said. The first level grabs the uid list, and the next grabs the mail attribute corresponding to each uid. So the subscriber cache database table gets filled with the mail attributes (in my case address@concealed for list "list1").

Now comes the hard part... I want to be able to send from any of my mail addresses, not just the one in the mail attribute. The mail attribute address is kind of like the canonic address, and the others are alternates (I think I've been over this topic before).

So now, I need a two-level LDAP search. The first search would search to match the [sender] address to any address in attributes mail, mailForwarding, and mailAlternate. It would grab the mail attribute (the canonic address), and then do a normal is_subscriber([returned_mail_attr]) to see if I really am a member of the list. In reality, it seems, I could get away with search(sender_canonic.ldap,[sender]) if search() would return a string that I could use in another scenario function, not just true or false.

e.g. in a scenario file...

search(sender_canonic.ldap,[sender]) smtp -> assign_to=mail_attr
is_subscriber([mail_attr]) smtp -> do_it

Or something similar I guess.

Is anything like this remotely possible? How hard would this be to implement if it's not available? Something like this could sink my system setup if I can't find a way. :(

Thanks!

--
Scott Balmos




Archive powered by MHonArc 2.6.19+.

Top of Page