Hello,
I am using dovecot-2.0.6 with NetBSD amd64. Active Directory is used as an authentication server. (Windows Server 2008 R2)
However, the message of "Operations error" was displayed first and it did not move. It solved it by understanding that this is because the authority of the user who used it for bind was insufficient, and adding to "Account Operators" group. # Though it is not the best.
The error "Error: re_encode_request new request is" occurs, and it doesn't operate still as follows.
Postfix operates though connects with LDAP. The following are samples.
# Active Directory Server settings domain = example.com server_host = ldap://xxx.xxx.xxx.xxx:389 search_base = dc=example, dc=com version = 3 timeout = 30
# Active Directory Searcher settings bind = yes bind_dn = cn=Mail Administrator, cn=Users, dc=example, dc=com bind_pw = *********
# Filter Query query_filter = (&(&(objectCategory=person)(|(mail=%s)(userPrincipalName=%s)))(!(userAccountControl:1.2.840.113556.1.4.803:=2))) result_attribute = userPrincipalName result_filter = %s/ chase_referrals = no
The packet was done with wireshark by using this definition and a capture doing and a similar test were done to dovecot.
It is a setting of dovecot.
hosts = xxx.xxx.xxx.xxx:389 dn = cn=Mail Administrator, cn=Users, dc=example, dc=com dnpass = *********
auth_bind = no ldap_version = 3 base = dc=example, dc=com user_attrs = unixHomeDirectory=home,uidNumber=uid,gidNumber=gid user_filter = (&(&(objectCategory=person)(userPrincipalName=%u))(!(userAccountControl:1.2.840.113556.1.4.803:=2)))
pass_attrs = userPrincipalName=user,unixUserPassword=password pass_filter = (&(&(objectCategory=person)(userPrincipalName=%u))(!(userAccountControl:1.2.840.113556.1.4.803:=2))) iterate_attrs = userPrincipalName=user iterate_filter = (&(objectCategory=person)(!(userAccountControl:1.2.840.113556.1.4.803:=2))) default_pass_scheme = MD5
# Schema of LDAP is matched to Windows Services for UNIX, # and the password is made a hush with MD5.
Both dovecot and postfix the first "bindRequest" was quite the same demand and the results.
Next, dovecot demanded query of "userPrincipalName" and "unixUserPassword". It seems to be ok for the result. # This fails if it doesn't add to "Account Operators" group.
However, "name" and "simple" were issued by the blank (anonymously?) as for the following next demand (bindRequest). In addition, query of "userPrincipalName" and "unixUserPassword" is issued to "cn=Configuration, dc=example, dc=com" afterwards. And, "Operations Error" is returned because of this.
Error description in LDAP packet:
errorMessage: 000004DC: LdapErr: DSID-0C0906DC, comment: In order to perform this operation a successful bind must be completed on the connection., data 0, v1db0
Because LDAP is unprofessional, it has not understood though the source code was seen.
Do you serve as a reference?
Thanks powerful codes.