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