You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@directory.apache.org by Mark Swanson <ma...@ScheduleWorld.com> on 2004/12/10 19:52:37 UTC

add entry no longer works.

Hello,

Somehow over the past couple of days it has become impossible to add entries 
to eve. I thought it was me, but I've spent a few hours going over everything 
and I'm pretty sure it's not. Here is a simple test case that used to work 
(and works fine against OpenLDAP).

Using this simple LDIF:

dn: dc=home2, dc=mark
objectclass: dcObject
objectclass: organization
o: Home machine

ldapadd -p 10389 -h lin -x -D "uid=admin,ou=system" -v -W -f $*
(password secret)

It successfully "seems to" insert into eve.

The problem is that jxplorer only shows ou=system even if I connect via 
uid=admin,ou=system (secret).

I'm running the latest as of an hour or so ago.

I have deleted all *db and all *lg files, and restarted so the db/schema is 
recreated fresh. this doesn't help.

Suggestions?

-- 
Free SyncML-capable J2ME & J2SE replacement for Exchange and Outlook
http://www.ScheduleWorld.com/
WAP: http://www.ScheduleWorld.com/sw/WAPToday?id=4000&tz=EST
WebDAV: http://www.ScheduleWorld.com/sw/webDAVDir/4000.ics
VFREEBUSY: http://www.ScheduleWorld.com/sw/freebusy/4000.ifb

Re: add entry no longer works.

Posted by Alex Karasulu <ao...@bellsouth.net>.
Mark Swanson wrote:

>I've tried to set eve.schemas to eol and space and comma separated yet I get 
>ClassNotFoundException: org.apache.eve.schema.bootstrap.CorbaSchema 
>org.apache.eve.schema.bootstrap.CoreSchema 
>org.apache.eve.schema.bootstrap.CosineSchema 
>org.apache.eve.schema.bootstrap.EveSchema 
>org.apache.eve.schema.bootstrap.InetorgpersonSchema 
>org.apache.eve.schema.bootstrap.JavaSchema 
>org.apache.eve.schema.bootstrap.ScheduleworldSchema 
>org.apache.eve.schema.bootstrap.SystemSchema
>  
>
Make it a single line that is space separated.  Make sure svn and build 
is up to date.  It used to be comma separated but I made it conform to 
the rest of the multivalued env properties which are space separated.

Alex

Re: add entry no longer works.

Posted by Mark Swanson <ma...@ScheduleWorld.com>.
>
> Ah ok you're running Eve using the eve.properties which is really an
> example of what you could be doing.  Here's how I'd adapt that for your
> own personal config:
<snip identical>
> # create apache partition
>
> eve.db.partitions=mark
> eve.db.partition.suffix.mark=dc=mark
> eve.db.partition.indices.mark=objectClass ou uid
> eve.db.partition.attributes.mark.objectClass=top domain extensibleObject
> eve.db.partition.attributes.mark.dc=mark
>
> # set up all the schemas used
>
> eve.schemas=org.apache.eve.schema.bootstrap.CorbaSchema
> org.apache.eve.schema.bootstrap.CoreSchema
> org.apache.eve.schema.bootstrap.CosineSchema
> org.apache.eve.schema.bootstrap.EveSchema
> org.apache.eve.schema.bootstrap.InetorgpersonSchema
> org.apache.eve.schema.bootstrap.JavaSchema
> org.apache.eve.schema.bootstrap.ScheduleworldSchema
> org.apache.eve.schema.bootstrap.SystemSchema

I've tried to set eve.schemas to eol and space and comma separated yet I get 
ClassNotFoundException: org.apache.eve.schema.bootstrap.CorbaSchema 
org.apache.eve.schema.bootstrap.CoreSchema 
org.apache.eve.schema.bootstrap.CosineSchema 
org.apache.eve.schema.bootstrap.EveSchema 
org.apache.eve.schema.bootstrap.InetorgpersonSchema 
org.apache.eve.schema.bootstrap.JavaSchema 
org.apache.eve.schema.bootstrap.ScheduleworldSchema 
org.apache.eve.schema.bootstrap.SystemSchema

It's as if the BootstrapSchemaLoader.load() is passed a single string instead 
of individual classes...

-- 
Free SyncML-capable J2ME & J2SE replacement for Exchange and Outlook
http://www.ScheduleWorld.com/
WAP: http://www.ScheduleWorld.com/sw/WAPToday?id=4000&tz=EST
WebDAV: http://www.ScheduleWorld.com/sw/webDAVDir/4000.ics
VFREEBUSY: http://www.ScheduleWorld.com/sw/freebusy/4000.ifb

Re: add entry no longer works.

Posted by Alex Karasulu <ao...@bellsouth.net>.
Mark Swanson wrote:

>On December 10, 2004 2:15 pm, Alex Karasulu wrote:
>  
>
>>Mark Swanson wrote:
>>    
>>
>>>Hello,
>>>
>>>Somehow over the past couple of days it has become impossible to add
>>>entries to eve. I thought it was me, but I've spent a few hours going
>>>over everything and I'm pretty sure it's not. Here is a simple test case
>>>that used to work (and works fine against OpenLDAP).
>>>
>>>Using this simple LDIF:
>>>
>>>dn: dc=home2, dc=mark
>>>      
>>>
>>You got a partition hanging off of
>>
>>dc=mark
>>
>>??
>>    
>>
>
>Yes. That is how I have my dev environment set up.
>
>Um, what is an eve partition?
>
>  
>
Ay there's the rub - take a look here and you can setup a partition:

http://www.apache.org/~akarasulu/eve-site/partitions.html

>>If not add should fail.  If so add should work but you need to bind to
>>dc=mark to see that naming context rather than jxplorer.  Try to bind to
>>dc=mark.
>>    
>>
>
>It didn't help; and I didn't have to do that before.
>  
>
OpenLDAP and Eve differ in this regard. 

>>Usually LDAP clients will bind to a specific namingContext referred to in
>>the Root DSE's namingContexts attribute.  This is a multivalued attribute
>>that contains DN's of namingContext suffixes.  Meaning where the roots to
>>the tree served by the DSA reside.  So if you list the namingContexts
>>you'll get this on the eample with the Apache partition added to the
>>server:
>>
>>ldapsearch -h localhost -p 10389 -s base -b "" -D 'uid=admin,ou=system'  -x
>>-w secret '(objectClass=*)' namingContexts
>>    
>>
>
>Neat command!
>
>If I point it to openldap I get:
>dn:
>namingContexts: dc=home2,dc=mark
>
>All I have to do to openldap is to give it the ldif I posted and it will 
>create that naming context. This doesn't work with eve.
>
>  
>
>>#
>>dn:
>>namingContexts: dc=apache,dc=org
>>namingContexts: ou=system
>>
>># search result
>>search: 2
>>result: 0 Success
>>
>># numResponses: 2
>># numEntries: 1
>>    
>>
>
>  
>
Ah ok you're running Eve using the eve.properties which is really an 
example of what you could be doing.  Here's how I'd adapt that for your 
own personal config:

#
# General JNDI Properties
#

java.naming.factory.initial=org.apache.eve.jndi.EveContextFactory
java.naming.security.authentication=simple
java.naming.security.principal=uid=admin,ou=system
java.naming.security.credentials=secret


#
# LDAP Provider Properties
#

#java.naming.ldap.attributes.binary=


#
# Eve Provider Properties
#

eve.wkdir=apache.org
eve.disable.anonymous=true

eve.net.ldap.port=10389

# create apache partition

eve.db.partitions=mark
eve.db.partition.suffix.mark=dc=mark
eve.db.partition.indices.mark=objectClass ou uid
eve.db.partition.attributes.mark.objectClass=top domain extensibleObject
eve.db.partition.attributes.mark.dc=mark

# set up all the schemas used

eve.schemas=org.apache.eve.schema.bootstrap.CorbaSchema 
org.apache.eve.schema.bootstrap.CoreSchema 
org.apache.eve.schema.bootstrap.CosineSchema 
org.apache.eve.schema.bootstrap.EveSchema 
org.apache.eve.schema.bootstrap.InetorgpersonSchema 
org.apache.eve.schema.bootstrap.JavaSchema 
org.apache.eve.schema.bootstrap.ScheduleworldSchema 
org.apache.eve.schema.bootstrap.SystemSchema

>I really have been using the ldif and modify fine with earlier versions of 
>eve...
>
>I only see ou=system in my eve installation. What ldif did you have to use to 
>create dc=apache,dc=org?
>
>  
>
You do not need to create the root suffix node it is automaticatlly 
created for you when you provide this in the configuration:

eve.db.partitions=mark
eve.db.partition.suffix.mark=dc=mark
eve.db.partition.indices.mark=objectClass ou uid
eve.db.partition.attributes.mark.objectClass=top domain extensibleObject
eve.db.partition.attributes.mark.dc=mark


>>Check to make sure you have dc=mark as a valid namingContexts value and
>>make sure you bind to it as the baseDn in your client.
>>    
>>
>
>I always have a baseDN of "dc=home2,dc=mark" in all of my clients.
>
>What's strange is that ldapadd reports success, yet nothing is shown with 
>jxplorer. You'd think eve would return an error if something went wrong...?
>
>  
>
It should hmmm that needs to be checked out.  I'll see if I can 
reproduce this.

Alex


Re: add entry no longer works.

Posted by Enrique Rodriguez <er...@apache.org>.
Alex,

I see this, too.  OpenLDAP does not seem to require the top-most dc. 
This is the highest I need to create.

dn: dc=25oz,dc=com
objectClass: dcObject
objectClass: organization
o: 25oz Software, Inc.
dc: 25oz
creatorsName: cn=admin,dc=25oz,dc=com
createTimestamp: 20030914092637Z
modifiersName: cn=admin,dc=25oz,dc=com
modifyTimestamp: 20030914092637Z

-enrique


Mark Swanson wrote:
> On December 10, 2004 2:15 pm, Alex Karasulu wrote:
> 
>>Mark Swanson wrote:
>>
>>>Hello,
>>>
>>>Somehow over the past couple of days it has become impossible to add
>>>entries to eve. I thought it was me, but I've spent a few hours going
>>>over everything and I'm pretty sure it's not. Here is a simple test case
>>>that used to work (and works fine against OpenLDAP).
>>>
>>>Using this simple LDIF:
>>>
>>>dn: dc=home2, dc=mark
>>
>>You got a partition hanging off of
>>
>>dc=mark
>>
>>??
> 
> 
> Yes. That is how I have my dev environment set up.
> 
> Um, what is an eve partition?
> 
> 
>>If not add should fail.  If so add should work but you need to bind to
>>dc=mark to see that naming context rather than jxplorer.  Try to bind to
>>dc=mark.
> 
> 
> It didn't help; and I didn't have to do that before.
> 
> 
>>Usually LDAP clients will bind to a specific namingContext referred to in
>>the Root DSE's namingContexts attribute.  This is a multivalued attribute
>>that contains DN's of namingContext suffixes.  Meaning where the roots to
>>the tree served by the DSA reside.  So if you list the namingContexts
>>you'll get this on the eample with the Apache partition added to the
>>server:
>>
>>ldapsearch -h localhost -p 10389 -s base -b "" -D 'uid=admin,ou=system'  -x
>>-w secret '(objectClass=*)' namingContexts
> 
> 
> Neat command!
> 
> If I point it to openldap I get:
> dn:
> namingContexts: dc=home2,dc=mark
> 
> All I have to do to openldap is to give it the ldif I posted and it will 
> create that naming context. This doesn't work with eve.
> 
> 
>>#
>>dn:
>>namingContexts: dc=apache,dc=org
>>namingContexts: ou=system
>>
>># search result
>>search: 2
>>result: 0 Success
>>
>># numResponses: 2
>># numEntries: 1
> 
> 
> I really have been using the ldif and modify fine with earlier versions of 
> eve...
> 
> I only see ou=system in my eve installation. What ldif did you have to use to 
> create dc=apache,dc=org?
> 
> 
>>Check to make sure you have dc=mark as a valid namingContexts value and
>>make sure you bind to it as the baseDn in your client.
> 
> 
> I always have a baseDN of "dc=home2,dc=mark" in all of my clients.
> 
> What's strange is that ldapadd reports success, yet nothing is shown with 
> jxplorer. You'd think eve would return an error if something went wrong...?
> 
> 

Re: add entry no longer works.

Posted by Mark Swanson <ma...@ScheduleWorld.com>.
On December 10, 2004 2:15 pm, Alex Karasulu wrote:
> Mark Swanson wrote:
> >Hello,
> >
> >Somehow over the past couple of days it has become impossible to add
> > entries to eve. I thought it was me, but I've spent a few hours going
> > over everything and I'm pretty sure it's not. Here is a simple test case
> > that used to work (and works fine against OpenLDAP).
> >
> >Using this simple LDIF:
> >
> >dn: dc=home2, dc=mark
>
> You got a partition hanging off of
>
> dc=mark
>
> ??

Yes. That is how I have my dev environment set up.

Um, what is an eve partition?

> If not add should fail.  If so add should work but you need to bind to
> dc=mark to see that naming context rather than jxplorer.  Try to bind to
> dc=mark.

It didn't help; and I didn't have to do that before.

> Usually LDAP clients will bind to a specific namingContext referred to in
> the Root DSE's namingContexts attribute.  This is a multivalued attribute
> that contains DN's of namingContext suffixes.  Meaning where the roots to
> the tree served by the DSA reside.  So if you list the namingContexts
> you'll get this on the eample with the Apache partition added to the
> server:
>
> ldapsearch -h localhost -p 10389 -s base -b "" -D 'uid=admin,ou=system'  -x
> -w secret '(objectClass=*)' namingContexts

Neat command!

If I point it to openldap I get:
dn:
namingContexts: dc=home2,dc=mark

All I have to do to openldap is to give it the ldif I posted and it will 
create that naming context. This doesn't work with eve.

> #
> dn:
> namingContexts: dc=apache,dc=org
> namingContexts: ou=system
>
> # search result
> search: 2
> result: 0 Success
>
> # numResponses: 2
> # numEntries: 1

I really have been using the ldif and modify fine with earlier versions of 
eve...

I only see ou=system in my eve installation. What ldif did you have to use to 
create dc=apache,dc=org?

> Check to make sure you have dc=mark as a valid namingContexts value and
> make sure you bind to it as the baseDn in your client.

I always have a baseDN of "dc=home2,dc=mark" in all of my clients.

What's strange is that ldapadd reports success, yet nothing is shown with 
jxplorer. You'd think eve would return an error if something went wrong...?


-- 
Free SyncML-capable J2ME & J2SE replacement for Exchange and Outlook
http://www.ScheduleWorld.com/
WAP: http://www.ScheduleWorld.com/sw/WAPToday?id=4000&tz=EST
WebDAV: http://www.ScheduleWorld.com/sw/webDAVDir/4000.ics
VFREEBUSY: http://www.ScheduleWorld.com/sw/freebusy/4000.ifb

Re: add entry no longer works.

Posted by Alex Karasulu <ao...@bellsouth.net>.
Mark Swanson wrote:

>Hello,
>
>Somehow over the past couple of days it has become impossible to add entries 
>to eve. I thought it was me, but I've spent a few hours going over everything 
>and I'm pretty sure it's not. Here is a simple test case that used to work 
>(and works fine against OpenLDAP).
>
>Using this simple LDIF:
>
>dn: dc=home2, dc=mark
>  
>
You got a partition hanging off of

dc=mark

??

If not add should fail.  If so add should work but you need to bind to dc=mark to see that naming context rather than jxplorer.  Try to bind to dc=mark.

Usually LDAP clients will bind to a specific namingContext referred to in the Root DSE's 
namingContexts attribute.  This is a multivalued attribute that contains DN's of namingContext suffixes.  Meaning where the roots to the tree served by the DSA reside.  So if you list the namingContexts you'll get this on the eample with the Apache partition added to the server:

ldapsearch -h localhost -p 10389 -s base -b "" -D 'uid=admin,ou=system'  -x -w secret '(objectClass=*)' namingContexts

# extended LDIF
#
# LDAPv3
# base <> with scope base
# filter: (objectClass=*)
# requesting: namingContexts
#

#
dn:
namingContexts: dc=apache,dc=org
namingContexts: ou=system

# search result
search: 2
result: 0 Success

# numResponses: 2
# numEntries: 1

Check to make sure you have dc=mark as a valid namingContexts value and make sure you bind to it as the baseDn in your client.

Alex