[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