[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: disappearing daemon ...



On Tue, Nov 03, 1998 at 07:40:42AM -0800, Anthony Brock wrote:
> >Since I did not save the earlier posts, would you tell me (again) which db you
> >are using, and which version?
> 
> I am using OpenLDAP 1.0.2, with gdbm 1.7.3 (direct from ftp.gnu.org).
> 
> >Can you please post your acl and slapd.conf file (remember to edit out the
> >manager dn and password..)?
> 
> # Setup access controls
> #######################################################################
> 
> access to attrs=userPassword by self write by dn="cn=XXXXX,o=George Fox
> University,c=US" write by dn="cn=XXXXX,o=George Fox University,c=US"
> compare by * none by dn="^$" none
> 
> access to attrs=member,entry by dnattr=owner write
> 
> access to attrs=universityID by * none by dn="^$" none
> 
> access to attrs=cn by * read
> 
> access to attrs=uid by * read
> 
> access to attrs=uidNumber by * read
> 
> access to * by self write
> 

> #8  0xef599e24 in reg ()
> #9  0xef5998a8 in regwcomp ()
> #10 0xef599694 in regcomp ()
> #11 0x234e0 in regex_matches (pat=0x53670 ".*",
>     str=0x165800 "CN=WEB MASTER,O=GEORGE FOX UNIVERSITY,C=US",
>     buf=0xee80f6e0 "", matches=0xee80f9f8) at acl.c:551
> #12 0x228f4 in acl_access_allowed (a=0x52d18, be=0x53a30, conn=0x5e830,
>     e=0x198650, val=0x178ef8, op=0x2038d0, access=4,
>     edn=0x15b138 "CN=JANELLE RAE DIDERICKSEN,O=GEORGE FOX UNIVERSITY,C=US",
>     matches=0xee80f9f8) at acl.c:291
> #13 0x21ea8 in access_allowed (be=0x53a30, conn=0x5e830, op=0x2038d0,
>     e=0x198650, attr=0xfc7d8 "uid", val=0x178ef8,
>     dn=0xfa050 "cn=Web Master,o=George Fox University,c=US", access=339224)
>     at acl.c:99
> #14 0x20654 in test_ava_filter (be=0x4d000, conn=0x39800, op=0x15b138,
>     e=0x198650, ava=0x178ef4, type=163) at filterentry.c:115
> #15 0x202b8 in test_filter (be=0x53a30, conn=0x5e830, op=0x2038d0,
> e=0x198650,
>     f=0x178ef0) at filterentry.c:61
> #16 0x2cddc in ldbm_back_search (be=0x53a30, conn=0x5e830, op=0x2038d0,
>     base=0x165690 "o=George Fox University,c=US", scope=1, deref=342576,
>     slimit=0, tlimit=0, filter=0x178ef0, filterstr=0xfc9f8 "(uid=ABROCK)",
>     attrs=0x0, attrsonly=0) at search.c:179
> #17 0x17b40 in do_search (conn=0x5e830, op=0x2038d0) at search.c:166
> #18 0x16f60 in connection_operation (arg=0xfc818) at connection.c:84                 

I'll admit to being a bit perplexed with this...

I suspect something wrong with sun's regex implementation but there is
contradicting evidence including a report in another message that it is a
Hiesenbug (bugs that disappear when you look at them, i.e. add debugging
output..).

The value of buf in line #11, the call to regex_matches() seems to be set
to "". But that is a char * that was set with the value in edn in the
acl_access_allowed() function. At the begining of acl_access_allowed() edn
is set to (a value that looks valid) "CN=JANELLE ...". 

There is nothing between the beginning of acl_access_allowed() and where
it calls regex_matches() that would affect the value of edn. So how and
where is it being clobberred?

Another message mentioned that if LDAP_DEBUG_ACL was set then there was
no problem. The only effect of having Debug set to LDAP_DEBUG_ACL should be
to have additional debugging output. Why would/should that affect edn?

Two suggestions. First try and link agains the GNU regex library. 

Second add some additional Debug(LDAP_DEBUG_TRACE..) statements immediately 
before the regex_match() calls to display the value of edn. And one in 
regex_match() to display the value of buf. You need to track down where
edn or buf is getting set to "".



-- 
Stuart Lynne <sl@fireplug.net>      604-461-7532      <http://www.fireplug.net>
PGP Fingerprint: 28 E2 A0 15 99 62 9A 00  88 EC A3 EE 2D 1C 15 68