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

Postgres and Attributes



Hi!

Attachments:
www.kobaz.net/misc/slapd.zip
www.kobaz.net/misc/ldap.sql
www.kobaz.net/misc/attributes.png

Disclaimer: Let me first start out saying that this isn't my first run around the block.  I understand that this is experimental and I accept the risks and issues that might come with back-sql.

I started with the backend examples located in: servers/slapd/back-sql/rdbms_depend/pgsql ... and then started adding support for things like organizationUnit that are not included in the test db

Attached is my ldap postgres database.
Attached is my ldap /etc/ldap/slapd

I'm aware that passwords/etc are in there, but it's not a big deal. It's just testing stuff on an internal system.

The issue I'm having:
- Attributes are not coming back when requesting ldap information or doing ldap search (Screenshot)

Also noted is that the sample inetOrgPerson entries do not show any attributes like surname, despite them being stored in the postgres database in what looks like the correct format (exactly the same as the test db import)


-- The organizationUnit has been added like this:

1-users-ou.ldif
-----
dn: ou=users,dc=directory, dc=pbx, dc=local
ou: users
description: holds users of the directory
objectClass: organizationalUnit
-----
ldapadd -x -D "cn=admin,dc=directory, dc=pbx, dc=local" -w 'asdf' -v -f 1-users-ou.ldif


Despite having specified 'description', this has not been added to the database as shown in the export.  The organizational_unit table looks like this:
  id | ou | description
----+----+-------------
   1 |    |

Looking at the postgres query logs, slapd has made no attempt whatsoever to set the description field, despite this field being mapped in the attributes as shown in the export. Also here for quick reference:
Table: ldap_attr_mappings
-[ RECORD 16 ]+
id            | 20
oc_map_id     | 5
name          | description
sel_expr      | organizational_unit.description
sel_expr_u    |
from_tbls     | organizational_unit
join_where    |
add_proc      | UPDATE organizational_unit SET description=? WHERE id=?
delete_proc   | SELECT 1 FROM organizational_unit WHERE ou = ? AND ID=?
param_order   | 3
expect_return | 0


Can someone shed some light on what's wrong here?