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

(ITS#8939) back-sql broken, backsql_oc_get_attr_mapping() fails



Full_Name: Joel Linn
Version: 2.4.45 as well as git
OS: Ubuntu (docker image)
URL: ftp://ftp.openldap.org/incoming/
Submission from: (NULL) (37.120.2.83)


Hi,

I wanted to use back-sql and tried against our Firebird database, as that didn't
work i spun up a Postgres container with the data from the sources.
For both cases it seems the backend is broken as it reports empty fields when
loading the attribute mappings, although they are definetly not empty:

5bfaced6 backsql_oc_get_attr_mapping(): executing at_query
    "SELECT sel_expr_u,sel_expr,from_tbls,join_where,add_proc,delete_proc,param_order,expect_return,name
FROM ldap_attr_mappings WHERE oc_map_id=?"
    for objectClass "document"
    with param oc_id=2
5bfaced6 backsql_oc_get_attr_mapping(): required column #0 "name" is empty

I played with the sources (moved the snprintf/DEBUG code before the field
checking section that generates the error, around line 370 in schema-map.c) and
found out that the first 3 columns are always null, you can confirm that by
defining the at_query in slapd.conf and swapping the field names around.

My guess is the binding in backsql_BindRowAsStrings is faulty.
As I said i tried two different ODBC drivers.

full log https://pastebin.com/4B2wjCLp
configuration https://pastebin.com/JMwVVMDx