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

2.1.3, JNDI bind Java object fails (ITS#1961)



Full_Name: steve sullivan
Version: 2.1.3
OS: redhat 7.3 linux
URL: ftp://ftp.openldap.org/incoming/
Submission from: (NULL) (12.253.120.11)


Hi,
I'm testing the two most recent releases of OpenLDAP:
	2.0.25	works for javaObjects
	2.1.3	apparently does not work

When I try to store a serialized java object through JNDI,
with schemacheck=on, with 2.0.25 it works.
With 2.1.3 I get:

javax.naming.directory.SchemaViolationException: [LDAP: error code 65 -
instanstantiation of abstract objectClass 'javaObject' not allowed]; remaining
name 'testObjName=obj88,testUid=alpha88,testou=groupalpha,dc=testOrg,dc=com'

It works in 2.1.3 with schemacheck=off, but with "on" it dies.  Why?

What gives?
The slapd.conf file is appended.
The java call is:

		String moddn = "testObjName=obj88,testUid=alpha88,testou=groupalpha,dc=testOrg,dc=com";
		String modobj = "======== test object ===========";
		Attributes modattrs:
			// Attr name:    values:
			// objectclass:  'top','testObject'
			//               (I also tried adding objectclass
			//                 javaSerializedObject, but got the same error)
			// testou:       'groupalpha'
			// testUid:      'alpha88'
			// testObjName:  'obj88'
			// testString:   'alpha 88 stg'
			// testint:      '88'

		dirctx.bind( moddn, modobj, modattrs);


I'm running Sun's jdk 1.4.0 on Redhat 7.3.

Many thanks,

Steve



=============== slapd.conf ======================
# $OpenLDAP: pkg/ldap/servers/slapd/slapd.conf,v 1.23 2002/02/02 05:23:12 kurt
Exp $
#
# See slapd.conf(5) for details on configuration options.
# This file should NOT be world readable.
#
include	/home/ss/ftp/openldap/tdi.213/etc/openldap/schema/core.schema
include	/home/ss/ftp/openldap/tdi.213/etc/openldap/schema/cosine.schema
include	/home/ss/ftp/openldap/tdi.213/etc/openldap/schema/inetorgperson.schema
include	/home/ss/ftp/openldap/tdi.213/etc/openldap/schema/java.schema

# Define global ACLs to disable default read access.

# Do not enable referrals until AFTER you have a working directory
# service AND an understanding of referrals.
#referral	ldap://root.openldap.org

schemacheck	on

pidfile     /home/ss/tech/jnew/ldap/testdir/tda.db/slapd.pid
argsfile    /home/ss/tech/jnew/ldap/testdir/tda.db/slapd.args

attributetype ( 1.3.6.1.4.1.777777.10.1
	NAME 'testString'
	DESC 'test attribute def'
	EQUALITY caseIgnoreMatch
	SUBSTR caseIgnoreSubstringsMatch
	SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )

attributetype ( 1.3.6.1.4.1.777777.10.2
	NAME 'testInt'
	DESC 'test attribute def'
	EQUALITY caseIgnoreMatch
	SUBSTR caseIgnoreSubstringsMatch
	SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 )

attributetype ( 1.3.6.1.4.1.777777.100.10
	NAME 'testUid'
	DESC 'Test user ID'
	EQUALITY caseIgnoreMatch
	SUBSTR caseIgnoreSubstringsMatch
	SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
	SINGLE-VALUE )

attributetype ( 1.3.6.1.4.1.777777.100.80
	NAME 'testRole'
	DESC 'Role (may be multiple)'
	EQUALITY caseIgnoreMatch
	SUBSTR caseIgnoreSubstringsMatch
	SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )

attributetype ( 1.3.6.1.4.1.777777.100.90
	NAME 'testInstitution'
	DESC 'Name of affiliated instution (may be multiple)'
	EQUALITY caseIgnoreMatch
	SUBSTR caseIgnoreSubstringsMatch
	SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )

attributetype ( 1.3.6.1.4.1.777777.100.100
	NAME 'testou'
	DESC 'like ou'
	EQUALITY caseIgnoreMatch
	SUBSTR caseIgnoreSubstringsMatch
	SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )

attributetype ( 1.3.6.1.4.1.777777.100.110
	NAME 'testAdmin'
	DESC 'like owner'
	EQUALITY caseIgnoreMatch
	SUBSTR caseIgnoreSubstringsMatch
	SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 )

attributetype ( 1.3.6.1.4.1.777777.100.120
	NAME 'testObjName'
	DESC 'name of java object'
	EQUALITY caseIgnoreMatch
	SUBSTR caseIgnoreSubstringsMatch
	SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )


# define testOrgUnit
objectclass ( 1.3.6.1.4.1.777777.200.10 NAME 'testOrgUnit'
	SUP top
	STRUCTURAL
	MUST ( testou $ testAdmin )
	MAY ( cn ) )

# define testObject
objectclass ( 1.3.6.1.4.1.777777.200.20 NAME 'testObject'
	SUP top
	STRUCTURAL
	MUST ( testou $ testUid $ testObjName )
	MAY ( testString $ testInt ) )

# define testPerson
objectclass ( 1.3.6.1.4.1.777777.200.30 NAME 'testPerson'
	SUP top
	STRUCTURAL
	MUST ( testou $ testUid $ mail $ cn $ sn $ givenName )
	MAY (
		userPassword $
		street $
		l $
		st $
		postalCode $
		c $
		labeledURI $
		title $
		testString $
		testInt $
		testRole $
		testInstitution ) )

access to * by * write

# Load dynamic backend modules:
# modulepath	/home/ss/ftp/openldap/tdi.213/libexec/openldap
# moduleload	back_ldap.la
# moduleload	back_ldbm.la
# moduleload	back_passwd.la
# moduleload	back_shell.la

#
# Sample access control policy:
#	Allow read access of root DSE
#	Allow self write access
#	Allow authenticated users read access
#	Allow anonymous users to authenticate
# Directives needed to implement policy:
#access to dn="" by * read
#access to *
#	by self write
#	by users read
#	by anonymous auth
#
# if no access controls are present, the default policy is:
#	Allow read by all
#
# rootdn can always write!

#######################################################################
# ldbm database definitions
#######################################################################

database	ldbm
suffix		"dc=testOrg,dc=com"
directory	/home/ss/tech/jnew/ldap/testdir/tda.db
rootdn		(omitted)
rootpw		(omitted)

# Indices to maintain
index	objectClass	eq
# $OpenLDAP$
#
# stand-alone slapd config -- for testing
#	with indexing
#

###index		objectclass	eq
###index		uid	pres,eq,sub
###index		cn,sn	pres,eq,sub,subany
###dbnosync
###dbnolocking


=============== slapd.conf ======================