On (23/06/06 08:05), Matthijs Mohlmann wrote:
> James Westby wrote:
> > Package: slapd
> > Version: 2.3.24-1
> > Severity: minor
> > 
> > I have been trying to debug some problems so I use -d quite often. If i 
> > forget
> I can't reproduce it here, just tried your flow to reproduce but that
> didn't work:

Hmmm. I can do it at will. Maybe i should have been more precise, sorry,
let's try again. Attached is my slapd.conf if that makes any difference.
I think it's because I try and start the second on a different port.

> /etc/init.d/slapd start (works)
> slapd -d 1 (fails, because port is in use)
slapd -d 1 -h ldaps://0.0.0.0:80/ (fails as db is in use)
> /etc/init.d/slapd stop (works, check pstree -u if slapd is running)
/etc/init.d/slapd stop (fails, pstree -u shows it running)
> slapd -d 1 (works, because slapd is stopped)
> /etc/init.d/slapd stop (works also, the 'slapd -d 1' is killed)

Attached is a trace of the problem.

> 
> If you want to run a second instance of slapd, you can better try to
> create another configuration file and set it up so that it doesn't
> interfere with the other one.

I don't want a second instance, I just temporarily want a debugging
instance of slapd so I can grab a trace for other bug reports. I could
set up a second config etc. but this is a test system so I can pull the
main one down with no worries. I realise this might not be a very common
case, hence severity minor.

The second thing is that I want the debugging instance on port 80 so
that I can bypass a firewall that I'm too lazy to open up a port in. I'm
not running a webserver.

> 
> But why do you want that ? slapd can run with multiple directories ?
> 
> Regards,
> 
> Matthijs Mohlmann
> 

Again apologies for the poor first report, hopefully this one is better.

James

-- 
  James Westby
  [EMAIL PROTECTED]
  http://jameswestby.net/
/etc/init.d/slapd start 
Starting OpenLDAP: slapd.
$ ps aux | grep slapd
root      6623  0.4  5.7  14904  3600 ?        Ssl  19:49   0:00 
/usr/sbin/slapd -h ldap://127.0.0.1:389/ ldaps:///
root      6629  0.0  1.2   2816   768 tty3     S+   19:50   0:00 grep slapd
$ slapd -h ldaps://0.0.0.0:80/ -d 1 
@(#) $OpenLDAP: slapd 2.3.24 (Jun  1 2006 21:27:57) $
        
@pulsar:/home/torsten/packages/openldap/openldap2.3-2.3.24/debian/build/servers/slapd
daemon_init: listen on ldaps://0.0.0.0:80/
daemon_init: 1 listeners to open...
ldap_url_parse_ext(ldaps://0.0.0.0:80/)
daemon: listener initialized ldaps://0.0.0.0:80/
daemon_init: 1 listeners opened
slapd init: initiated server.
slap_sasl_init: initialized!
bdb_back_initialize: initialize BDB backend
bdb_back_initialize: Sleepycat Software: Berkeley DB 4.2.52: (December  3, 2003)
bdb_db_init: Initializing BDB database
>>> dnPrettyNormal: <dc=idiot,dc=net>
<<< dnPrettyNormal: <dc=idiot,dc=net>, <dc=idiot,dc=net>
>>> dnNormalize: <cn=admin,dc=idiot,dc=net>
<<< dnNormalize: <cn=admin,dc=idiot,dc=net>
>>> dnNormalize: <>
<<< dnNormalize: <>
>>> dnNormalize: <cn=admin,dc=idiot,dc=net>
<<< dnNormalize: <cn=admin,dc=idiot,dc=net>
>>> dnNormalize: <cn=Subschema>
<<< dnNormalize: <cn=subschema>
matching_rule_use_init
    1.2.840.113556.1.4.804 (integerBitOrMatch): matchingRuleUse: ( 
1.2.840.113556.1.4.804 NAME 'integerBitOrMatch' APPLIES ( supportedLDAPVersion 
$ uidNumber $ gidNumber $ olcConcurrency $ olcConnMaxPending $ 
olcConnMaxPendingAuth $ olcIdleTimeout $ olcIndexSubstrIfMinLen $ 
olcIndexSubstrIfMaxLen $ olcIndexSubstrAnyLen $ olcIndexSubstrAnyStep $ 
olcLocalSSF $ olcMaxDerefDepth $ olcReplicationInterval $ olcSockbufMaxIncoming 
$ olcSockbufMaxIncomingAuth $ olcThreads $ olcToolThreads $ 
mailPreferenceOption $ shadowLastChange $ shadowMin $ shadowMax $ shadowWarning 
$ shadowInactive $ shadowExpire $ shadowFlag $ ipServicePort $ ipProtocolNumber 
$ oncRpcNumber $ olcDbCacheFree $ olcDbCacheSize $ olcDbIDLcacheSize $ 
olcDbMode $ olcDbSearchStack $ olcDbShmKey ) )
    1.2.840.113556.1.4.803 (integerBitAndMatch): matchingRuleUse: ( 
1.2.840.113556.1.4.803 NAME 'integerBitAndMatch' APPLIES ( supportedLDAPVersion 
$ uidNumber $ gidNumber $ olcConcurrency $ olcConnMaxPending $ 
olcConnMaxPendingAuth $ olcIdleTimeout $ olcIndexSubstrIfMinLen $ 
olcIndexSubstrIfMaxLen $ olcIndexSubstrAnyLen $ olcIndexSubstrAnyStep $ 
olcLocalSSF $ olcMaxDerefDepth $ olcReplicationInterval $ olcSockbufMaxIncoming 
$ olcSockbufMaxIncomingAuth $ olcThreads $ olcToolThreads $ 
mailPreferenceOption $ shadowLastChange $ shadowMin $ shadowMax $ shadowWarning 
$ shadowInactive $ shadowExpire $ shadowFlag $ ipServicePort $ ipProtocolNumber 
$ oncRpcNumber $ olcDbCacheFree $ olcDbCacheSize $ olcDbIDLcacheSize $ 
olcDbMode $ olcDbSearchStack $ olcDbShmKey ) )
    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 $ aRecord $ mDRecord $ mXRecord $ nSRecord $ 
sOARecord $ cNAMERecord $ janetMailbox $ gecos $ homeDirectory $ loginShell $ 
memberUid $ memberNisNetgroup $ ipHostNumber $ ipNetworkNumber $ 
ipNetmaskNumber $ macAddress $ bootFile $ nisMapEntry ) )
    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 $ aRecord $ mDRecord $ mXRecord $ nSRecord $ 
sOARecord $ cNAMERecord $ janetMailbox $ gecos $ homeDirectory $ loginShell $ 
memberUid $ memberNisNetgroup $ ipHostNumber $ ipNetworkNumber $ 
ipNetmaskNumber $ macAddress $ bootFile $ nisMapEntry ) )
    2.5.13.35 (certificateMatch): matchingRuleUse: ( 2.5.13.35 NAME 
'certificateMatch' APPLIES ( userCertificate $ cACertificate ) )
    2.5.13.34 (certificateExactMatch): matchingRuleUse: ( 2.5.13.34 NAME 
'certificateExactMatch' APPLIES ( userCertificate $ cACertificate ) )
    2.5.13.30 (objectIdentifierFirstComponentMatch): matchingRuleUse: ( 
2.5.13.30 NAME 'objectIdentifierFirstComponentMatch' APPLIES ( supportedControl 
$ supportedExtension $ supportedFeatures $ ldapSyntaxes $ 
supportedApplicationContext ) )
    2.5.13.29 (integerFirstComponentMatch): matchingRuleUse: ( 2.5.13.29 NAME 
'integerFirstComponentMatch' APPLIES ( supportedLDAPVersion $ uidNumber $ 
gidNumber $ olcConcurrency $ olcConnMaxPending $ olcConnMaxPendingAuth $ 
olcIdleTimeout $ olcIndexSubstrIfMinLen $ olcIndexSubstrIfMaxLen $ 
olcIndexSubstrAnyLen $ olcIndexSubstrAnyStep $ olcLocalSSF $ olcMaxDerefDepth $ 
olcReplicationInterval $ olcSockbufMaxIncoming $ olcSockbufMaxIncomingAuth $ 
olcThreads $ olcToolThreads $ mailPreferenceOption $ shadowLastChange $ 
shadowMin $ shadowMax $ shadowWarning $ shadowInactive $ shadowExpire $ 
shadowFlag $ ipServicePort $ ipProtocolNumber $ oncRpcNumber $ olcDbCacheFree $ 
olcDbCacheSize $ olcDbIDLcacheSize $ olcDbMode $ olcDbSearchStack $ olcDbShmKey 
) )
    2.5.13.27 (generalizedTimeMatch): matchingRuleUse: ( 2.5.13.27 NAME 
'generalizedTimeMatch' APPLIES ( createTimestamp $ modifyTimestamp ) )
    2.5.13.24 (protocolInformationMatch): matchingRuleUse: ( 2.5.13.24 NAME 
'protocolInformationMatch' APPLIES protocolInformation )
    2.5.13.23 (uniqueMemberMatch): matchingRuleUse: ( 2.5.13.23 NAME 
'uniqueMemberMatch' APPLIES uniqueMember )
    2.5.13.22 (presentationAddressMatch): matchingRuleUse: ( 2.5.13.22 NAME 
'presentationAddressMatch' APPLIES presentationAddress )
    2.5.13.20 (telephoneNumberMatch): matchingRuleUse: ( 2.5.13.20 NAME 
'telephoneNumberMatch' APPLIES ( telephoneNumber $ homePhone $ mobile $ pager ) 
)
    2.5.13.17 (octetStringMatch): matchingRuleUse: ( 2.5.13.17 NAME 
'octetStringMatch' APPLIES userPassword )
    2.5.13.16 (bitStringMatch): matchingRuleUse: ( 2.5.13.16 NAME 
'bitStringMatch' APPLIES x500UniqueIdentifier )
    2.5.13.14 (integerMatch): matchingRuleUse: ( 2.5.13.14 NAME 'integerMatch' 
APPLIES ( supportedLDAPVersion $ uidNumber $ gidNumber $ olcConcurrency $ 
olcConnMaxPending $ olcConnMaxPendingAuth $ olcIdleTimeout $ 
olcIndexSubstrIfMinLen $ olcIndexSubstrIfMaxLen $ olcIndexSubstrAnyLen $ 
olcIndexSubstrAnyStep $ olcLocalSSF $ olcMaxDerefDepth $ olcReplicationInterval 
$ olcSockbufMaxIncoming $ olcSockbufMaxIncomingAuth $ olcThreads $ 
olcToolThreads $ mailPreferenceOption $ shadowLastChange $ shadowMin $ 
shadowMax $ shadowWarning $ shadowInactive $ shadowExpire $ shadowFlag $ 
ipServicePort $ ipProtocolNumber $ oncRpcNumber $ olcDbCacheFree $ 
olcDbCacheSize $ olcDbIDLcacheSize $ olcDbMode $ olcDbSearchStack $ olcDbShmKey 
) )
    2.5.13.13 (booleanMatch): matchingRuleUse: ( 2.5.13.13 NAME 'booleanMatch' 
APPLIES ( hasSubordinates $ olcGentleHUP $ olcLastMod $ olcReadOnly $ 
olcReverseLookup $ olcDbNoSync $ olcDbDirtyRead $ olcDbLinearIndex ) )
    2.5.13.11 (caseIgnoreListMatch): matchingRuleUse: ( 2.5.13.11 NAME 
'caseIgnoreListMatch' APPLIES ( postalAddress $ registeredAddress $ 
homePostalAddress ) )
    2.5.13.8 (numericStringMatch): matchingRuleUse: ( 2.5.13.8 NAME 
'numericStringMatch' APPLIES ( x121Address $ internationaliSDNNumber ) )
    2.5.13.7 (caseExactSubstringsMatch): matchingRuleUse: ( 2.5.13.7 NAME 
'caseExactSubstringsMatch' APPLIES ( serialNumber $ destinationIndicator $ 
dnQualifier ) )
    2.5.13.6 (caseExactOrderingMatch): matchingRuleUse: ( 2.5.13.6 NAME 
'caseExactOrderingMatch' APPLIES ( serialNumber $ destinationIndicator $ 
dnQualifier ) )
    2.5.13.5 (caseExactMatch): matchingRuleUse: ( 2.5.13.5 NAME 
'caseExactMatch' APPLIES ( supportedSASLMechanisms $ vendorName $ vendorVersion 
$ ref $ name $ cn $ uid $ labeledURI $ description $ olcConfigFile $ 
olcConfigDir $ olcAccess $ olcAllows $ olcArgsFile $ olcAttributeOptions $ 
olcAttributeTypes $ olcAuthIDRewrite $ olcAuthzPolicy $ olcAuthzRegexp $ 
olcBackend $ olcDatabase $ olcDisallows $ olcDitContentRules $ olcInclude $ 
olcLimits $ olcLogFile $ olcLogLevel $ olcModuleLoad $ olcModulePath $ 
olcObjectClasses $ olcObjectIdentifier $ olcOverlay $ 
olcPasswordCryptSaltFormat $ olcPasswordHash $ olcPidFile $ olcPlugin $ 
olcPluginLogFile $ olcReferral $ olcReplica $ olcReplicaArgsFile $ 
olcReplicaPidFile $ olcReplogFile $ olcRequires $ olcRestrict $ olcRootDSE $ 
olcRootPW $ olcSaslHost $ olcSaslRealm $ olcSaslSecProps $ olcSecurity $ 
olcSizeLimit $ olcSrvtab $ olcSubordinate $ olcSyncrepl $ olcTimeLimit $ 
olcTLSCACertificateFile $ olcTLSCACertificatePath $ olcTLSCertificateFile $ 
olcTLSCertificateKeyFile $ olcTLSCipherSuite $ olcTLSCRLCheck $ olcTLSRandFile 
$ olcTLSVerifyClient $ olcTLSDHParamFile $ olcUpdateRef $ olcDbDirectory $ 
knowledgeInformation $ sn $ serialNumber $ c $ l $ st $ street $ o $ ou $ title 
$ businessCategory $ postalCode $ postOfficeBox $ physicalDeliveryOfficeName $ 
destinationIndicator $ givenName $ initials $ generationQualifier $ dnQualifier 
$ houseIdentifier $ dmdName $ pseudonym $ textEncodedORAddress $ info $ drink $ 
roomNumber $ userClass $ host $ documentIdentifier $ documentTitle $ 
documentVersion $ documentLocation $ personalTitle $ co $ uniqueIdentifier $ 
organizationalStatus $ buildingName $ documentPublisher $ ipServiceProtocol $ 
nisMapName $ carLicense $ departmentNumber $ displayName $ employeeNumber $ 
employeeType $ preferredLanguage $ olcDbCheckpoint $ olcDbConfig $ olcDbIndex $ 
olcDbLockDetect ) )
    2.5.13.4 (caseIgnoreSubstringsMatch): matchingRuleUse: ( 2.5.13.4 NAME 
'caseIgnoreSubstringsMatch' APPLIES ( serialNumber $ destinationIndicator $ 
dnQualifier ) )
    2.5.13.3 (caseIgnoreOrderingMatch): matchingRuleUse: ( 2.5.13.3 NAME 
'caseIgnoreOrderingMatch' APPLIES ( serialNumber $ destinationIndicator $ 
dnQualifier ) )
    2.5.13.2 (caseIgnoreMatch): matchingRuleUse: ( 2.5.13.2 NAME 
'caseIgnoreMatch' APPLIES ( supportedSASLMechanisms $ vendorName $ 
vendorVersion $ ref $ name $ cn $ uid $ labeledURI $ description $ 
olcConfigFile $ olcConfigDir $ olcAccess $ olcAllows $ olcArgsFile $ 
olcAttributeOptions $ olcAttributeTypes $ olcAuthIDRewrite $ olcAuthzPolicy $ 
olcAuthzRegexp $ olcBackend $ olcDatabase $ olcDisallows $ olcDitContentRules $ 
olcInclude $ olcLimits $ olcLogFile $ olcLogLevel $ olcModuleLoad $ 
olcModulePath $ olcObjectClasses $ olcObjectIdentifier $ olcOverlay $ 
olcPasswordCryptSaltFormat $ olcPasswordHash $ olcPidFile $ olcPlugin $ 
olcPluginLogFile $ olcReferral $ olcReplica $ olcReplicaArgsFile $ 
olcReplicaPidFile $ olcReplogFile $ olcRequires $ olcRestrict $ olcRootDSE $ 
olcRootPW $ olcSaslHost $ olcSaslRealm $ olcSaslSecProps $ olcSecurity $ 
olcSizeLimit $ olcSrvtab $ olcSubordinate $ olcSyncrepl $ olcTimeLimit $ 
olcTLSCACertificateFile $ olcTLSCACertificatePath $ olcTLSCertificateFile $ 
olcTLSCertificateKeyFile $ olcTLSCipherSuite $ olcTLSCRLCheck $ olcTLSRandFile 
$ olcTLSVerifyClient $ olcTLSDHParamFile $ olcUpdateRef $ olcDbDirectory $ 
knowledgeInformation $ sn $ serialNumber $ c $ l $ st $ street $ o $ ou $ title 
$ businessCategory $ postalCode $ postOfficeBox $ physicalDeliveryOfficeName $ 
destinationIndicator $ givenName $ initials $ generationQualifier $ dnQualifier 
$ houseIdentifier $ dmdName $ pseudonym $ textEncodedORAddress $ info $ drink $ 
roomNumber $ userClass $ host $ documentIdentifier $ documentTitle $ 
documentVersion $ documentLocation $ personalTitle $ co $ uniqueIdentifier $ 
organizationalStatus $ buildingName $ documentPublisher $ ipServiceProtocol $ 
nisMapName $ carLicense $ departmentNumber $ displayName $ employeeNumber $ 
employeeType $ preferredLanguage $ olcDbCheckpoint $ olcDbConfig $ olcDbIndex $ 
olcDbLockDetect ) )
    1.2.36.79672281.1.13.3 (rdnMatch):     2.5.13.1 (distinguishedNameMatch): 
matchingRuleUse: ( 2.5.13.1 NAME 'distinguishedNameMatch' APPLIES ( 
creatorsName $ modifiersName $ subschemaSubentry $ namingContexts $ 
aliasedObjectName $ distinguishedName $ seeAlso $ olcDefaultSearchBase $ 
olcRootDN $ olcSchemaDN $ olcSuffix $ olcUpdateDN $ member $ owner $ 
roleOccupant $ manager $ documentAuthor $ secretary $ associatedName $ 
dITRedirect ) )
    2.5.13.0 (objectIdentifierMatch): matchingRuleUse: ( 2.5.13.0 NAME 
'objectIdentifierMatch' APPLIES ( supportedControl $ supportedExtension $ 
supportedFeatures $ supportedApplicationContext ) )
slapd startup: initiated.
backend_startup_one: starting "cn=config"
config_back_db_open
config_build_entry: "cn=config"
config_build_entry: "cn=include{0}"
config_build_entry: "cn=include{1}"
config_build_entry: "cn=include{2}"
config_build_entry: "cn=include{3}"
config_build_entry: "cn=module{0}"
config_build_entry: "cn=schema"
config_build_entry: "cn={0}core"
config_build_entry: "cn={1}cosine"
config_build_entry: "cn={2}nis"
config_build_entry: "cn={3}inetorgperson"
config_build_entry: "olcDatabase={-1}frontend"
config_build_entry: "olcDatabase={0}config"
config_build_entry: "olcDatabase={1}bdb"
backend_startup_one: starting "dc=idiot,dc=net"
bdb_db_open: database already in use
backend_startup_one: bi_db_open failed! (-1)
slapd shutdown: initiated
====> bdb_cache_release_all
slapd destroy: freeing system resources.
slapd stopped.
connections_destroy: nothing to destroy.
$ ps aux | grep slapd
root      6623  0.2  5.7  14904  3600 ?        Ssl  19:49   0:00 
/usr/sbin/slapd -h ldap://127.0.0.1:389/ ldaps:///
root      6637  0.0  1.2   2816   768 tty3     S+   19:51   0:00 grep slapd
$ /etc/init.d/slapd stop 
Stopping OpenLDAP: slapd.
$ ps aux | grep slapd
root      6623  0.2  5.8  14904  3608 ?        Ssl  19:49   0:00 
/usr/sbin/slapd -h ldap://127.0.0.1:389/ ldaps:///
root      6644  0.0  1.2   2820   772 tty3     S+   19:52   0:00 grep slapd
include         /etc/ldap/schema/core.schema
include         /etc/ldap/schema/cosine.schema
include         /etc/ldap/schema/nis.schema
include         /etc/ldap/schema/inetorgperson.schema
schemacheck     on
pidfile         /var/run/slapd/slapd.pid
argsfile        /var/run/slapd.args
loglevel        0
modulepath      /usr/lib/ldap
moduleload      back_bdb
sizelimit 500
tool-threads 1
TLSCipherSuite HIGH:MEDIUM:+SSLv2
TLSCertificateFile /etc/ldap/server.cert
TLSCertificateKeyFile /etc/ldap/server.key
TLSCACertificateFile /etc/ldap/ca.cert
TLSVerifyClient 0
backend         bdb
checkpoint 512 30
database        bdb
suffix          "dc=idiot,dc=net"
directory       "/var/lib/ldap"
dbconfig set_cachesize 0 2097152 0
dbconfig set_lk_max_objects 1500
dbconfig set_lk_max_locks 1500
dbconfig set_lk_max_lockers 1500
index           objectClass eq
lastmod         on
access to attrs=userPassword
        by dn="cn=admin,dc=idiot,dc=net" write
        by anonymous auth
        by self write
        by * none
access to dn.base="" by * read
access to *
        by dn="cn=admin,dc=idiot,dc=net" write
        by * read

Reply via email to