https://bugs.openldap.org/show_bug.cgi?id=9495

          Issue ID: 9495
           Summary: authz-regexp using dn: instead of a URI mangles
                    characters with HTML excapes
           Product: OpenLDAP
           Version: 2.5
          Hardware: All
                OS: All
            Status: UNCONFIRMED
          Severity: normal
          Priority: ---
         Component: slapd
          Assignee: [email protected]
          Reporter: [email protected]
  Target Milestone: ---

Trying to use an authz-regexp that maps directly to dn-s by using "dn:..."
instead of a URI results in the authz id having some characters "html escaped".
As a result the authorized entity cannot be found.

E.g. a "-U cn=Barbara Jensen,ou=Information Technology Division"

with

olcAuthzRegexp: "^uid=([^,]+),.*" "dn:$1,ou=people,dc=example,dc=com"

fails.  Debug logs show that the equal and the comma character return from
ldap_bv2dn() in escaped forms, that are then substituted into the target dn and
result in a dn that does not exist in the DIT.

6046d7cd SASL Canonicalize [conn=1113]: authcid="cn=Barbara
Jensen,ou=Informatio
n Technology Division"
6046d7cd slap_sasl_getdn: conn 1113 id=cn=Barbara Jensen,ou=Information
Technolo
gy Division [len=52]
=> ldap_dn2bv(16)
<= ldap_dn2bv(uid=cn\3DBarbara Jensen\2Cou\3DInformation Technology
Division,cn=PLAIN,cn=auth)=0 
6046d7cd slap_sasl_getdn: u:id converted to uid=cn\3DBarbara
Jensen\2Cou\3DInformation Technology Division,cn=PLAIN,cn=auth

...

6046d7cd send_ldap_result: err=49 matched="" text="SASL(-13): user not found:
Password verification failed"


I suspect that when the "dn:..." form is used with authz-regexp the supplied
authzid should _not_ have it's characters canonicalized because they will not
be substituted into a URI.  If so, this would be a bug.  If not, there should
be documentation on the restrictions on what characters can be used in authzid
when the "dn:..." form is used.

Tested against HEAD of master, although the version in the bug report is 2.5.

See also Bug# 6912.

-- 
You are receiving this mail because:
You are on the CC list for the issue.

Reply via email to