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

problem adding a photo or audio attribute taken from a OpenLDAP V1 ldif file.



Hi,
I'm trying to upgrade my OpenLDAP system from V1.2.11 to V2.0.4 and I can't add either a photo or audio attribute taken from a V1 ldif file. Below are debug sessions from the client end, server end and then the slapd.conf. This is on a Solaris 2.6 system. The basic error is:


modifying entry "cn=dbt1, o=Cornell University, c=US"
ldap_modify: Can't contact LDAP server

ldif_record() = 81

I've been able to add attributes without a problem, here is output to verify that, you'll note "<removed>" where the data was of a sensitive nature:

/users/jwh2 98 %/opt/ldap-2.0.4/bin/ldapsearch -h solaris.cit.cornell.edu -b "o=Cornell
University, c=US" "(uid=dbt1)"
version: 2


#
# filter: (uid=dbt1)
# requesting: ALL
#

# dbt1, Cornell University, US
dn: cn=dbt1, o=Cornell University, c=US
objectClass: top
objectClass: inetorgperson
objectClass: person
objectClass: rfc822Delivery
cn: D B Taber
cn: D
mail: dbt1@cornell.edu
mail: dbt1@postoffice2.mail.cornell.edu
sn: TABER
uid: dbt1
title: Prog/ Analyst Spec
homePhone: <removed>
homePostalAddress: <removed>
employeeNumber: <removed>

# search result
search: 2
result: 0 Success

# numResponses: 2
# numEntries: 1


Client modify session:

/opt/ldap-2.0.4/bin/ldapmodify -d 1 -x -D "cn=Manager, o=Cornell University, c=US" -W -f dbt1_mod
ldap_create
Enter LDAP Password:
ldap_bind_s
ldap_simple_bind_s
ldap_sasl_bind_s
ldap_sasl_bind
ldap_send_initial_request
ldap_new_connection
ldap_int_open_connection
ldap_connect_to_host
ldap_pvt_gethostbyname_a: host=localhost, r=0
ldap_new_socket: 5
ldap_prepare_socket: 5
ldap_connect_to_host: Trying 127.0.0.1:389
ldap_connect_timeout: fd: 5 tm: -1 async: 0
ldap_ndelay_on: 5
ldap_ndelay_off: 5
ldap_delayed_open successful, ld_host is (null)
ldap_send_server_request
ber_flush: 57 bytes to sd 5
ldap_result
wait4msg (infinite timeout)
** Connections:
* host: localhost port: 389 (default)
refcnt: 2 status: Connected
last used: Mon Oct 9 13:25:09 2000


** Outstanding Requests:
 * msgid 1,  origid 1, status InProgress
   outstanding referrals 0, parent count 0
** Response Queue:
   Empty
do_ldap_select
read1msg
ber_get_next
ber_get_next: tag 0x30 len 12 contents:
ldap_read: message type bind msgid 1, original id 1
ber_scanf fmt ({iaa) ber:
read1msg:  0 new referrals
read1msg:  mark request completed, id = 1
request 1 done
res_errno: 0, res_error: <>, res_matched: <>
ldap_free_request (origid 1, msgid 1)
ldap_free_connection
ldap_free_connection: refcnt 1
ldap_parse_result
ber_scanf fmt ({iaa) ber:
ber_scanf fmt (}) ber:
ldap_msgfree
modifying entry "cn=dbt1, o=Cornell University, c=US"
ldap_modify_ext
ldap_send_initial_request
ldap_send_server_request
ber_flush: 359369 bytes to sd 5
ldap_free_request (origid 2, msgid 2)
ldap_free_connection
ldap_free_connection: refcnt 1
ldap_perror
ldap_modify: Can't contact LDAP server

ldif_record() = 81
ldap_unbind
ldap_free_connection
ldap_send_unbind
ber_flush: 7 bytes to sd 5
ldap_free_connection: actually freed
/users/jwh2 97 %

Server modify Session:

@(#) $OpenLDAP: slapd 2.0.4-Release (Fri Sep 29 07:17:33 EDT 2000) $
jwh2@solaris:/usr/local/src/ldap/openldap-2.0.4/servers/slapd
daemon_init: listen on ldap:///
daemon_init: 1 listeners to open...
ldap_url_parse(ldap:///)
daemon: initialized ldap:///
daemon_init: 1 listeners opened
slapd init: initiated server.
slapd startup: initiated.
slapd starting
connection_get(8): got connid=0
connection_read(8): checking for input on id=0
ber_get_next
sockbuf_read: want=1, got=1
0
sockbuf_read: want=1, got=1
7
sockbuf_read: want=55, got=55
02 01 01 ` 2 02 01 03 04 & c n = M a n
a g e r , 20 o = C o r n e l l 20
U n i v e r s i t y , 20 c = U S
80 05 <removed>
ber_get_next: tag 0x30 len 55 contents:
ber_get_next
do_bind
sockbuf_read: want=1 error=Resource temporarily unavailable
ber_get_next on fd 8 failed errno=11 (Resource temporarily unavailable)
ber_scanf fmt ({iat) ber:
ber_scanf fmt (o}) ber:
do_bind: version=3 dn="cn=Manager, o=Cornell University, c=US" method=128
dn2entry_r: dn: "CN=MANAGER,O=CORNELL UNIVERSITY,C=US"
=> dn2id( "CN=MANAGER,O=CORNELL UNIVERSITY,C=US" )
=> ldbm_cache_open( "/ldap_db/prod_db/dn2id.dbb", 7, 600 )
<= ldbm_cache_open (opened 0)
<= dn2id 2
=> id2entry_r( 2 )
=> ldbm_cache_open( "/ldap_db/prod_db/id2entry.dbb", 7, 600 )
<= ldbm_cache_open (opened 1)
=> str2entry
<= str2entry(cn=Manager, o=Cornell University, c=US) -> -1 (0x1171f0)
<= id2entry_r( 2 ) 0x1171f0 (disk)
====> cache_return_entry_r( 2 ): created (0)
do_bind: v3 bind: "cn=Manager, o=Cornell University, c=US" to "cn=Manager, o=Cornell University, c=US"
send_ldap_result: conn=0 op=0 p=3
send_ldap_response: msgid=1 tag=97 err=0
ber_flush: 14 bytes to sd 8
0 0c 02 01 01 a 07 0a 01 00 04 00 04 00
sockbuf_write: want=14, written=14
0 0c 02 01 01 a 07 0a 01 00 04 00 04 00
connection_get(8): got connid=0
connection_read(8): checking for input on id=0
ber_get_next
sockbuf_read: want=1, got=0
(end)
ber_get_next on fd 8 failed errno=0 (Error 0)
connection_read(8): input error=-2 id=0, closing.
connection_closing: readying conn=0 sd=8 for close
connection_close: conn=0 sd=8
connection_get(8): got connid=1
connection_read(8): checking for input on id=1
ber_get_next
sockbuf_read: want=1, got=1
0
sockbuf_read: want=1, got=1
7
sockbuf_read: want=55, got=55
02 01 01 ` 2 02 01 03 04 & c n = M a n
a g e r , 20 o = C o r n e l l 20
U n i v e r s i t y , 20 c = U S
80 05 <removed>
ber_get_next: tag 0x30 len 55 contents:
ber_get_next
do_bind
sockbuf_read: want=1 error=Resource temporarily unavailable
ber_get_next on fd 8 failed errno=11 (Resource temporarily unavailable)
ber_scanf fmt ({iat) ber:
ber_scanf fmt (o}) ber:
do_bind: version=3 dn="cn=Manager, o=Cornell University, c=US" method=128
dn2entry_r: dn: "CN=MANAGER,O=CORNELL UNIVERSITY,C=US"
=> dn2id( "CN=MANAGER,O=CORNELL UNIVERSITY,C=US" )
====> cache_find_entry_dn2id("CN=MANAGER,O=CORNELL UNIVERSITY,C=US"): 2 (1 tries)
<= dn2id 2 (in cache)
=> id2entry_r( 2 )
====> cache_find_entry_id( 2 ) "cn=Manager, o=Cornell University, c=US" (found) (1 tries)
<= id2entry_r( 2 ) 0x1171f0 (cache)
====> cache_return_entry_r( 2 ): returned (0)
do_bind: v3 bind: "cn=Manager, o=Cornell University, c=US" to "cn=Manager, o=Cornell University, c=US"
send_ldap_result: conn=1 op=0 p=3
send_ldap_response: msgid=1 tag=97 err=0
ber_flush: 14 bytes to sd 8
0 0c 02 01 01 a 07 0a 01 00 04 00 04 00
sockbuf_write: want=14, written=14
0 0c 02 01 01 a 07 0a 01 00 04 00 04 00
connection_get(8): got connid=1
connection_read(8): checking for input on id=1
ber_get_next
sockbuf_read: want=1, got=1
0
sockbuf_read: want=1, got=1
83
sockbuf_read: want=3, got=3
05 { c4
ber_get_next on fd 8 failed errno=34 (Result too large)
connection_read(8): input error=-2 id=1, closing.
connection_closing: readying conn=1 sd=8 for close
connection_close: conn=1 sd=8
^Cslap_sig_shutdown: signal 2
daemon: shutdown requested and initiated.
slapd shutdown: waiting for 0 threads to terminate
slapd shutdown: initiated
ldbm backend syncing
ldbm flushing db (/ldap_db/prod_db/dn2id.dbb)
ldbm closing db (/ldap_db/prod_db/dn2id.dbb)
ldbm flushing db (/ldap_db/prod_db/id2entry.dbb)
ldbm closing db (/ldap_db/prod_db/id2entry.dbb)
ldbm backend done syncing
====> cache_release_all
slapd shutdown: freeing system resources.
slapd stopped.



Slapd.conf file will fix up ACLs when I go production:

# $OpenLDAP: pkg/ldap/servers/slapd/slapd.conf,v 1.8.8.4 2000/08/26 17:06:18 kurt Exp $
#
# See slapd.conf(5) for details on configuration options.
# This file should NOT be world readable.
#
include /opt/ldap-2.0.4/etc/openldap/schema/core.schema
include /opt/ldap-2.0.4/etc/openldap/schema/cosine.schema
include /opt/ldap-2.0.4/etc/openldap/schema/inetorgperson.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         /opt/ldap/var/slapd.pid
argsfile        /opt/ldap/var/slapd.args
srvtab          /etc/srvtab

# Load dynamic backend modules:
# modulepath    /opt/ldap/libexec/openldap
# moduleload    back_ldap.la
# moduleload    back_ldbm.la
# moduleload    back_passwd.la
# moduleload    back_shell.la

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

database        ldbm
suffix          "o=Cornell University, c=US"
#suffix         "o=My Organization Name, c=US"
# rootdn                "cn=Manager, dc=my-domain, dc=com"
rootdn          "cn=Manager, o=Cornell University, c=US"
# Cleartext passwords, especially for the rootdn, should
# be avoid.  See slappasswd(8) and slapd.conf(5) for details.
# Use of strong authentication encouraged.
rootpw          <removed>
# The database directory MUST exist prior to running slapd AND
# should only be accessable by the slapd/tools. Mode 700 recommended.
# directory     /opt/ldap/var/openldap-ldbm
directory       /ldap_db/prod_db
# Indices to maintain
index   objectClass     eq
index   cn,uid          eq,pres,sub

# hold access to * by * read


Thanks for any ideas.. Jim