Taking dn and filter from config file or commandline is hopeless, because the plugin author has to dictate to make up for inflexibilities of the limited opportunities, but the tools for taking dn elements and filter elements, parsing(validating), and escaping them(strip out provided escapes, re-escape using Net::LDAP util), it's all there to provide the dynamic functionality needed to take dn and filter input from userland and combine static user input with data that's dynamic, parse, validate, slice and dice.
Net::LDAP has the means to interact with ldap server on a udp socket. I don't think tinyldap does that. That means lumbering slapd could pick up a little advantage by running on socket. Socket name would become a config option, -e socketpath then use it and use Net::LDAPI for sockets.
-Bob Dodds
