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

::beat head here:: need help sorting out slapadd



Veterans,

I have been configuring OpenLDAP for several hours now. I'm working through some J2EE tutorial problems and have not been able to get an LDIF to import.

OpenLDAP 2.1.9 and BDB 4.1.24 (RHL 7.3-Valhalla)

The first entry goes... then the slapadd command exits.

slapcat reports nothing what I expected.

I've opened up my permissions in the conf file and double checked my entries against the docs, tute, and comments in the files.

Three (3) logs and files follow. Thanks in advance!

Tim

************************************************
Here is my slapd.conf... pretty much the default:

# $OpenLDAP: pkg/ldap/servers/slapd/slapd.conf,v 1.23.2.5 2002/11/26 18:26:01 kurt Exp $
#
# See slapd.conf(5) for details on configuration options.
# This file should NOT be world readable.
#
include		/usr/local/openldap/etc/openldap/schema/core.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

pidfile		/usr/local/openldap/var/slapd.pid
argsfile	/usr/local/openldap/var/slapd.args

# Load dynamic backend modules:
 modulepath	/usr/local/openldap/libexec/openldap
 moduleload	back_bdb.la
 moduleload	back_ldap.la
 moduleload	back_ldbm.la
 moduleload	back_passwd.la
# moduleload	back_shell.la

# Sample security restrictions
#
#   Disallow clear text exchange of passwords
# disallow bind_simple_unprotected
#
#	Require integrity protection (prevent hijacking)
#	Require 112-bit (3DES or better) encryption for updates
#	Require 63-bit encryption for simple bind
# security ssf=1 update_ssf=112 simple_bind=64

# Sample access control policy:
#	Root DSE: allow anyone to read it
#	Other DSEs:
#		Allow self write access
#		Allow authenticated users read access
#		Allow anonymous users to authenticate
#	Directives needed to implement policy:
# access to dn.base="" 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	bdb
#suffix		"dc=my-domain,dc=com"
#rootdn		"cn=Manager,dc=my-domain,dc=com"
## Cleartext passwords, especially for the rootdn, should
## be avoid.  See slappasswd(8) and slapd.conf(5) for details.
## Use of strong authentication encouraged.
#rootpw		secret
## The database directory MUST exist prior to running slapd AND 
## should only be accessible by the slapd/tools. Mode 700 recommended.
#directory	/usr/local/openldap/var/openldap-data
## Indices to maintain
#index	objectClass	eq

database	ldbm
suffix		"o=Agency,c=US"
rootdn		"cn=Manager,o=Agency,c=US"
rootpw		secret
directory	/usr/local/openldap/var/openldap-ldbm
index	objectClass eq
index	cn,sn pres,eq,sub
access to * by * write



**************************************
Here is the LDIF I'm trying to import:
#start of agency.ldif
dn: o=Agency,c=us
objectclass: top
objectclass: organization
o: Agency
description: Job Agency

dn: ou=Customers,o=Agency,c=us
objectclass: top
objectclass: organizationalUnit
ou: Customers

dn: cn=All Customers,ou=Customers,o=Agency,c=us
objectclass: top
objectclass: groupofnames
member: cn=Winston,ou=Customers,o=Agency,c=us
member: cn=George,ou=Customers,o=Agency,c=us
cn: Customers

dn: cn=Manager,o=Agency,c=us
objectclass: top
objectclass: person
cn: Manager
sn: Manager

dn: cn=George,ou=Customers,o=Agency,c=us
objectclass: top
objectclass: person
cn: George
cn: George Washington
description: President
sn: Washington

dn: cn=Abraham,ou=Customers,o=Agency,c=us
objectclass: top
objectclass: person
cn: Abraham
cn: Abraham Lincoln
description: President
sn: Lincoln

dn: cn=Winston,ou=Customers,o=Agency,c=us
objectclass: top
objectclass: person
cn: Winston
cn: Winston Churchill
description: Prime Minister 
sn: Churchill


*************************
Here is the verbose debug:
[tstone@vahalla sbin]$ sudo ./slapadd -l ~tstone/agency.ldif -d 1 -b "o=Agency,c=US"
slapadd init: initiated tool.
bdb_initialize: initialize BDB backend
bdb_initialize: Sleepycat Software: Berkeley DB 4.1.24: (September 13, 2002)
>>> dnNormalize: <cn=Subschema>
<<< dnNormalize: <cn=subschema>
>>> dnPrettyNormal: <o=Agency,c=US>
<<< dnPrettyNormal: <o=Agency,c=US>, <o=agency,c=us>
>>> dnPrettyNormal: <cn=Manager,o=Agency,c=US>
<<< dnPrettyNormal: <cn=Manager,o=Agency,c=US>, <cn=manager,o=agency,c=us>
matching_rule_use_init
    2.5.13.0 (objectIdentifierMatch): matchingRuleUse: ( 2.5.13.0 NAME 'objectIdentifierMatch' APPLIES ( objectClass $ structuralObjectClass $ supportedControl $ supportedExtension $ supportedFeatures $ supportedApplicationContext ) )
    2.5.13.1 (distinguishedNameMatch): matchingRuleUse: ( 2.5.13.1 NAME 'distinguishedNameMatch' APPLIES ( creatorsName $ modifiersName $ subschemaSubentry $ namingContexts $ aliasedObjectName $ distinguishedName $ member $ owner $ roleOccupant $ seeAlso ) )
    2.5.13.2 (caseIgnoreMatch): matchingRuleUse: ( 2.5.13.2 NAME 'caseIgnoreMatch' APPLIES ( supportedSASLMechanisms $ vendorName $ vendorVersion $ ref $ name $ cn $ knowledgeInformation $ sn $ serialNumber $ c $ l $ st $ street $ o $ ou $ title $ description $ businessCategory $ postalCode $ postOfficeBox $ physicalDeliveryOfficeName $ destinationIndicator $ givenName $ initials $ generationQualifier $ dnQualifier $ houseIdentifier $ dmdName $ labeledURI $ uid ) )
    2.5.13.3 (caseIgnoreOrderingMatch): matchingRuleUse: ( 2.5.13.3 NAME 'caseIgnoreOrderingMatch' APPLIES ( serialNumber $ destinationIndicator $ dnQualifier ) )
    2.5.13.5 (caseExactMatch): matchingRuleUse: ( 2.5.13.5 NAME 'caseExactMatch' APPLIES ( supportedSASLMechanisms $ vendorName $ vendorVersion $ ref $ name $ cn $ knowledgeInformation $ sn $ serialNumber $ c $ l $ st $ street $ o $ ou $ title $ description $ businessCategory $ postalCode $ postOfficeBox $ physicalDeliveryOfficeName $ destinationIndicator $ givenName $ initials $ generationQualifier $ dnQualifier $ houseIdentifier $ dmdName $ labeledURI $ uid ) )
    2.5.13.6 (caseExactOrderingMatch): matchingRuleUse: ( 2.5.13.6 NAME 'caseExactOrderingMatch' APPLIES ( serialNumber $ destinationIndicator $ dnQualifier ) )
    2.5.13.7 (caseExactSubstringsMatch): matchingRuleUse: ( 2.5.13.7 NAME 'caseExactSubstringsMatch' APPLIES ( serialNumber $ destinationIndicator $ dnQualifier ) )
    2.5.13.8 (numericStringMatch): matchingRuleUse: ( 2.5.13.8 NAME 'numericStringMatch' APPLIES ( x121Address $ internationaliSDNNumber ) )
    2.5.13.11 (caseIgnoreListMatch): matchingRuleUse: ( 2.5.13.11 NAME 'caseIgnoreListMatch' APPLIES ( postalAddress $ registeredAddress ) )
    2.5.13.13 (booleanMatch): matchingRuleUse: ( 2.5.13.13 NAME 'booleanMatch' APPLIES hasSubordinates )
    2.5.13.14 (integerMatch): matchingRuleUse: ( 2.5.13.14 NAME 'integerMatch' APPLIES supportedLDAPVersion )
    2.5.13.16 (bitStringMatch): matchingRuleUse: ( 2.5.13.16 NAME 'bitStringMatch' APPLIES x500UniqueIdentifier )
    2.5.13.17 (octetStringMatch): matchingRuleUse: ( 2.5.13.17 NAME 'octetStringMatch' APPLIES userPassword )
    2.5.13.20 (telephoneNumberMatch): matchingRuleUse: ( 2.5.13.20 NAME 'telephoneNumberMatch' APPLIES telephoneNumber )
    2.5.13.22 (presentationAddressMatch): matchingRuleUse: ( 2.5.13.22 NAME 'presentationAddressMatch' APPLIES presentationAddress )
    2.5.13.23 (uniqueMemberMatch): matchingRuleUse: ( 2.5.13.23 NAME 'uniqueMemberMatch' APPLIES uniqueMember )
    2.5.13.24 (protocolInformationMatch): matchingRuleUse: ( 2.5.13.24 NAME 'protocolInformationMatch' APPLIES protocolInformation )
    2.5.13.27 (generalizedTimeMatch): matchingRuleUse: ( 2.5.13.27 NAME 'generalizedTimeMatch' APPLIES ( createTimestamp $ modifyTimestamp ) )
    2.5.13.29 (integerFirstComponentMatch): matchingRuleUse: ( 2.5.13.29 NAME 'integerFirstComponentMatch' APPLIES supportedLDAPVersion )
    2.5.13.30 (objectIdentifierFirstComponentMatch): matchingRuleUse: ( 2.5.13.30 NAME 'objectIdentifierFirstComponentMatch' APPLIES ( objectClass $ structuralObjectClass $ supportedControl $ supportedExtension $ supportedFeatures $ matchingRules $ attributeTypes $ objectClasses $ matchingRuleUse $ ldapSyntaxes $ supportedApplicationContext ) )
    2.5.13.34 (certificateExactMatch): matchingRuleUse: ( 2.5.13.34 NAME 'certificateExactMatch' APPLIES ( userCertificate $ cACertificate ) )
    1.3.6.1.4.1.1466.109.114.1 (caseExactIA5Match): matchingRuleUse: ( 1.3.6.1.4.1.1466.109.114.1 NAME 'caseExactIA5Match' APPLIES ( altServer $ mail $ dc $ associatedDomain $ email ) )
    1.3.6.1.4.1.1466.109.114.2 (caseIgnoreIA5Match): matchingRuleUse: ( 1.3.6.1.4.1.1466.109.114.2 NAME 'caseIgnoreIA5Match' APPLIES ( altServer $ mail $ dc $ associatedDomain $ email ) )
    1.2.840.113556.1.4.803 (integerBitAndMatch): matchingRuleUse: ( 1.2.840.113556.1.4.803 NAME 'integerBitAndMatch' APPLIES supportedLDAPVersion )
    1.2.840.113556.1.4.804 (integerBitOrMatch): matchingRuleUse: ( 1.2.840.113556.1.4.804 NAME 'integerBitOrMatch' APPLIES supportedLDAPVersion )
>>> dnNormalize: <o=Agency,c=US>
<<< dnNormalize: <o=agency,c=us>
slapadd startup: initiated.
backend_startup: starting "o=Agency,c=US"
=> ldbm_cache_open( "id2entry.dbb", 73, 600 )
<= ldbm_cache_open (opened 0)
=> str2entry
>>> dnPrettyNormal: <o=Agency,c=us>
<<< dnPrettyNormal: <o=Agency,c=us>, <o=agency,c=us>
<= str2entry(o=Agency,c=us) -> 0x8117630
oc_check_required entry (o=Agency,c=us), objectClass "organization"
oc_check_allowed type "objectClass"
oc_check_allowed type "o"
oc_check_allowed type "description"
oc_check_allowed type "structuralObjectClass"
=> ldbm_cache_open( "nextid.dbb", 73, 600 )
<= ldbm_cache_open (opened 1)
=> ldbm_tool_entry_put( 1, "o=Agency,c=us" )
=> dn2id( "o=agency,c=us" )
=> ldbm_cache_open( "dn2id.dbb", 73, 600 )
<= ldbm_cache_open (opened 2)
<= dn2id NOID
=> index_entry_add( 1, "o=Agency,c=us" )
=> ldbm_cache_open( "objectClass.dbb", 73, 600 )
<= ldbm_cache_open (opened 3)
=> key_change(ADD,1)
<= key_change 0
=> key_change(ADD,1)
<= key_change 0
<= index_entry_add( 1, "o=Agency,c=us" ) success
=> dn2id_add( "o=agency,c=us", 1 )
=> ldbm_cache_open( "dn2id.dbb", 73, 600 )
<= ldbm_cache_open (cache 2)
<= dn2id_add 0
=> ldbm_cache_open( "nextid.dbb", 73, 600 )
<= ldbm_cache_open (cache 1)
slapadd shutdown: initiated
ldbm backend syncing
ldbm flushing db (id2entry.dbb)
ldbm closing db (id2entry.dbb)
ldbm flushing db (nextid.dbb)
ldbm closing db (nextid.dbb)
ldbm flushing db (dn2id.dbb)
ldbm closing db (dn2id.dbb)
ldbm flushing db (objectClass.dbb)
ldbm closing db (objectClass.dbb)
ldbm backend done syncing
====> cache_release_all
slapadd shutdown: freeing system resources.


Warmest Regards,
Tim

--
/**
 * Timothy Stone      . Sun Certified Java Programmer
 * Web Master         . tstone at cityofhbg dot com
 * City of Harrisburg . 717.255.7297
 * Pennsylvania USA   . 717.903.9162
 *
 * "Censorship always defeats its own purpose,
 *  for it creates in the end the kind of society 
 *  that is incapable of exercising real discretion."
 *  --Henry Steele Commager, Historian
 */