Full_Name: Ben Tech Version: 2.4.33 OS: Debian 6.0.4 URL: ftp://ftp.openldap.org/incoming/ Submission from: (NULL) (41.85.161.126) Hi, I'm on Debian 6 / OpenLDAP 2.4.33 with back-sql. According to http://www.openldap.org/software/release/changes.html, back-sql supports dynamic config as of version 2.4.27. So I converted slapd.conf to slapd.d, conversion went well. However, when I start slapd, I get the following message : # /usr/local/libexec/slapd -u openldap -g openldap -d -1 ....... 50ff3f0a <<< dnPrettyNormal: <cn=root,dc=example,dc=com>, <cn=root,dc=example,dc=com> 50ff3f0a olcSqlInsEntryStmt: value #0: <olcSqlInsEntryStmt> extra cruft after <SQL expression>. 50ff3f0a config error processing olcDatabase={1}sql,cn=config: <olcSqlInsEntryStmt> extra cruft after <SQL expression> 50ff3f0a send_ldap_result: conn=-1 op=0 p=0 50ff3f0a send_ldap_result: err=19 matched="" text="" 50ff3f0a slapd destroy: freeing system resources. 50ff3f0a slapd stopped. 50ff3f0a connections_destroy: nothing to destroy. If I comment that line, the server starts fine # olcSqlInsEntryStmt: insert into ldap_entries (id,dn,oc_map_id,parent,keyval) v alues ((select max(id)+1 from ldap_entries),?,?,?,?)
I just noticed I forgot some infos, so here is the problem again : Hi, Has anyone out there managed to successfully convert slapd.conf into cn=config with back-sql enabled ? I'm on Debian 6 / OpenLDAP 2.4.33 with back-sql support (./configure --enable-sql) According tohttp://www.openldap.org/software/release/changes.html, back-sql supports dynamic config as of version 2.4.27. So I converted slapd.conf to slapd.d, conversion went well. However, when I start slapd, I get the following message : # /usr/local/libexec/slapd -u openldap -g openldap -d -1 ....... 50ff3f0a<<< dnPrettyNormal:<cn=root,dc=example,dc=com>,<cn=root,dc=example,dc=com> 50ff3f0a olcSqlInsEntryStmt: value #0:<olcSqlInsEntryStmt> extra cruft after<SQL expression>. 50ff3f0a config error processing olcDatabase={1}sql,cn=config: <olcSqlInsEntryStmt> extra cruft after<SQL expression> 50ff3f0a send_ldap_result: conn=-1 op=0 p=0 50ff3f0a send_ldap_result: err=19 matched="" text="" 50ff3f0a slapd destroy: freeing system resources. 50ff3f0a slapd stopped. 50ff3f0a connections_destroy: nothing to destroy. The error message seems to be "extra cruft after<SQL expression>" If I edit slapd.d/cn=config/olcDatabase={1}sql.ldif and I comment the line starting with olcSqlInsEntryStmt, then slapd starts fine. So what's the right syntax for olcSqlInsEntryStmt ??? Thanks Ben
--On Wednesday, January 23, 2013 10:58 PM +0000 benintechnologies@yahoo.fr wrote: > I just noticed I forgot some infos, so here is the problem again : > > If I edit slapd.d/cn=config/olcDatabase={1}sql.ldif and I comment the > line starting with olcSqlInsEntryStmt, then slapd starts fine. > > So what's the right syntax for olcSqlInsEntryStmt ??? >From the man page: insentry_stmt <SQL expression> The statement that is used to insert a new entry in table ldap_entries; see "METAINFORMATION USED" for details. The default is "INSERT INTO ldap_entries (dn, oc_map_id, parent, keyval) VALUES (?, ?, ?, ?)". --Quanah -- Quanah Gibson-Mount Sr. Member of Technical Staff Zimbra, Inc A Division of VMware, Inc. -------------------- Zimbra :: the leader in open source messaging and collaboration
Hi, thank you for your reply I simply took the slapd.conf file adapted to PostgreSQL in the source (/openldap-2.4.33/servers/slapd/back-sql/rdbms_depend/pgsql) In that file, we have : olcSqlInsEntryStmt: insert into ldap_entries (id,dn,oc_map_id,parent,keyval) values ((select max(id)+1 from ldap_entries),?,?,?,?) it works with static configuration (slapd.conf) : I successfully managed to insert some data into the postgresql tables But after having converted it to cn=config (slaptest -f slapd.conf -F slapd.d) slapd doesn't start anymore : 0ff3f0a <<< dnPrettyNormal: <cn=root,dc=example,dc=com>, <cn=root,dc=example,dc=com> 50ff3f0a olcSqlInsEntryStmt: value #0: <olcSqlInsEntryStmt> extra cruft after <SQL expression>. 50ff3f0a config error processing olcDatabase={1}sql,cn=config: <olcSqlInsEntryStmt> *extra cruft after <SQL expression>* 50ff3f0a send_ldap_result: conn=-1 op=0 p=0 50ff3f0a send_ldap_result: err=19 matched="" text="" 50ff3f0a slapd destroy: freeing system resources. 50ff3f0a slapd stopped. 50ff3f0a connections_destroy: nothing to destroy. I believe it's a bug, no ? thanks BT Le 24/01/2013 00:39, quanah@zimbra.com a écrit : > --On Wednesday, January 23, 2013 10:58 PM +0000 benintechnologies@yahoo.fr > wrote: > >> I just noticed I forgot some infos, so here is the problem again : >> >> If I edit slapd.d/cn=config/olcDatabase={1}sql.ldif and I comment the >> line starting with olcSqlInsEntryStmt, then slapd starts fine. >> >> So what's the right syntax for olcSqlInsEntryStmt ??? > > From the man page: > > > insentry_stmt<SQL expression> > The statement that is used to insert a new entry in table > ldap_entries; see "METAINFORMATION USED" for details. The > default is "INSERT INTO ldap_entries (dn, oc_map_id, parent, > keyval) VALUES (?, ?, ?, ?)". > > --Quanah > > -- > > Quanah Gibson-Mount > Sr. Member of Technical Staff > Zimbra, Inc > A Division of VMware, Inc. > -------------------- > Zimbra :: the leader in open source messaging and collaboration > > >
benintechnologies@yahoo.fr wrote: > Hi, > > thank you for your reply > > I simply took the slapd.conf file adapted to PostgreSQL in the source > (/openldap-2.4.33/servers/slapd/back-sql/rdbms_depend/pgsql) > > In that file, we have : > olcSqlInsEntryStmt: insert into ldap_entries > (id,dn,oc_map_id,parent,keyval) values ((select max(id)+1 from > ldap_entries),?,?,?,?) > > it works with static configuration (slapd.conf) : I successfully managed > to insert some data into the postgresql tables > > But after having converted it to cn=config (slaptest -f slapd.conf -F > slapd.d) slapd doesn't start anymore : > 0ff3f0a <<< dnPrettyNormal: <cn=root,dc=example,dc=com>, > <cn=root,dc=example,dc=com> > 50ff3f0a olcSqlInsEntryStmt: value #0: <olcSqlInsEntryStmt> extra cruft > after <SQL expression>. > 50ff3f0a config error processing olcDatabase={1}sql,cn=config: > <olcSqlInsEntryStmt> *extra cruft after <SQL expression>* > 50ff3f0a send_ldap_result: conn=-1 op=0 p=0 > 50ff3f0a send_ldap_result: err=19 matched="" text="" > 50ff3f0a slapd destroy: freeing system resources. > 50ff3f0a slapd stopped. > 50ff3f0a connections_destroy: nothing to destroy. > > I believe it's a bug, no ? Yes, it's a bug. The conversion should have used double-quotes on these parameters. Will be fixed shortly. -- -- Howard Chu CTO, Symas Corp. http://www.symas.com Director, Highland Sun http://highlandsun.com/hyc/ Chief Architect, OpenLDAP http://www.openldap.org/project/
changed notes changed state Open to Test moved from Incoming to Software Bugs
>>>>Yes, it's a bug. The conversion should have used double-quotes on these >>>>parameters. Will be fixed shortly. ok thanks, I added manually the double-quotes on olcSqlInsEntryStmt in the file olcDatabase={1}sql.ldif, like this : olcSqlInsEntryStmt: "insert into ldap_entries (id,dn,oc_map_id,parent,keyval) values ((select max(id)+1 from ldap_entries),?,?,?,?)" Now slapd starts, but ldapsearch returns "80 Other (e.g., implementation specific error)". With the old "slapd.conf", ldapsearch works fine. Is there anything else to do when converting slapd.conf to cn=config on a back-sql implementation ? Le 24/01/2013 02:44, hyc@symas.com a écrit : > benintechnologies@yahoo.fr wrote: >> Hi, >> >> thank you for your reply >> >> I simply took the slapd.conf file adapted to PostgreSQL in the source >> (/openldap-2.4.33/servers/slapd/back-sql/rdbms_depend/pgsql) >> >> In that file, we have : >> olcSqlInsEntryStmt: insert into ldap_entries >> (id,dn,oc_map_id,parent,keyval) values ((select max(id)+1 from >> ldap_entries),?,?,?,?) >> >> it works with static configuration (slapd.conf) : I successfully managed >> to insert some data into the postgresql tables >> >> But after having converted it to cn=config (slaptest -f slapd.conf -F >> slapd.d) slapd doesn't start anymore : >> 0ff3f0a<<< dnPrettyNormal:<cn=root,dc=example,dc=com>, >> <cn=root,dc=example,dc=com> >> 50ff3f0a olcSqlInsEntryStmt: value #0:<olcSqlInsEntryStmt> extra cruft >> after<SQL expression>. >> 50ff3f0a config error processing olcDatabase={1}sql,cn=config: >> <olcSqlInsEntryStmt> *extra cruft after<SQL expression>* >> 50ff3f0a send_ldap_result: conn=-1 op=0 p=0 >> 50ff3f0a send_ldap_result: err=19 matched="" text="" >> 50ff3f0a slapd destroy: freeing system resources. >> 50ff3f0a slapd stopped. >> 50ff3f0a connections_destroy: nothing to destroy. >> >> I believe it's a bug, no ?
Benin Technologies wrote: > >>>>Yes, it's a bug. The conversion should have used double-quotes on these > >>>>parameters. Will be fixed shortly. > > > ok thanks, I added manually the double-quotes on olcSqlInsEntryStmt in > the file olcDatabase={1}sql.ldif, like this : > > olcSqlInsEntryStmt: "insert into ldap_entries (id,dn,oc_map_id,parent,keyval) values ((select max(id)+1 from ldap_entries),?,?,?,?)" > > > Now slapd starts, but ldapsearch returns "80 Other (e.g., implementation > specific error)". With the old "slapd.conf", ldapsearch works fine. Is > there anything else to do when converting slapd.conf to cn=config on a > back-sql implementation ? Yes, actually the quotes are optional, but you must get the fix from git. Commit 56a0d9004f0fba943028041ea5af62338b6dfccd > > > > > Le 24/01/2013 02:44, hyc@symas.com a écrit : >> benintechnologies@yahoo.fr wrote: >>> Hi, >>> >>> thank you for your reply >>> >>> I simply took the slapd.conf file adapted to PostgreSQL in the source >>> (/openldap-2.4.33/servers/slapd/back-sql/rdbms_depend/pgsql) >>> >>> In that file, we have : >>> olcSqlInsEntryStmt: insert into ldap_entries >>> (id,dn,oc_map_id,parent,keyval) values ((select max(id)+1 from >>> ldap_entries),?,?,?,?) >>> >>> it works with static configuration (slapd.conf) : I successfully managed >>> to insert some data into the postgresql tables >>> >>> But after having converted it to cn=config (slaptest -f slapd.conf -F >>> slapd.d) slapd doesn't start anymore : >>> 0ff3f0a<<< dnPrettyNormal:<cn=root,dc=example,dc=com>, >>> <cn=root,dc=example,dc=com> >>> 50ff3f0a olcSqlInsEntryStmt: value #0:<olcSqlInsEntryStmt> extra cruft >>> after<SQL expression>. >>> 50ff3f0a config error processing olcDatabase={1}sql,cn=config: >>> <olcSqlInsEntryStmt> *extra cruft after<SQL expression>* >>> 50ff3f0a send_ldap_result: conn=-1 op=0 p=0 >>> 50ff3f0a send_ldap_result: err=19 matched="" text="" >>> 50ff3f0a slapd destroy: freeing system resources. >>> 50ff3f0a slapd stopped. >>> 50ff3f0a connections_destroy: nothing to destroy. >>> >>> I believe it's a bug, no ? > > -- -- Howard Chu CTO, Symas Corp. http://www.symas.com Director, Highland Sun http://highlandsun.com/hyc/ Chief Architect, OpenLDAP http://www.openldap.org/project/
Yes the fix worked (I downloaded the latest openldap.tar.gz on your gitweb and installed it). Now slapd starts after having converted to cn=config But after the conversion my ldapsearch returns an 80 error (with slapd.conf it worked, the data from PostgreSQL where returned) Thus my question : are there other steps to be taken after the conversion (all I did was : slaptest -f slapd.conf -F slapd.d) I don't think this has something to do with that 7499 bug, so I'll post the question on the technical mailing list (but if nobody bumped into that 7499 bug before, it logically means that nobody is using back-sql with cn=config yet) ldapsearch -x -h localhost -b "dc=example,dc=com" "(objectClass=*)" # extended LDIF # # LDAPv3 # base <dc=example,dc=com> with scope subtree # filter: (objectClass=*) # requesting: ALL # # search result search: 2 result: 80 Other (e.g., implementation specific) error # numResponses: 1 Le 24/01/2013 04:46, Howard Chu a écrit : > Benin Technologies wrote: >> >>>>Yes, it's a bug. The conversion should have used double-quotes on >> these >> >>>>parameters. Will be fixed shortly. >> >> >> ok thanks, I added manually the double-quotes on olcSqlInsEntryStmt in >> the file olcDatabase={1}sql.ldif, like this : >> >> olcSqlInsEntryStmt: "insert into ldap_entries >> (id,dn,oc_map_id,parent,keyval) values ((select max(id)+1 from >> ldap_entries),?,?,?,?)" >> >> >> Now slapd starts, but ldapsearch returns "80 Other (e.g., implementation >> specific error)". With the old "slapd.conf", ldapsearch works fine. Is >> there anything else to do when converting slapd.conf to cn=config on a >> back-sql implementation ? > > Yes, actually the quotes are optional, but you must get the fix from git. > Commit 56a0d9004f0fba943028041ea5af62338b6dfccd >> >> >> >> >> Le 24/01/2013 02:44, hyc@symas.com a écrit : >>> benintechnologies@yahoo.fr wrote: >>>> Hi, >>>> >>>> thank you for your reply >>>> >>>> I simply took the slapd.conf file adapted to PostgreSQL in the source >>>> (/openldap-2.4.33/servers/slapd/back-sql/rdbms_depend/pgsql) >>>> >>>> In that file, we have : >>>> olcSqlInsEntryStmt: insert into ldap_entries >>>> (id,dn,oc_map_id,parent,keyval) values ((select max(id)+1 from >>>> ldap_entries),?,?,?,?) >>>> >>>> it works with static configuration (slapd.conf) : I successfully >>>> managed >>>> to insert some data into the postgresql tables >>>> >>>> But after having converted it to cn=config (slaptest -f slapd.conf -F >>>> slapd.d) slapd doesn't start anymore : >>>> 0ff3f0a<<< dnPrettyNormal:<cn=root,dc=example,dc=com>, >>>> <cn=root,dc=example,dc=com> >>>> 50ff3f0a olcSqlInsEntryStmt: value #0:<olcSqlInsEntryStmt> extra >>>> cruft >>>> after<SQL expression>. >>>> 50ff3f0a config error processing olcDatabase={1}sql,cn=config: >>>> <olcSqlInsEntryStmt> *extra cruft after<SQL expression>* >>>> 50ff3f0a send_ldap_result: conn=-1 op=0 p=0 >>>> 50ff3f0a send_ldap_result: err=19 matched="" text="" >>>> 50ff3f0a slapd destroy: freeing system resources. >>>> 50ff3f0a slapd stopped. >>>> 50ff3f0a connections_destroy: nothing to destroy. >>>> >>>> I believe it's a bug, no ? >> >> > >
Benin Technologies wrote: > Yes the fix worked (I downloaded the latest openldap.tar.gz on your > gitweb and installed it). Now slapd starts after having converted to > cn=config > > But after the conversion my ldapsearch returns an 80 error (with > slapd.conf it worked, the data from PostgreSQL where returned) > Thus my question : are there other steps to be taken after the > conversion (all I did was : slaptest -f slapd.conf -F slapd.d) Ah. In that case the fix must still be wrong. (Sorry, I'm patching this blind as I don't have any current SQL installation to test with.) > I don't think this has something to do with that 7499 bug, so I'll post > the question on the technical mailing list (but if nobody bumped into > that 7499 bug before, it logically means that nobody is using back-sql > with cn=config yet) Agreed, I think it's unlikely that anyone else has used this yet. > > ldapsearch -x -h localhost -b "dc=example,dc=com" "(objectClass=*)" > # extended LDIF > # > # LDAPv3 > # base <dc=example,dc=com> with scope subtree > # filter: (objectClass=*) > # requesting: ALL > # > > # search result > search: 2 > result: 80 Other (e.g., implementation specific) error > > # numResponses: 1 > > > Le 24/01/2013 04:46, Howard Chu a écrit : >> Benin Technologies wrote: >>>>>>> Yes, it's a bug. The conversion should have used double-quotes on >>> these >>>>>>> parameters. Will be fixed shortly. >>> >>> >>> ok thanks, I added manually the double-quotes on olcSqlInsEntryStmt in >>> the file olcDatabase={1}sql.ldif, like this : >>> >>> olcSqlInsEntryStmt: "insert into ldap_entries >>> (id,dn,oc_map_id,parent,keyval) values ((select max(id)+1 from >>> ldap_entries),?,?,?,?)" >>> >>> >>> Now slapd starts, but ldapsearch returns "80 Other (e.g., implementation >>> specific error)". With the old "slapd.conf", ldapsearch works fine. Is >>> there anything else to do when converting slapd.conf to cn=config on a >>> back-sql implementation ? >> >> Yes, actually the quotes are optional, but you must get the fix from git. >> Commit 56a0d9004f0fba943028041ea5af62338b6dfccd >>> >>> >>> >>> >>> Le 24/01/2013 02:44, hyc@symas.com a écrit : >>>> benintechnologies@yahoo.fr wrote: >>>>> Hi, >>>>> >>>>> thank you for your reply >>>>> >>>>> I simply took the slapd.conf file adapted to PostgreSQL in the source >>>>> (/openldap-2.4.33/servers/slapd/back-sql/rdbms_depend/pgsql) >>>>> >>>>> In that file, we have : >>>>> olcSqlInsEntryStmt: insert into ldap_entries >>>>> (id,dn,oc_map_id,parent,keyval) values ((select max(id)+1 from >>>>> ldap_entries),?,?,?,?) >>>>> >>>>> it works with static configuration (slapd.conf) : I successfully >>>>> managed >>>>> to insert some data into the postgresql tables >>>>> >>>>> But after having converted it to cn=config (slaptest -f slapd.conf -F >>>>> slapd.d) slapd doesn't start anymore : >>>>> 0ff3f0a<<< dnPrettyNormal:<cn=root,dc=example,dc=com>, >>>>> <cn=root,dc=example,dc=com> >>>>> 50ff3f0a olcSqlInsEntryStmt: value #0:<olcSqlInsEntryStmt> extra >>>>> cruft >>>>> after<SQL expression>. >>>>> 50ff3f0a config error processing olcDatabase={1}sql,cn=config: >>>>> <olcSqlInsEntryStmt> *extra cruft after<SQL expression>* >>>>> 50ff3f0a send_ldap_result: conn=-1 op=0 p=0 >>>>> 50ff3f0a send_ldap_result: err=19 matched="" text="" >>>>> 50ff3f0a slapd destroy: freeing system resources. >>>>> 50ff3f0a slapd stopped. >>>>> 50ff3f0a connections_destroy: nothing to destroy. >>>>> >>>>> I believe it's a bug, no ? >>> >>> >> >> > > -- -- Howard Chu CTO, Symas Corp. http://www.symas.com Director, Highland Sun http://highlandsun.com/hyc/ Chief Architect, OpenLDAP http://www.openldap.org/project/
Le 24/01/2013 13:31, Howard Chu a écrit : > Benin Technologies wrote: >> Yes the fix worked (I downloaded the latest openldap.tar.gz on your >> gitweb and installed it). Now slapd starts after having converted to >> cn=config >> >> But after the conversion my ldapsearch returns an 80 error (with >> slapd.conf it worked, the data from PostgreSQL where returned) >> Thus my question : are there other steps to be taken after the >> conversion (all I did was : slaptest -f slapd.conf -F slapd.d) > > Ah. In that case the fix must still be wrong. (Sorry, I'm patching > this blind as I don't have any current SQL installation to test with.) > OK let me know when you fixed it, it the meantime I'll switch back to slapd.conf Thanks BT
Benin Technologies wrote: > Le 24/01/2013 13:31, Howard Chu a écrit : >> Ah. In that case the fix must still be wrong. (Sorry, I'm patching >> this blind as I don't have any current SQL installation to test with.) > OK let me know when you fixed it, it the meantime I'll switch back to > slapd.conf Can you please include your slapd.conf here in this ITS? -- -- Howard Chu CTO, Symas Corp. http://www.symas.com Director, Highland Sun http://highlandsun.com/hyc/ Chief Architect, OpenLDAP http://www.openldap.org/project/
i was just testing back-sql, so my slapd.conf is basically the one that's shipped with openldap, as in "servers/slapd/back-sql/rdbms_depend/pgsql/slapd.conf I just changed a few parameters, like the pid and argfile directory, odbc and database parameters here it is include /usr/local/etc/openldap/schema/core.schema include /usr/local/etc/openldap/schema/cosine.schema include /usr/local/etc/openldap/schema/inetorgperson.schema # Define global ACLs to disable default read access. pidfile /var/run/slapd/slapd.pid argsfile /var/run/slapd/slapd.args ####################################################################### # sql database definitions ####################################################################### database sql suffix "dc=example,dc=com" rootdn "cn=root,dc=example,dc=com" rootpw secret dbname LdapTest dbuser ldaptest dbpasswd ldaptest insentry_stmt "insert into ldap_entries (id,dn,oc_map_id,parent,keyval) values ((select max(id)+1 from ldap_entries),?,?,?,?)" upper_func "upper" strcast_func "text" concat_pattern "?||?" has_ldapinfo_dn_ru no Le 24/01/2013 20:00, Howard Chu a écrit : > Benin Technologies wrote: >> Le 24/01/2013 13:31, Howard Chu a écrit : >>> Ah. In that case the fix must still be wrong. (Sorry, I'm patching >>> this blind as I don't have any current SQL installation to test with.) > >> OK let me know when you fixed it, it the meantime I'll switch back to >> slapd.conf > > Can you please include your slapd.conf here in this ITS? >
Benin Technologies wrote: > i was just testing back-sql, so my slapd.conf is basically the one > that's shipped with openldap, as in > "servers/slapd/back-sql/rdbms_depend/pgsql/slapd.conf OK, found the bug, fixed now in master. > Le 24/01/2013 20:00, Howard Chu a écrit : >> Benin Technologies wrote: >>> Le 24/01/2013 13:31, Howard Chu a écrit : >>>> Ah. In that case the fix must still be wrong. (Sorry, I'm patching >>>> this blind as I don't have any current SQL installation to test with.) >> >>> OK let me know when you fixed it, it the meantime I'll switch back to >>> slapd.conf >> >> Can you please include your slapd.conf here in this ITS? -- -- Howard Chu CTO, Symas Corp. http://www.symas.com Director, Highland Sun http://highlandsun.com/hyc/ Chief Architect, OpenLDAP http://www.openldap.org/project/
Le 25/01/2013 15:59, Howard Chu a écrit : > Benin Technologies wrote: >> i was just testing back-sql, so my slapd.conf is basically the one >> that's shipped with openldap, as in >> "servers/slapd/back-sql/rdbms_depend/pgsql/slapd.conf > > OK, found the bug, fixed now in master. YEP, just tested it, it works. Many thanks !
changed notes changed state Test to Release
changed notes changed state Release to Closed
fixed in master fixed in RE24