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

Re: (ITS#4211) back-relay goes into infinte loop, causing segfault




--On Thursday, November 24, 2005 9:32 PM +0100 Pierangelo Masarati 
<ando@sys-net.it> wrote:

> On Thu, 2005-11-24 at 18:09 +0000, quanah@stanford.edu wrote:
>
>> ldap-dev0:/var/tmp/replica# cat slurpd.replog
>> replica: ldap-dev3.stanford.edu:389
>> replica: ldap-dev2.stanford.edu:389
>> replica: ldap-dev1.stanford.edu:389
>> time: 1132855201
>> dn: cn=replica-config
>> changetype: modify
>> replace: olcIdleTimeout
>> olcIdleTimeout: 15
>> -
>> replace: entryCSN
>> entryCSN: 20051124180001Z#000000#00#000000
>> -
>> replace: modifiersName
>> modifiersName: cn=updater,cn=replica-config
>> -
>> replace: modifyTimestamp
>> modifyTimestamp: 20051124180001Z
>> -
>
> I've just safely applied this modification to my HEAD code:
>
>     --- o --- o --- o ---
>
> $ ./run test003
> $ echo "
> database        relay
> suffix          "cn=replica-config"
> relay           "cn=config" massage
> updatedn        "cn=Manager,dc=example,dc=com"
>
> database        config
> rootdn          "cn=Manager,dc=example,dc=com"
> updatedn        "cn=Manager,dc=example,dc=com"
> " >> testrun/slapd.1.conf
>
>     --- o --- o --- o ---
>
> $ ldapmodify -x -H ldap://:9011 \
> 	-D "cn=Manager,dc=example,dc=com" -w secret
> dn: cn=replica-config
> changetype: modify
> replace: olcIdleTimeout
> olcIdleTimeout: 15
> -
> replace: entryCSN
> entryCSN: 20051124180001Z#000000#00#000000
> -
> replace: modifiersName
> modifiersName: cn=updater,cn=replica-config
> -
> replace: modifyTimestamp
> modifyTimestamp: 20051124180001Z
> -
>
> modifying entry "cn=replica-config"
>
>     --- o --- o --- o ---
>
> $ slapd -f testrun/slapd.1.conf -h ldap://:9013 -d stats:
> conn=0 fd=15 ACCEPT from IP=127.0.0.1:32861 (IP=0.0.0.0:9011)
> [New Thread 1098918240 (LWP 6294)]
> conn=0 op=0 BIND dn="cn=Manager,dc=example,dc=com" method=128
> conn=0 op=0 BIND dn="cn=Manager,dc=example,dc=com" mech=SIMPLE ssf=0
> conn=0 op=0 RESULT tag=97 err=0 text=
> conn=0 op=1 MOD dn="cn=replica-config"
> conn=0 op=1 MOD attr=olcIdleTimeout entryCSN modifiersName
> modifyTimestamp
> conn=0 op=1 RESULT tag=103 err=0 text=
>
>     --- o --- o --- o ---
>
> One thing I note is that back-relay should inherit the updatedn from the
> relayed database, rather than requiring an explicit configuration.  I'm
> going to fix that...

Well, what you are doing I'm not sure is quite the same, since you aren't 
actually modifying a front-end master, and then having slurpd pass it on 
through a different replicator DN.  Anyhow, HEAD doesn't work for me at all:


=> ldap_bv2dn(olcDatabase={-1}frontend,0)
ldap_err2string
<= ldap_bv2dn(olcDatabase={-1}frontend)=0 Success
=> ldap_dn2bv(272)
ldap_err2string
<= ldap_dn2bv(olcDatabase={-1}frontend)=0 Success
=> ldap_dn2bv(272)
ldap_err2string
<= ldap_dn2bv(olcDatabase={-1}frontend)=0 Success
<<< dnPrettyNormal: <olcDatabase={-1}frontend>, <olcDatabase={-1}frontend>
>>> dnNormalize: <cn=config>
=> ldap_bv2dn(cn=config,0)
ldap_err2string
<= ldap_bv2dn(cn=config)=0 Success
=> ldap_dn2bv(272)
ldap_err2string
<= ldap_dn2bv(cn=config)=0 Success
<<< dnNormalize: <cn=config>
>>> dnNormalize: <cn=config>
=> ldap_bv2dn(cn=config,0)
ldap_err2string
<= ldap_bv2dn(cn=config)=0 Success
=> ldap_dn2bv(272)
ldap_err2string
<= ldap_dn2bv(cn=config)=0 Success
<<< dnNormalize: <cn=config>
<= str2entry(olcDatabase={-1}frontend) -> 0x2d72e8
=> test_filter
    PRESENT
=> access_allowed: search access to "olcDatabase={-1}frontend,cn=config" 
"objectClass" requested
<= root access granted
=> access_allowed: search access granted by manage(=mwrscxd)
<= test_filter 6
config error processing olcDatabase={-1}frontend,cn=config:
send_ldap_result: conn=-1 op=0 p=0
send_ldap_result: err=64 matched="" text=""
slapd destroy: freeing system resources.
slapd stopped.
connections_destroy: nothing to destroy.


That is with a freshly generated slapd.d directory created after building 
HEAD.

Nov 24 13:09:57 ldap-dev3.Stanford.EDU 
quanah@ldap-dev0.Stanford.EDU:/usr/local/build/openldap-head-20051124/servers/slapd
Nov 24 13:09:57 ldap-dev3.Stanford.EDU slapd[22515]: [ID 183426 
local4.debug] config error processing olcDatabase={-1}frontend,cn=config:
Nov 24 13:09:57 ldap-dev3.Stanford.EDU slapd[22515]: [ID 486161 
local4.debug] slapd stopped.
Nov 24 13:09:57 ldap-dev3.Stanford.EDU slapd[22515]: [ID 432338 
local4.debug] connections_destroy: nothing to destroy.


--Quanah

--
Quanah Gibson-Mount
Principal Software Developer
ITSS/Shared Services
Stanford University
GnuPG Public Key: http://www.stanford.edu/~quanah/pgp.html