From listen@alexander.skwar.name Thu Apr 5 11:53:50 2007 From: Alexander Skwar To: openldap-software@openldap.org Subject: Access Control: Limiting based on regex Date: Thu, 05 Apr 2007 13:53:37 +0200 Message-ID: <4614E341.204@alexander.skwar.name> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============1804317830707404388==" --===============1804317830707404388== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Hello. Reading the OpenLDAP 2.3 documentation on http://www.openldap.org/doc/admin23= /slapdconfig.html#Access%20Control, I find the following: ::=3D access to [by ]+ ::=3D * | [dn[.]=3D | dn.=3D] [filter=3D] [attrs=3D] ::=3D regex | exact ::=3D base | one | subtree | children ::=3D [val[.]=3D] | , <= attrlist> ::=3D | entry | children ::=3D * | [anonymous | users | self | dn[.]=3D | dn.=3D= ] [dnattr=3D] [group[/[/][.]]=3D] [peername[.]=3D] [sockname[.]=3D] [domain[.]=3D] [sockurl[.]=3D] [set=3D] [aci=3D] ::=3D [self]{|} ::=3D none | auth | compare | search | read | write ::=3D {=3D|+|-}{w|r|s|c|x|0}+ ::=3D [stop | continue | break] I'm particularly interested in the "what" clause: ::=3D * | [dn[.]=3D | dn.=3D] I understand the term "dn[.]" so, that "." is optional and can be left out; ie. there's no need to write ".regex" or ".exact". But when I write "access to dn=3D".*,dc=3Dmylan,dc=3Dnet" attr=3DuserPassword" in my slapd.conf, I cannot start slapd: Apr 5 13:09:51 winds06 slapd[11740]: [ID 702911 local4.debug] @(#) $OpenLDAP= : slapd 2.3.28 (Nov 10 2006 21:08:47) $ Apr 5 13:09:51 winds06 asmoore(a)ra Apr 5 13:09:51 winds06 slapd[11740]: [ID 933944 local4.debug] /opt/csw/etc/o= penldap/slapd.conf: line 81: "attr" is deprecated (and undocumented); use "at= trs" instead. Apr 5 13:09:51 winds06 slapd[11740]: [ID 868080 local4.debug] /opt/csw/etc/o= penldap/slapd.conf: line 81: bad DN ".*,dc=3Dmylan,dc=3Dnet" in to DN clause Apr 5 13:09:51 winds06 slapd[11740]: [ID 583609 local4.debug] ::=3D access to [ by [ ] [ ] ]+ Apr 5 13:09:51 winds06 unparseable log message: " ::=3D * | dn[.=3D] [filter=3D] [attrs=3D]" Apr 5 13:09:51 winds06 unparseable log message: " ::=3D = [val[/][.]=3D] | " Apr 5 13:09:51 winds06 unparseable log message: " ::=3D [ ,= ]" Apr 5 13:09:51 winds06 unparseable log message: " ::=3D | @= | ! | entry | children" Apr 5 13:09:51 winds06 unparseable log message: " ::=3D [ * | anonymous= | users | self | dn[.]=3D ]" Apr 5 13:09:51 winds06 [ realanonymous | realusers | realself | real= dn[.]=3D ] Apr 5 13:09:51 winds06 [dnattr=3D] Apr 5 13:09:51 winds06 [realdnattr=3D] Apr 5 13:09:51 winds06 [group[/[/]][.