[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
Server is unwilling to perform (53), referral missing...
Howdy. Been playing with back-sql and am having mixed results. I can
get slapd to talk to PostgreSQL over unixODBC. I'm able to query most
of the entries out of ldap_entries via ldapsearch(1). I'm even able to
add and update some entries, but, when I'm trying to add a top level
dcObject, I get the following error, rather cryptic error:
### BEGIN
% cat ldif
dn: dc=xmlp,dc=com
dc: xmpl
objectClass: dcObject
% ldapadd -v -v -W -D 'cn=root,dc=example,dc=com' -f ldif
ldap_initialize( <DEFAULT> )
Enter LDAP Password:
add dc:
xmpl
add objectClass:
dcObject
adding new entry "dc=xmpl,dc=com"
ldapadd: update failed: dc=xmpl,dc=com
ldap_add: Server is unwilling to perform (53)
additional info: referral missing
### END
Huh? The output from slapd -d255 -s2000 is included below. I
understand how this is supposed to work and can add orgUnit's and
inetOrgFolks under a given dcObject, but, for the life of me, I can't
get it to add an entry for 'dc=xmpl,dc=com'. Before someone asks, yes,
I've checked and there is no xmpl in either my dc_object or
ldap_entries table. I'm wondering if this is because I'm missing
something simple, but it's hard to say. I've read through the code and
as best as I can guess, there are two things:
1) something's clobbering some memory because this doesn't look right
to me:
ber_scanf fmt ({m{W}}) ber:
ber_dump: buf=0x081c0380 ptr=0x081c0397 end=0x081c03a5 len=14
0000: 30 0c 04 02 64 63 31 06 04 04 6e 78 61 64
0...dc1...xmpl
ber_scanf fmt (}) ber:
ber_dump: buf=0x081c0380 ptr=0x081c03a5 end=0x081c03a5 len=0
Seems like the ber_scanf() should have parsed everything and for some
reason it's overrunning it's buffer or isn't finishing scanning based
off of its format from the previous ber_scanf() call. I'm not familiar
with the code and hope someone can say, "oh, that's bad," or "fixed,
here's a patch."
2) The back-sql isn't initializing correctly or parsing the entry right
in ldap_bv2dn(). IMHO, here's the interesting snippet of the log from
below:
### BEGIN
>>> dnPrettyNormal: <dc=xmpl,dc=com>
=> ldap_bv2dn(dc=xmpl,dc=com,0)
<= ldap_bv2dn(dc=xmpl,dc=com,0)=0
=> ldap_dn2bv(272)
<= ldap_dn2bv(dc=xmpl,dc=com,272)=0
=> ldap_dn2bv(272)
<= ldap_dn2bv(dc=xmpl,dc=com,272)=0
<<< dnPrettyNormal: <dc=xmpl,dc=com>, <dc=xmpl,dc=com>
do_add: dn (dc=xmpl,dc=com)
ber_scanf fmt ({m{W}}) ber:
ber_dump: buf=0x081c0380 ptr=0x081c0397 end=0x081c03a5 len=14
0000: 30 0c 04 02 64 63 31 06 04 04 6e 78 61 64
0...dc1...xmpl
ber_scanf fmt (}) ber:
ber_dump: buf=0x081c0380 ptr=0x081c03a5 end=0x081c03a5 len=0
send_ldap_result: conn=0 op=1 p=3
send_ldap_result: err=53 matched="" text="referral missing"
send_ldap_response: msgid=2 tag=105 err=53
### END
Anyone have any clues? I'm stumped and confused. I know what a
referral is, but don't know why it'd make a difference when trying to
add an entry when I have replication turned off. Other info is
available if needed. Any help is greatly appreciated. TIA. -sc
Starting slapd.
@(#) $OpenLDAP: slapd 2.2.5 (Jan 26 2004 08:22:33) $
root@elaine.example.com:/opt2/portsroot/net/openldap22-server/work/
openldap-2.2.5/servers/slapd
daemon_init: <null>
daemon_init: listen on ldap:///
daemon_init: 1 listeners to open...
ldap_url_parse_ext(ldap:///)
daemon: initialized ldap:///
daemon_init: 1 listeners opened
slapd init: initiated server.
bdb_initialize: initialize BDB backend
bdb_initialize: Sleepycat Software: Berkeley DB 4.2.52: (December 3,
2003)
perl backend open
==>backsql_initialize()
<==backsql_initialize()
reading config file /usr/local/etc/openldap/slapd.conf
line 5 (include /usr/local/etc/openldap/schema/core.schema)
[snip]
line 6 (include /usr/local/etc/openldap/schema/cosine.schema)
[snip]
reading config file /usr/local/etc/openldap/schema/cosine.schema
[snip]
line 7 (include /usr/local/etc/openldap/schema/nis.schema)
[snip]
line 8 (include /usr/local/etc/openldap/schema/inetorgperson.schema)
[snip]
line 13 (access to * by self write by * read)
Global ACL: access to *
by self write(=wrscx)
by * read(=rscx)
line 14 (access to * by dn="cn=root,dc=example,dc=com" write)
>>> dnNormalize: <cn=root,dc=example,dc=com>
=> ldap_bv2dn(cn=root,dc=example,dc=com,0)
<= ldap_bv2dn(cn=root,dc=example,dc=com,0)=0
=> ldap_dn2bv(272)
<= ldap_dn2bv(cn=root,dc=example,dc=com,272)=0
<<< dnNormalize: <cn=root,dc=example,dc=com>
Global ACL: access to *
by dn.base="cn=root,dc=example,dc=com" write(=wrscx)
line 21 (pidfile /var/run/openldap/slapd.pid)
line 22 (argsfile /var/run/openldap/slapd.args)
line 27 (database sql)
==>backsql_db_init()
==>backsql_init_db_env()
<==backsql_init_db_env()
<==backsql_db_init()
line 28 (suffix "dc=example,dc=com")
>>> dnPrettyNormal: <dc=example,dc=com>
=> ldap_bv2dn(dc=example,dc=com,0)
<= ldap_bv2dn(dc=example,dc=com,0)=0
=> ldap_dn2bv(272)
<= ldap_dn2bv(dc=example,dc=com,272)=0
=> ldap_dn2bv(272)
<= ldap_dn2bv(dc=example,dc=com,272)=0
<<< dnPrettyNormal: <dc=example,dc=com>, <dc=example,dc=com>
line 29 (rootdn "cn=root,dc=example,dc=com")
>>> dnPrettyNormal: <cn=root,dc=example,dc=com>
=> ldap_bv2dn(cn=root,dc=example,dc=com,0)
<= ldap_bv2dn(cn=root,dc=example,dc=com,0)=0
=> ldap_dn2bv(272)
<= ldap_dn2bv(cn=root,dc=example,dc=com,272)=0
=> ldap_dn2bv(272)
<= ldap_dn2bv(cn=root,dc=example,dc=com,272)=0
<<< dnPrettyNormal: <cn=root,dc=example,dc=com>,
<cn=root,dc=example,dc=com>
line 30 (rootpw ***)
line 31 (dbname PostgreSQL)
==>backsql_db_config()
<==backsql_db_config(): dbname=PostgreSQL
line 32 (dbuser mail)
==>backsql_db_config()
<==backsql_db_config(): dbuser=test
line 33 (dbpasswd ***)
==>backsql_db_config()
<==backsql_db_config(): dbpasswd=xxxx
line 34 (at_query "SELECT
name,sel_expr,from_tbls,join_where,add_proc,delete_proc,param_order,expe
ct_return FROM ldap.ldap_attr_mappings WHERE oc_map_id=?")
==>backsql_db_config()
<==backsql_db_config(): at_query=SELECT
name,sel_expr,from_tbls,join_where,add_proc,delete_proc,param_order,expe
ct_return FROM ldap.ldap_attr_mappings WHERE oc_map_id=?
line 35 (insentry_query "INSERT INTO ldap_entries
(id,dn,oc_map_id,parent,keyval) VALUES ((SELECT MAX(id)+1 FROM
ldap_entries),?,?,?,?)")
==>backsql_db_config()
<==backsql_db_config(): insentry_query=INSERT INTO ldap_entries
(id,dn,oc_map_id,parent,keyval) VALUES ((SELECT MAX(id)+1 FROM
ldap_entries),?,?,?,?)
line 36 (upper_func "UPPER")
==>backsql_db_config()
<==backsql_db_config(): upper_func=UPPER
line 37 (strcast_func "TEXT")
==>backsql_db_config()
<==backsql_db_config(): strcast_func=TEXT
line 38 (concat_pattern "?||?")
==>backsql_db_config()
<==backsql_db_config(): concat_pattern="?||?"
line 39 (has_ldapinfo_dn_ru no)
==>backsql_db_config()
<==backsql_db_config(): has_ldapinfo_dn_ru=no
line 40 (fail_if_no_mapping yes)
==>backsql_db_config()
<==backsql_db_config(): fail_if_no_mapping=yes
line 42 (lastmod off)
matching_rule_use_init
1.2.840.113556.1.4.804 (integerBitOrMatch): matchingRuleUse: (
1.2.840.113556.1.4.804 NAME 'integerBitOrMatch' APPLIES ( oncRpcNumber
$ ipProtocolNumber $ ipServicePort $ shadowFlag $ shadowExpire $
shadowInactive $ shadowWarning $ shadowMax $ shadowMin $
shadowLastChange $ gidNumber $ uidNumber $ mailPreferenceOption $
supportedLDAPVersion ) )
1.2.840.113556.1.4.803 (integerBitAndMatch): matchingRuleUse: (
1.2.840.113556.1.4.803 NAME 'integerBitAndMatch' APPLIES ( oncRpcNumber
$ ipProtocolNumber $ ipServicePort $ shadowFlag $ shadowExpire $
shadowInactive $ shadowWarning $ shadowMax $ shadowMin $
shadowLastChange $ gidNumber $ uidNumber $ mailPreferenceOption $
supportedLDAPVersion ) )
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 (
nisMapEntry $ bootFile $ macAddress $ ipNetmaskNumber $ ipNetworkNumber
$ ipHostNumber $ memberNisNetgroup $ memberUid $ loginShell $
homeDirectory $ gecos $ janetMailbox $ cNAMERecord $ sOARecord $
nSRecord $ mXRecord $ mDRecord $ aRecord $ email $ associatedDomain $
dc $ mail $ altServer ) )
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 (
nisMapEntry $ bootFile $ macAddress $ ipNetmaskNumber $ ipNetworkNumber
$ ipHostNumber $ memberNisNetgroup $ memberUid $ loginShell $
homeDirectory $ gecos $ janetMailbox $ cNAMERecord $ sOARecord $
nSRecord $ mXRecord $ mDRecord $ aRecord $ email $ associatedDomain $
dc $ mail $ altServer ) )
2.5.13.35 (certificateMatch): matchingRuleUse: ( 2.5.13.35 NAME
'certificateMatch' APPLIES ( cACertificate $ userCertificate ) )
2.5.13.34 (certificateExactMatch): matchingRuleUse: ( 2.5.13.34
NAME 'certificateExactMatch' APPLIES ( cACertificate $ userCertificate
) )
2.5.13.30 (objectIdentifierFirstComponentMatch): matchingRuleUse: (
2.5.13.30 NAME 'objectIdentifierFirstComponentMatch' APPLIES (
supportedApplicationContext $ ldapSyntaxes $ matchingRuleUse $
objectClasses $ attributeTypes $ matchingRules $ supportedFeatures $
supportedExtension $ supportedControl ) )
2.5.13.29 (integerFirstComponentMatch): matchingRuleUse: (
2.5.13.29 NAME 'integerFirstComponentMatch' APPLIES ( oncRpcNumber $
ipProtocolNumber $ ipServicePort $ shadowFlag $ shadowExpire $
shadowInactive $ shadowWarning $ shadowMax $ shadowMin $
shadowLastChange $ gidNumber $ uidNumber $ mailPreferenceOption $
supportedLDAPVersion ) )
2.5.13.27 (generalizedTimeMatch): matchingRuleUse: ( 2.5.13.27 NAME
'generalizedTimeMatch' APPLIES ( modifyTimestamp $ createTimestamp ) )
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 ( pager $ mobile $ homePhone $
telephoneNumber ) )
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 ( oncRpcNumber $ ipProtocolNumber $
ipServicePort $ shadowFlag $ shadowExpire $ shadowInactive $
shadowWarning $ shadowMax $ shadowMin $ shadowLastChange $ gidNumber $
uidNumber $ mailPreferenceOption $ supportedLDAPVersion ) )
2.5.13.13 (booleanMatch): matchingRuleUse: ( 2.5.13.13 NAME
'booleanMatch' APPLIES hasSubordinates )
2.5.13.11 (caseIgnoreListMatch): matchingRuleUse: ( 2.5.13.11 NAME
'caseIgnoreListMatch' APPLIES ( homePostalAddress $ registeredAddress $
postalAddress ) )
2.5.13.8 (numericStringMatch): matchingRuleUse: ( 2.5.13.8 NAME
'numericStringMatch' APPLIES ( internationaliSDNNumber $ x121Address )
)
2.5.13.7 (caseExactSubstringsMatch): matchingRuleUse: ( 2.5.13.7
NAME 'caseExactSubstringsMatch' APPLIES ( dnQualifier $
destinationIndicator $ serialNumber ) )
2.5.13.6 (caseExactOrderingMatch): matchingRuleUse: ( 2.5.13.6 NAME
'caseExactOrderingMatch' APPLIES ( dnQualifier $ destinationIndicator $
serialNumber ) )
2.5.13.5 (caseExactMatch): matchingRuleUse: ( 2.5.13.5 NAME
'caseExactMatch' APPLIES ( preferredLanguage $ employeeType $
employeeNumber $ displayName $ departmentNumber $ carLicense $
nisMapName $ ipServiceProtocol $ documentPublisher $ buildingName $
organizationalStatus $ uniqueIdentifier $ co $ personalTitle $
documentLocation $ documentVersion $ documentTitle $ documentIdentifier
$ host $ userClass $ roomNumber $ drink $ info $ textEncodedORAddress $
uid $ dmdName $ houseIdentifier $ dnQualifier $ generationQualifier $
initials $ givenName $ destinationIndicator $
physicalDeliveryOfficeName $ postOfficeBox $ postalCode $
businessCategory $ description $ title $ ou $ o $ street $ st $ l $ c $
serialNumber $ sn $ knowledgeInformation $ labeledURI $ cn $ name $ ref
$ vendorVersion $ vendorName $ supportedSASLMechanisms ) )
2.5.13.3 (caseIgnoreOrderingMatch): matchingRuleUse: ( 2.5.13.3
NAME 'caseIgnoreOrderingMatch' APPLIES ( dnQualifier $
destinationIndicator $ serialNumber ) )
2.5.13.2 (caseIgnoreMatch): matchingRuleUse: ( 2.5.13.2 NAME
'caseIgnoreMatch' APPLIES ( preferredLanguage $ employeeType $
employeeNumber $ displayName $ departmentNumber $ carLicense $
nisMapName $ ipServiceProtocol $ documentPublisher $ buildingName $
organizationalStatus $ uniqueIdentifier $ co $ personalTitle $
documentLocation $ documentVersion $ documentTitle $ documentIdentifier
$ host $ userClass $ roomNumber $ drink $ info $ textEncodedORAddress $
uid $ dmdName $ houseIdentifier $ dnQualifier $ generationQualifier $
initials $ givenName $ destinationIndicator $
physicalDeliveryOfficeName $ postOfficeBox $ postalCode $
businessCategory $ description $ title $ ou $ o $ street $ st $ l $ c $
serialNumber $ sn $ knowledgeInformation $ labeledURI $ cn $ name $ ref
$ vendorVersion $ vendorName $ supportedSASLMechanisms ) )
2.5.13.1 (distinguishedNameMatch): matchingRuleUse: ( 2.5.13.1 NAME
'distinguishedNameMatch' APPLIES ( dITRedirect $ associatedName $
secretary $ documentAuthor $ manager $ seeAlso $ roleOccupant $ owner $
member $ distinguishedName $ aliasedObjectName $ namingContexts $
subschemaSubentry $ modifiersName $ creatorsName ) )
2.5.13.0 (objectIdentifierMatch): matchingRuleUse: ( 2.5.13.0 NAME
'objectIdentifierMatch' APPLIES ( supportedApplicationContext $
supportedFeatures $ supportedExtension $ supportedControl ) )
slapd startup: initiated.
==>backsql_db_open(): testing RDBMS connection
backsql_db_open(): subtree search SQL condition not specified (use
"subtree_cond" directive in slapd.conf)
backsql_db_open(): setting 'UPPER(ldap_entries.dn) LIKE UPPER('%'||?)'
as default
backsql_db_open(): setting 'UPPER(ldap_entries.dn)=UPPER(?)' as default
backsql_db_open(): objectclass mapping SQL statement not specified (use
"oc_query" directive in slapd.conf)
backsql_db_open(): setting 'SELECT
id,name,keytbl,keycol,create_proc,delete_proc,expect_return FROM
ldap_oc_mappings' by default
backsql_db_open(): entry deletion SQL statement not specified (use
"delentry_query" directive in slapd.conf)
backsql_db_open(): setting 'DELETE FROM ldap_entries WHERE id=?' by
default
==>backsql_get_db_conn()
==>backsql_open_db_conn()
backsql_open_db_conn(): connected, adding to tree
<==backsql_open_db_conn()
backsql_get_db_conn(): first call -- reading schema map
==>load_schema_map()
load_schema_map(): at_query 'SELECT
name,sel_expr,from_tbls,join_where,add_proc,delete_proc,param_order,expe
ct_return FROM ldap.ldap_attr_mappings WHERE oc_map_id=?'
load_schema_map(): objectClass 'inetOrgPerson':
keytbl='public.accountuser' keycol='id'
create_proc='SELECT delete_accountuser()'
delete_proc='SELECT delete_person(?)'
expect_return: add=0, del=0; attributes:
load_schema_map(): autoadding 'objectClass' and 'ref' mappings
********'sn'
name='sn',sel_expr='accountuser.lastname'
from='accountuser'join_where='',add_proc='UPDATE accountuser SET
lastname=? WHERE id=?'delete_proc=''
sel_expr_u='(null)'
load_schema_map(): preconstructed query 'SELECT accountuser.lastname AS
sn FROM accountuser WHERE public.accountuser.id=?'
********'givenName'
name='givenName',sel_expr='accountuser.firstname'
from='accountuser'join_where='',add_proc='UPDATE accountuser SET
firstname=? WHERE id=?'delete_proc=''
sel_expr_u='(null)'
load_schema_map(): preconstructed query 'SELECT accountuser.firstname
AS givenName FROM accountuser WHERE public.accountuser.id=?'
********'cn'
name='cn',sel_expr='public.accountuser.username'
from='accountuser'join_where='',add_proc='SELECT
update_accountuser_cn(?,?)'delete_proc=''
sel_expr_u='(null)'
load_schema_map(): preconstructed query 'SELECT
public.accountuser.username AS cn FROM accountuser WHERE
public.accountuser.id=?'
********'userPassword'
name='userPassword',sel_expr='public.accountuser.password'
from='public.accountuser'join_where='',add_proc='UPDATE accountuser SET
password=? WHERE id=?'delete_proc=''
sel_expr_u='(null)'
load_schema_map(): preconstructed query 'SELECT
public.accountuser.password AS userPassword FROM public.accountuser
WHERE public.accountuser.id=?'
load_schema_map(): objectClass 'dcObject': keytbl='ldap.dc_object'
keycol='id'
create_proc='SELECT create_dc_object()'
delete_proc='SELECT delete_dc_object(?)'
expect_return: add=0, del=0; attributes:
load_schema_map(): autoadding 'objectClass' and 'ref' mappings
********'dc'
name='dc',sel_expr='dc_object.dc'
from='dc_object'join_where='',add_proc='UPDATE dc_object SET dc=? WHERE
id=?'delete_proc=''
sel_expr_u='(null)'
load_schema_map(): preconstructed query 'SELECT dc_object.dc AS dc FROM
dc_object WHERE ldap.dc_object.id=?'
load_schema_map(): objectClass 'organizationalUnit':
keytbl='ldap.organizational_unit' keycol='id'
create_proc='SELECT ldap.organizational_unit_create()'
delete_proc='SELECT ldap.organizational_unit_delete(?)'
expect_return: add=0, del=0; attributes:
load_schema_map(): autoadding 'objectClass' and 'ref' mappings
********'ou'
name='ou',sel_expr='organizational_unit.ou'
from='organizational_unit'join_where='',add_proc='UPDATE
ldap.organizational_unit SET ou=? where id=?'delete_proc=''
sel_expr_u='(null)'
load_schema_map(): preconstructed query 'SELECT organizational_unit.ou
AS ou FROM organizational_unit WHERE ldap.organizational_unit.id=?'
<==load_schema_map()
<==backsql_get_db_conn()
==>backsql_free_db_conn()
backsql_free_db_conn(): closing db connection
==>backsql_close_db_conn()
<==backsql_close_db_conn()
<==backsql_free_db_conn()
<==backsql_db_open(): test succeeded, schema map loaded
slapd starting
daemon: added 8r
daemon: select: listen=8 active_threads=0 tvp=NULL
daemon: activity on 1 descriptors
daemon: new connection on 11
daemon: added 11r
daemon: activity on:
daemon: select: listen=8 active_threads=0 tvp=NULL
daemon: activity on 1 descriptors
daemon: activity on: 11r
daemon: read activity on 11
connection_get(11)
connection_get(11): got connid=0
connection_read(11): checking for input on id=0
ber_get_next
ldap_read: want=8, got=8
0000: 30 28 02 01 01 60 23 02 0(...`#.
ldap_read: want=34, got=34
0000: 01 03 04 1b 63 6e 3d 72 6f 6f 74 2c 64 63 3d 6e
....cn=root,dc=e
0010: 65 78 61 64 65 73 69 63 2c 64 63 3d 63 6f 6d 80
xample,dc=com.
0020: 01 2a .*
ber_get_next: tag 0x30 len 40 contents:
ber_dump: buf=0x081c0c40 ptr=0x081c0c40 end=0x081c0c68 len=40
0000: 02 01 01 60 23 02 01 03 04 1b 63 6e 3d 72 6f 6f
...`#.....cn=roo
0010: 74 2c 64 63 3d 6e 65 78 61 64 65 73 69 63 2c 64
t,dc=example,d
0020: 63 3d 63 6f 6d 80 01 2a c=com..*
ber_get_next
ldap_read: want=8 error=Resource temporarily unavailable
ber_get_next on fd 11 failed errno=35 (Resource temporarily unavailable)
do_bind
ber_scanf fmt ({imt) ber:
ber_dump: buf=0x081c0c40 ptr=0x081c0c43 end=0x081c0c68 len=37
0000: 60 23 02 01 03 04 1b 63 6e 3d 72 6f 6f 74 2c 64
`#.....cn=root,d
0010: 63 3d 6e 65 78 61 64 65 73 69 63 2c 64 63 3d 63
c=example,dc=c
0020: 6f 6d 80 01 2a om..*
ber_scanf fmt (m}) ber:
ber_dump: buf=0x081c0c40 ptr=0x081c0c65 end=0x081c0c68 len=3
0000: 00 01 2a ..*
>>> dnPrettyNormal: <cn=root,dc=example,dc=com>
=> ldap_bv2dn(cn=root,dc=example,dc=com,0)
<= ldap_bv2dn(cn=root,dc=example,dc=com,0)=0
=> ldap_dn2bv(272)
<= ldap_dn2bv(cn=root,dc=example,dc=com,272)=0
=> ldap_dn2bv(272)
<= ldap_dn2bv(cn=root,dc=example,dc=com,272)=0
<<< dnPrettyNormal: <cn=root,dc=example,dc=com>,
<cn=root,dc=example,dc=com>
do_bind: version=3 dn="cn=root,dc=example,dc=com" method=128
==>backsql_bind()
==>backsql_get_db_conn()
==>backsql_open_db_conn()
daemon: select: listen=8 active_threads=0 tvp=NULL
backsql_open_db_conn(): connected, adding to tree
<==backsql_open_db_conn()
<==backsql_get_db_conn()
==>backsql_dn2id(): dn='cn=root,dc=example,dc=com'
id_query 'SELECT id,keyval,oc_map_id FROM ldap_entries WHERE
UPPER(dn)=UPPER(?)'
<==backsql_dn2id(): id=7
==>backsql_attrlist_add(): adding 'userPassword' to list
==>backsql_id2entry()
>>> dnPrettyNormal: <cn=root,dc=example,dc=com>
=> ldap_bv2dn(cn=root,dc=example,dc=com,0)
<= ldap_bv2dn(cn=root,dc=example,dc=com,0)=0
=> ldap_dn2bv(272)
<= ldap_dn2bv(cn=root,dc=example,dc=com,272)=0
=> ldap_dn2bv(272)
<= ldap_dn2bv(cn=root,dc=example,dc=com,272)=0
<<< dnPrettyNormal: <cn=root,dc=example,dc=com>,
<cn=root,dc=example,dc=com>
backsql_id2entry(): custom attribute list
==>backsql_get_attr_vals(): oc='inetOrgPerson' attr='userPassword'
keyval=5
<==backsql_get_attr_vals()
<==backsql_id2entry()
=> access_allowed: auth access to "cn=root,dc=example,dc=com"
"userPassword" requested
=> acl_get: [1] check attr userPassword
<= acl_get: [1] acl cn=root,dc=example,dc=com attr: userPassword
=> acl_mask: access to entry "cn=root,dc=example,dc=com", attr
"userPassword" requested
=> acl_mask: to all values by "", (=n)
<= check a_dn_pat: self
<= check a_dn_pat: *
<= acl_mask: [2] applying read(=rscx) (stop)
<= acl_mask: [2] mask: read(=rscx)
=> access_allowed: auth access granted by read(=rscx)
<==backsql_bind()
do_bind: v3 bind: "cn=root,dc=example,dc=com" to
"cn=root,dc=example,dc=com"
send_ldap_result: conn=0 op=0 p=3
send_ldap_result: err=0 matched="" text=""
send_ldap_response: msgid=1 tag=97 err=0
ber_flush: 14 bytes to sd 11
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........
daemon: activity on 1 descriptors
daemon: activity on: 11r
daemon: read activity on 11
connection_get(11)
connection_get(11): got connid=0
connection_read(11): checking for input on id=0
ber_get_next
ldap_read: want=8, got=8
0000: 30 25 02 01 02 68 20 04 0%...h .
ldap_read: want=31, got=31
0000: 0e 64 63 3d 6e 78 61 64 2c 64 63 3d 63 6f 6d 30
.dc=xmpl,dc=com0
0010: 0e 30 0c 04 02 64 63 31 06 04 04 6e 78 61 64
.0...dc1...xmpl
ber_get_next: tag 0x30 len 37 contents:
ber_dump: buf=0x081c0380 ptr=0x081c0380 end=0x081c03a5 len=37
0000: 02 01 02 68 20 04 0e 64 63 3d 6e 78 61 64 2c 64 ...h
..dc=xmpl,d
0010: 63 3d 63 6f 6d 30 0e 30 0c 04 02 64 63 31 06 04
c=com0.0...dc1..
0020: 04 6e 78 61 64 .xmpl
ber_get_next
ldap_read: want=8 error=Resource temporarily unavailable
ber_get_next on fd 11 failed errno=35 (Resource temporarily unavailable)
do_add
ber_scanf fmt ({m) ber:
ber_dump: buf=0x081c0380 ptr=0x081c0383 end=0x081c03a5 len=34
0000: 68 20 04 0e 64 63 3d 6e 78 61 64 2c 64 63 3d 63 h
..dc=xmpl,dc=c
0010: 6f 6d 30 0e 30 0c 04 02 64 63 31 06 04 04 6e 78
om0.0...dc1...xm
0020: 61 64 pl
>>> dnPrettyNormal: <dc=xmpl,dc=com>
=> ldap_bv2dn(dc=xmpl,dc=com,0)
<= ldap_bv2dn(dc=xmpl,dc=com,0)=0
=> ldap_dn2bv(272)
<= ldap_dn2bv(dc=xmpl,dc=com,272)=0
=> ldap_dn2bv(272)
<= ldap_dn2bv(dc=xmpl,dc=com,272)=0
<<< dnPrettyNormal: <dc=xmpl,dc=com>, <dc=xmpl,dc=com>
do_add: dn (dc=xmpl,dc=com)
ber_scanf fmt ({m{W}}) ber:
ber_dump: buf=0x081c0380 ptr=0x081c0397 end=0x081c03a5 len=14
0000: 30 0c 04 02 64 63 31 06 04 04 6e 78 61 64
0...dc1...xmpl
ber_scanf fmt (}) ber:
ber_dump: buf=0x081c0380 ptr=0x081c03a5 end=0x081c03a5 len=0
send_ldap_result: conn=0 op=1 p=3
send_ldap_result: err=53 matched="" text="referral missing"
send_ldap_response: msgid=2 tag=105 err=53
ber_flush: 30 bytes to sd 11
0000: 30 1c 02 01 02 69 17 0a 01 35 04 00 04 10 72 65
0....i...5....re
0010: 66 65 72 72 61 6c 20 6d 69 73 73 69 6e 67 ferral
missing
ldap_write: want=30, written=30
0000: 30 1c 02 01 02 69 17 0a 01 35 04 00 04 10 72 65
0....i...5....re
0010: 66 65 72 72 61 6c 20 6d 69 73 73 69 6e 67 ferral
missing
daemon: select: listen=8 active_threads=0 tvp=NULL
daemon: activity on 1 descriptors
daemon: activity on: 11r
daemon: read activity on 11
connection_get(11)
connection_get(11): got connid=0
connection_read(11): checking for input on id=0
ber_get_next
ldap_read: want=8, got=7
0000: 30 05 02 01 03 42 00 0....B.
ber_get_next: tag 0x30 len 5 contents:
ber_dump: buf=0x081c73f0 ptr=0x081c73f0 end=0x081c73f5 len=5
0000: 02 01 03 42 00 ...B.
ber_get_next
ldap_read: want=8 error=Resource temporarily unavailable
ber_get_next on fd 11 failed errno=35 (Resource temporarily unavailable)
do_unbind
connection_closing: readying conn=0 sd=11 for close
connection_resched: attempting closing conn=0 sd=11
connection_close: conn=0 sd=11
==>backsql_connection_destroy()
==>backsql_free_db_conn()
backsql_free_db_conn(): closing db connection
==>backsql_close_db_conn()
daemon: select: listen=8 active_threads=0 tvp=NULL
daemon: activity on 1 descriptors
daemon: select: listen=8 active_threads=0 tvp=NULL
<==backsql_close_db_conn()
<==backsql_free_db_conn()
<==backsql_connection_destroy()
daemon: removing 11
daemon: shutdown requested and initiated.
daemon: closing 8
slapd shutdown: waiting for 0 threads to terminate
slapd shutdown: initiated
==>backsql_db_close()
<==backsql_db_close()
slapd shutdown: freeing system resources.
==>backsql_db_destroy()
==>backsql_free_db_env()
<==backsql_free_db_env()
==>destroy_schema_map()
==>free_oc(): 'inetOrgPerson'
==>free_attr(): 'objectClass'
<==free_attr()
==>free_attr(): 'ref'
<==free_attr()
==>free_attr(): 'userPassword'
<==free_attr()
==>free_attr(): 'givenName'
<==free_attr()
==>free_attr(): 'sn'
<==free_attr()
==>free_attr(): 'cn'
<==free_attr()
<==free_oc()
==>free_oc(): 'organizationalUnit'
==>free_attr(): 'objectClass'
<==free_attr()
==>free_attr(): 'ou'
<==free_attr()
==>free_attr(): 'ref'
<==free_attr()
<==free_oc()
==>free_oc(): 'dcObject'
==>free_attr(): 'objectClass'
<==free_attr()
==>free_attr(): 'dc'
<==free_attr()
==>free_attr(): 'ref'
<==free_attr()
<==free_oc()
<==destroy_schema_map()
<==backsql_db_destroy()
slapd stopped.
--
Sean Chittenden