[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
Re: modify upon the root DSE not supported
http://www.google.com/search?q=Gawor+ldap+referral+master+slave
At 11:39 PM 5/30/2003, Alexander Lunyov wrote:
>Hello openldap-software,
>
> Sorry for bothering with maybe dumb question, but i'm definitely
> stuck.
>
> I have two OpenLDAP-2.0.25 servers, master and slave. Replication
> from master to slave work's fine, but when i'm trying to update some
> entry on slave - in master's log i see "modify upon the root DSE not
> supported", though for update i bind as non-root DN
> (cn=usermaster,o=Ent,c=RU).
>
> Client is LDAP Browser/Editor 2.8.2 by Jarek Gawor (written in java).
>
> Master's configuration:
>
>[schemas definition skip]
>
>include /usr/local/etc/openldap/slapd.acl
>
>database ldbm
>password-hash {MD5}
>suffix "o=Ent,c=RU"
>rootdn "cn=root,o=Ent,c=RU"
>rootpw rootsecret
>directory /var/db/openldap-ldbm
>index objectClass eq
>replogfile /var/log/slapd.replog
>
>replica host=slave.domain.ru:389
> binddn="cn=replica,o=Ent,c=RU"
> bindmethod=simple credentials=replicasecret
>
>
> Slave's configuration:
>
>[schemas definition skip]
>
>include /usr/local/etc/openldap/slapd.acl
>
>database ldbm
>password-hash {MD5}
>suffix "o=Ent,c=RU"
>rootdn "cn=root,o=Ent,c=RU"
>rootpw rootsecret
>directory /var/db/openldap-ldbm/
>index objectClass eq
>updatedn "cn=replica,o=Ent,c=RU"
>updateref "ldap://master.domain.ru:389"
>
>
> ACL's:
>
>access to dn=".*,ou=users,o=Ent,c=RU" attr=userPassword
> by dn="cn=usermaster,o=Ent,c=RU" write
> by dn="cn=replica,o=Ent,c=RU" write
> by dn="cn=admin,o=Ent,c=RU" read
> by self write
> by * auth
>
>access to dn="cn=radprofile,o=Ent,c=RU"
> by dn="cn=admin,o=Ent,c=RU" read
> by * auth
>
>access to dn="cn=usermaster,o=Ent,c=RU"
> by self read
> by * auth
>
>access to dn="cn=admin,o=Ent,c=RU"
> by self read
> by * auth
>
>access to dn="cn=dialup-group,o=Ent,c=RU"
> by dn="cn=replica,o=Ent,c=RU" write
> by dn="cn=usermaster,o=Ent,c=RU" write
> by dn="cn=admin,o=Ent,c=RU" read
> by * auth
>
>access to dn="ou=users,o=Ent,c=RU"
> by dn="cn=replica,o=Ent,c=RU" write
> by dn="cn=usermaster,o=Ent,c=RU" write
> by self write
> by * read
>access to *
> by dn="cn=replica,o=Ent,c=RU" write
> by * auth
>
> Slave's logs:
>
>do_modify
>ber_scanf fmt ({a) ber:
>ber_dump: buf=0x080f5c80 ptr=0x080f5c83 end=0x080f5cc2 len=63
> 0000: 66 3d 04 22 75 69 64 3d 74 65 73 74 39 39 2c 20 f=."uid=test99,
>do_modify
> 0020: 74 2c 63 3d 52 55 30 17 30 15 0a 01 02 30 10 04 t,c=RU0.0....0..
> 0030: 02 63 6e 31 0a 04 08 d0 b0 d0 bf d0 b0 d0 bf .cn1...........
>do_modify: dn (uid=test99, ou=users, o=Ent,c=RU)
>ber_scanf fmt ({i{a[V]}}) ber:
>ber_dump: buf=0x080f5c80 ptr=0x080f5cab end=0x080f5cc2 len=23
> 0000: 30 15 0a 01 02 30 10 04 02 63 6e 31 0a 04 08 d0 0....0...cn1....
> 0010: b0 d0 bf d0 b0 d0 bf .......
>modifications:
> replace: cn
>conn=2 op=4 MOD dn="uid=test99, ou=users, o=Ent,c=RU"
>dn2entry_r: dn: "UID=TEST99,OU=USERS,O=ENT,C=RU"
>=> dn2id( "UID=TEST99,OU=USERS,O=ENT,C=RU" )
>====> cache_find_entry_dn2id("UID=TEST99,OU=USERS,O=ENT,C=RU"): 243 (1 tries)
><= dn2id 243 (in cache)
>=> id2entry_r( 243 )
>====> cache_find_entry_id( 243 ) "uid=test99,ou=users,o=Ent,c=RU" (found) (1 t
>ries)
><= id2entry_r( 243 ) 0x80f4ac0 (cache)
>====> cache_return_entry_r( 243 ): returned (0)
>send_ldap_result: conn=2 op=4 p=3
>send_ldap_result: 10::
>send_ldap_result: referral: ldap://master.domain.ru:389
>send_ldap_response: msgid=5 tag=103 err=10
>send_ldap_response: ref=ldap://master.domain.ru:389
>ber_flush: 46 bytes to sd 13
> 0000: 30 2c 02 01 05 67 27 0a 01 0a 04 00 04 00 a3 1e 0,...g'.........
> 0010: 04 1c 6c 64 61 70 3a 2f 2f 6c 64 61 70 2e 73 74 ..ldap://ldap.domain
> 0020: 61 72 74 61 74 6f 6d 2e 72 75 3a 33 38 39 .ru:389
>ldap_write: want=46, written=46
> 0000: 30 2c 02 01 05 67 27 0a 01 0a 04 00 04 00 a3 1e 0,...g'.........
> 0010: 04 1c 6c 64 61 70 3a 2f 2f 6c 64 61 70 2e 73 74 ..ldap://ldap.domain
> 0020: 61 72 74 61 74 6f 6d 2e 72 75 3a 33 38 39 .ru:389
>conn=2 op=4 RESULT tag=103 err=10 text=
>daemon: select: listen=8 active_threads=1 tvp=NULL
>
>
> Master's logs:
>
>daemon: added 9r
>daemon: activity on:
>daemon: select: listen=8 active_threads=0 tvp=NULL
>daemon: activity on 1 descriptors
>daemon: activity on: 9r
>daemon: read activity on 9
>connection_get(9)
>connection_get(9): got connid=0
>connection_read(9): checking for input on id=0
>ber_get_next
>ldap_read: want=1, got=1
> 0000: 30 0
>ldap_read: want=1, got=1
> 0000: 31 1
>ldap_read: want=49, got=49
> 0000: 02 01 01 60 2c 02 01 03 04 1b 63 6e 3d 75 73 65 ...`,.....cn=use
> 0010: 72 6d 61 73 74 65 72 2c 20 6f 3d 53 74 61 72 74 rmaster,o=Ent
> 0020: 2c 63 3d 52 55 80 0a 6b 6f 6d 61 67 65 6e 6f 75 ,c=RU.. secret
>ber_get_next: tag 0x30 len 49 contents:
>ber_dump: buf=0x080db5c0 ptr=0x080db5c0 end=0x080db5f1 len=49
> 0000: 02 01 01 60 2c 02 01 03 04 1b 63 6e 3d 75 73 65 ...`,.....cn=use
> 0010: 72 6d 61 73 74 65 72 2c 20 6f 3d 53 74 61 72 74 rmaster, o=Ent
> 0020: 2c 63 3d 52 55 80 0a 6b 6f 6d 61 67 65 6e 6f 75 ,c=RU..secret
>ber_get_next
>ldap_read: want=1 error=Resource temporarily unavailable
>ber_get_next on fd 9 failed errno=35 (Resource temporarily unavailable)
>do_bind
>ber_scanf fmt ({iat) ber:
>ber_dump: buf=0x080db5c0 ptr=0x080db5c3 end=0x080db5f1 len=46
> 0000: 60 2c 02 01 03 04 1b 63 6e 3d 75 73 65 72 6d 61 `,.....cn=userma
> 0010: 73 74 65 72 2c 20 6f 3d 53 74 61 72 74 2c 63 3d ster,o=Ent,c=
> 0020: 52 55 80 0a 6b 6f 6d 61 67 65 6e 6f 75 73 RU..secret
>ber_scanf fmt (o}) ber:
>ber_dump: buf=0x080db5c0 ptr=0x080db5e5 end=0x080db5f1 len=12
> 0000: 80 0a 6b 6f 6d 61 67 65 6e 6f 75 73 ..secret
>do_bind: version=3 dn="cn=usermaster, o=Ent,c=RU" method=128
>conn=0 op=0 BIND dn="CN=USERMASTER,O=ENT,C=RU" method=128
>==> ldbm_back_bind: dn: cn=usermaster, o=Ent,c=RU
>dn2entry_r: dn: "CN=USERMASTER,O=ENT,C=RU"
>=> dn2id( "CN=USERMASTER,O=ENT,C=RU" )
>=> ldbm_cache_open( "dn2id.dbb", 73, 600 )
>ldbm_cache_open (blksize 8192) (maxids 2046) (maxindirect 5)
><= ldbm_cache_open (opened 0)
><= dn2id 247
>=> id2entry_r( 247 )
>=> ldbm_cache_open( "id2entry.dbb", 73, 600 )
>ldbm_cache_open (blksize 8192) (maxids 2046) (maxindirect 5)
><= ldbm_cache_open (opened 1)
>=> str2entry
><= str2entry(cn=usermaster, o=Ent,c=RU) -> -1 (0x8103940)
><= id2entry_r( 247 ) 0x8103940 (disk)
>=> access_allowed: auth access to "cn=usermaster, o=Ent,c=RU" "userPassword" r
>equested
>=> dnpat: [1] .*,ou=users,o=Ent,c=RU nsub: 0
>=> dnpat: [2] cn=radprofile,o=Ent,c=RU nsub: 0
>=> dnpat: [3] cn=usermaster,o=Ent,c=RU nsub: 0
>=> acl_get: [3] matched
>=> acl_get: [3] check attr userPassword
><= acl_get: [3] acl cn=usermaster, o=Ent,c=RU attr: userPassword
>=> acl_mask: access to entry "cn=usermaster, o=Ent,c=RU", attr "userPassword"
>requested
>=> acl_mask: to all values by "", (=n)
><= check a_dn_pat: self
><= check a_dn_pat: *
><= acl_mask: [2] applying auth (=x) (stop)
><= acl_mask: [2] mask: auth (=x)
>=> access_allowed: auth access granted by auth (=x)
>====> cache_return_entry_r( 247 ): created (0)
>do_bind: v3 bind: "cn=usermaster, o=Ent,c=RU" to "cn=usermaster, o=Ent,c=RU"
>send_ldap_result: conn=0 op=0 p=3
>send_ldap_result: 0::
>send_ldap_response: msgid=1 tag=97 err=0
>ber_flush: 14 bytes to sd 9
> 0000: 30 0c 02 01 01 61 07 0a 01 00 04 00 04 00 0....a........
>ldap_write: want=14, written=14
> 0000: 30 0c 02 01 01 61 07 0a 01 00 04 00 04 00 0....a........
>conn=0 op=0 RESULT tag=97 err=0 text=
>daemon: select: listen=8 active_threads=1 tvp=NULL
>daemon: activity on 1 descriptors
>daemon: activity on: 9r
>daemon: read activity on 9
>connection_get(9)
>connection_get(9): got connid=0
>connection_read(9): checking for input on id=0
>ber_get_next
>ldap_read: want=1, got=1
> 0000: 30 0
>ldap_read: want=1, got=1
> 0000: 20
>ldap_read: want=32, got=32
>do_bind: v3 bind: "cn=usermaster, o=Ent,c=RU" to "cn=usermaster, o=Ent,c=RU"
> 0010: 04 02 63 6e 31 0a 04 08 d0 b0 d0 bf d0 b0 d0 bf ..cn1...........
>ber_get_next: tag 0x30 len 32 contents:
>ber_dump: buf=0x08103840 ptr=0x08103840 end=0x08103860 len=32
> 0000: 02 01 02 66 1b 04 00 30 17 30 15 0a 01 02 30 10 ...f...0.0....0.
> 0010: 04 02 63 6e 31 0a 04 08 d0 b0 d0 bf d0 b0 d0 bf ..cn1...........
>ber_get_next
>ldap_read: want=1 error=Resource temporarily unavailable
>ber_get_next on fd 9 failed errno=35 (Resource temporarily unavailable)
>do_modify
>ber_scanf fmt ({a) ber:
>ber_dump: buf=0x08103840 ptr=0x08103843 end=0x08103860 len=29
> 0000: 66 1b 04 00 30 17 30 15 0a 01 02 30 10 04 02 63 f...0.0....0...c
> 0010: 6e 31 0a 04 08 d0 b0 d0 bf d0 b0 d0 bf n1...........
>do_modify: dn ()
>ber_scanf fmt ({i{a[V]}}) ber:
>ber_dump: buf=0x08103840 ptr=0x08103849 end=0x08103860 len=23
> 0000: 30 15 0a 01 02 30 10 04 02 63 6e 31 0a 04 08 d0 0....0...cn1....
> 0010: b0 d0 bf d0 b0 d0 bf .......
>do_modify: root dse!
>send_ldap_result: conn=0 op=1 p=3
>send_ldap_result: 53::modify upon the root DSE not supported
>send_ldap_response: msgid=2 tag=103 err=53
>ber_flush: 52 bytes to sd 9
> 0000: 30 32 02 01 02 67 2d 0a 01 35 04 00 04 26 6d 6f 02...g-..5...&mo
> 0010: 64 69 66 79 20 75 70 6f 6e 20 74 68 65 20 72 6f dify upon the ro
> 0020: 6f 74 20 44 53 45 20 6e 6f 74 20 73 75 70 70 6f ot DSE not suppo
> 0030: 72 74 65 64 rted
>ldap_write: want=52, written=52
> 0000: 30 32 02 01 02 67 2d 0a 01 35 04 00 04 26 6d 6f 02...g-..5...&mo
> 0010: 64 69 66 79 20 75 70 6f 6e 20 74 68 65 20 72 6f dify upon the ro
> 0020: 6f 74 20 44 53 45 20 6e 6f 74 20 73 75 70 70 6f ot DSE not suppo
> 0030: 72 74 65 64 rted
>conn=0 op=1 RESULT tag=103 err=53 text=modify upon the root DSE not supported
>daemon: select: listen=8 active_threads=1 tvp=NULL
>
>
>
>--
>Best regards,
>Alexander mailto:lan_mailing@startatom.ru