[Date Prev][Date Next] [Chronological] [Thread] [Top]

problem with squid_ldap_auth and OpenLDAP



After doing lots of googling, I am still coming up empty. Here is my problem:

We have BEEN running squid_ldap_auth against Netscape Directory server. We have switched to an OpenLDAP server v2.2.15 and can no longer successfully authenticate for squid proxy server using squid_ldap_auth.

In squid.conf:
authenticate_program /usr/local/sbin/squid_ldap_auth -b o=eastern.edu -f uid=%s ldapserver.domain.com


Example user entry in OpenLDAP on ldapserver.domain.com:
dn: uid=bob,ou=college,ou=staff,ou=people,o=eastern.edu
cn: Bob Smith
givenName: Bob
sn: Smith
uid: bob
userPassword:: ABCXYZ
mail: bob@eastern.edu
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson

Where ABCXYZ is the base64 encoded cleartext password.

I have the following acl's in my slapd.conf:
access to attrs=userPassword
        by * auth
access to *
        by * read

The above is to prevent anonymous from seeing passwords. Given the above, when I try to run squid_ldap_auth by hand for uid/pass for "bob" I always get ERR. Below is some log level 1 data from openldap log. It looks like it is able to connect, it finds the DN for uid=bob using an anonymous bind, it then binds using bob's dn, but then some errors.

Sep 9 17:12:25 daniel slapd[17757]: connection_get(14): got connid=341
Sep 9 17:12:25 daniel slapd[17757]: connection_read(14): checking for input on id=341
Sep 9 17:12:25 daniel slapd[17757]: ber_get_next on fd 14 failed errno=11 (Resource temporarily unavailable)
Sep 9 17:12:25 daniel slapd[17757]: do_search
Sep 9 17:12:25 daniel slapd[17757]: >>> dnPrettyNormal: <o=eastern.edu>
Sep 9 17:12:25 daniel slapd[17757]: <<< dnPrettyNormal: <o=eastern.edu>, <o=eastern.edu>
Sep 9 17:12:25 daniel slapd[17757]: ==> limits_get: conn=341 op=0 dn="[anonymous]"
Sep 9 17:12:25 daniel slapd[17757]: => bdb_search
Sep 9 17:12:25 daniel slapd[17757]: bdb_dn2entry("o=eastern.edu")
Sep 9 17:12:25 daniel slapd[17757]: search_candidates: base="o=eastern.edu" (0x00000001) scope=2
Sep 9 17:12:25 daniel slapd[17757]: => bdb_dn2idl( "o=eastern.edu" )
Sep 9 17:12:25 daniel slapd[17757]: => bdb_equality_candidates (objectClass)
Sep 9 17:12:25 daniel slapd[17757]: => key_read
Sep 9 17:12:25 daniel slapd[17757]: <= bdb_index_read: failed (-30990)
Sep 9 17:12:25 daniel slapd[17757]: <= bdb_equality_candidates: id=0, first=0, last=0
Sep 9 17:12:25 daniel slapd[17757]: => bdb_equality_candidates (uid)
Sep 9 17:12:25 daniel slapd[17757]: <= bdb_equality_candidates: (uid) index_param failed (18)
Sep 9 17:12:25 daniel slapd[17757]: bdb_search_candidates: id=-1 first=1 last=5619
Sep 9 17:12:28 daniel slapd[17757]: bdb_search: 1 does not match filter
...
Sep 9 17:12:28 daniel slapd[17757]: bdb_search: 5619 does not match filter
Sep 9 17:12:28 daniel slapd[17757]: send_ldap_result: conn=342 op=0 p=3
Sep 9 17:12:28 daniel slapd[17757]: send_ldap_response: msgid=1 tag=101 err=0
Sep 9 17:12:28 daniel slapd[17757]: connection_get(14): got connid=342
Sep 9 17:12:28 daniel slapd[17757]: connection_read(14): checking for input on id=342
Sep 9 17:12:28 daniel slapd[17757]: ber_get_next on fd 14 failed errno=11 (Resource temporarily unavailable)
Sep 9 17:12:28 daniel slapd[17757]: do_bind
Sep 9 17:12:28 daniel slapd[17757]: >>> dnPrettyNormal: <uid=bob,ou=college,ou=staff,ou=people,o=eastern.edu>
Sep 9 17:12:28 daniel slapd[17757]: <<< dnPrettyNormal: <uid=bob,ou=college,ou=staff,ou=people,o=eastern.edu>, <uid=bob,ou=college,ou=staff,ou=people,o=eastern.edu>
Sep 9 17:12:28 daniel slapd[17757]: do_bind: version=2 dn="uid=bob,ou=college,ou=staff,ou=people,o=eastern.edu" method=128
Sep 9 17:12:28 daniel slapd[17757]: send_ldap_result: conn=342 op=1 p=2
Sep 9 17:12:28 daniel slapd[17757]: send_ldap_response: msgid=2 tag=97 err=2
Sep 9 17:12:28 daniel slapd[17757]: connection_get(14): got connid=342
Sep 9 17:12:28 daniel slapd[17757]: connection_read(14): checking for input on id=342
Sep 9 17:12:28 daniel slapd[17757]: ber_get_next on fd 14 failed errno=0 (Error 0)
Sep 9 17:12:28 daniel slapd[17757]: connection_read(14): input error=-2 id=342, closing.
Sep 9 17:12:28 daniel slapd[17757]: connection_closing: readying conn=342 sd=14 for close
Sep 9 17:12:28 daniel slapd[17757]: connection_close: deferring conn=342 sd=14
Sep 9 17:12:28 daniel slapd[17757]: do_unbind
Sep 9 17:12:28 daniel slapd[17757]: connection_resched: attempting closing conn=342 sd=14
Sep 9 17:12:28 daniel slapd[17757]: connection_close: conn=342 sd=14


Anyone have any ideas? Thanks
John