I have successfully compiled and tested qmail-1.03
with the LDAP patch qmail-ldap-1.03-20020501a.patch. 
I have successfully compiled with the
qmail-ldap-control_20020524.patch

I cannot get qmail to work with the control patch. 
When I run qmail-ldaplookup, here is what I get:

[root@smtp-1-1 src]# /var/qmail/bin/qmail-ldaplookup
-u [EMAIL PROTECTED]
init_ldap:      passwords are not compared via rebind
                localdelivery:   off
                clustering:      off
                ldapobjectclass: qmailuser
                homedirmaker:
                defaultDotMode:  ldaponly
                defaultQuota:    10000000S, 10000C
                QuotaWarning:
------
undefined
------
qldap_lookup:   searching with
(&(objectclass=qmailuser)([EMAIL PROTECTED]))
qldap_lookup:   NOT successful: needed object/field is
missing
localdelivery off, so no local lookup

If I search for a uid that does not exist in my LDAP
server data, here is what I get:


# /var/qmail/bin/qmail-ldaplookup -u
[EMAIL PROTECTED]
init_ldap:      passwords are not compared via rebind
                localdelivery:   off
                clustering:      off
                ldapobjectclass: qmailuser
                homedirmaker:
                defaultDotMode:  ldaponly
                defaultQuota:    10000000S, 10000C
                QuotaWarning:
------
undefined
------
qldap_lookup:   searching with
(&(objectclass=qmailuser)([EMAIL PROTECTED]))
qldap_lookup:   NOT successful: no such object
localdelivery off, so no local lookup

Notice on the lookup with where the uid does not
exist, it says: NOT successful: no such object.  Ok,
that is fine, it doesn't exist.  When I search for a
uid that does exist, it says:  
qldap_lookup:   NOT successful: needed object/field is
missing

This means to me that qmail-ldaplookup is finding the
record, but then has an error based on the data
returned by the LDAP server, right?  Here is my
information for the dn I am looking for that has
[EMAIL PROTECTED] as the uid:

cn: [EMAIL PROTECTED]
sn: [EMAIL PROTECTED]
objectclass: top
objectclass: person
objectclass: inetorgperson
objectclass: qmailuser
mailmessagestore: testdomain-com/dkoopman
mailhost: localhost
uid: [EMAIL PROTECTED]
qmailuid: 1000
qmailgid: 1000
accountstatus: active
qmaildotmode: ldaponly
deliverymode: normal
mailquota: 10000000S, 10000C
mail: [EMAIL PROTECTED]
userpassword: {SSHA}fWZr4h0atH1gS4pfB/2AAmh/B1F+87iC
mailalternateaddress: [EMAIL PROTECTED]
dn: [EMAIL PROTECTED], ou=mailAccounts,
ou=testdomain, ou=s, ou=e, ou=t, ou=com, ou=domains,
dc=test, dc=com

Looks pretty good to me.  Also, I ran 'slapd -d4' on
my ldap server to get some debugging going.  Here is
the output from it.  I 'slapd -d4' then executed
'/var/qmail/bin/qmail-ldaplookup -u
[EMAIL PROTECTED]' and here is the output on
slapd -d4:

daemon_init: <null>
daemon: socket() failed errno=97 (Address family not
supported by protocol)
slapd starting
connection_get(9)
==> ldbm_back_bind: dn: cn=qmail,dc=test,dc=com
ldbm_cache_open (blksize 8192) (maxids 2046)
(maxindirect 5)
ldbm_cache_open (blksize 8192) (maxids 2046)
(maxindirect 5)
send_ldap_result: 0::
ber_flush: 14 bytes to sd 9
connection_get(9)
SRCH "dc=test,dc=com" 2 0    0 0 0
    filter:
(&(objectClass=qmailuser)([EMAIL PROTECTED]))
    attrs: uid qmailUID qmailGID accountStatus
mailHost mailMessageStore homeDirectory mailQuota mail
mailAlternateAddress mailForwardingAddress
deliveryProgramPath deliveryMode mailReplyText
qmailDotMode
ldbm_cache_open (blksize 8192) (maxids 2046)
(maxindirect 5)
ldbm_cache_open (blksize 8192) (maxids 2046)
(maxindirect 5)
ldbm_cache_open (blksize 8192) (maxids 2046)
(maxindirect 5)
ber_flush: 517 bytes to sd 9
ber_flush: 14 bytes to sd 9
connection_get(9)

I have been pounding away at this for days.  In case
this helps, here is my dn:
cn=qmailControl,dc=test,dc=com

objectclass: top
objectclass: qmailControl
cn: qmailControl
locals: localhost
locals: smtp-1.test.com
ldapuid: 1000
ldapgid: 1000
ldapdefaultquota: 10000000S, 1000C
quotawarning: WARNING: Your mail account is over
quota.  Your mail account will stop receiving messages
soon.
rcpthosts: testdomain.com
rcpthosts: koopman.name
rcpthosts: domain.net
virtualdomains: testdomain.com
virtualdomains: koopman.name
virtualdomains: domain.net
ldaplogin: cn=qmail, dc=test, dc=com
ldappassword: qmailsecret
ldaplocaldelivery: 0
ldapbasedn: ou=domains, dc=test, dc=com
ldaprebind: 0
ldapcluster: 0
concurrencylocal: 120
concurrencyremote: 120
defaultdomain: testdomain.com
defaulthost: testdomain.com
ldapserver: 192.168.4.155
ldapdefaultdotmode: ldaponly
ldapmessagestore: /var/qmail/popboxes

More detail about my problem:  If I leave the
ldaplocaldelivery set to 0 in the qmailControl dn in
my LDAP database, but set it to 1 in my
/var/qmail/control/ldaplocaldelivery file, then when I
run qmail-ldaplookup -u [EMAIL PROTECTED] it
reports that localdelivery:   on.  This means that
qmail-lookup is not able to load the value from the
LDAP server, but rather it gets it from the control
directory.  I find this true of each of these values:
init_ldap:      passwords are not compared via rebind
                localdelivery:   on
                clustering:      off
                ldapobjectclass: qmailuser
                homedirmaker:
                defaultDotMode:  ldaponly
                defaultQuota:    10000000S, 10000C
                QuotaWarning:
I compiled with the CONTROLDB=-DQLDAP_BAILOUT option

Basically, I cannot get Qmail to read it's control
from the LDAP server.  And even more, even with the
DQLDAP_BAILOUT, the searches still fail!  I am getting
frustrated.  Turbo, help?!?!  What else do you want to
know?

Dave.




__________________________________________________
Do You Yahoo!?
Yahoo! Autos - Get free new car price quotes
http://autos.yahoo.com

Reply via email to