Re: dbd pgsql autotools patch

2008-05-19 Thread Bojan Smojver
On Mon, 2008-05-19 at 20:05 -0400, Bob Rossi wrote:

 If you make the change, I'll test out the latest snapshots and all your
 fixes for me. Thanks so much Bojan!

Done. And you are welcome.

-- 
Bojan



Re: dbd pgsql autotools patch

2008-05-19 Thread Bojan Smojver
On Mon, 2008-05-19 at 20:47 -0400, Bob Rossi wrote:

 This is almost correct. It's simply missing the -L to the postgresql/lib
 directory. My program failed to link because it couldn't find -lpgport
 which lives there.

If fact, PostgreSQL manual
(http://www.postgresql.org/docs/8.3/static/libpq-build.html) confirms
that we should be using just --libdir.

It should be committed now. Let me know...

-- 
Bojan



Re: dbd pgsql autotools patch

2008-05-19 Thread Bojan Smojver
On Tue, 2008-05-20 at 11:21 +1000, Bojan Smojver wrote:

 If fact, PostgreSQL manual
 (http://www.postgresql.org/docs/8.3/static/libpq-build.html) confirms
 that we should be using just --libdir.

BTW, if --libdir alone doesn't cut it for you for some reason, I'll add
--libs back too. But, if it does, I prefer to keep it simple.

-- 
Bojan



Re: sqlite3 dbd provider question

2008-05-19 Thread Bojan Smojver
On Mon, 2008-05-19 at 18:48 -0700, Chris Darroch wrote:

Personally, I'd suggest just removing it from trunk too ... I'm
 not sure exactly how a global cache could be made to work across
 multiple databases, since they might be of different versions, etc.
 It's not likely to be trivial, I would think, and I'm not sure what
 the upside is.

I agree. A big complication in order to shave a bit of runtime for small
number of users, if any.

So, anyway, here's a patch against trunk ... it should apply cleanly
 against 1.3 as well, I believe.  If you're not applying this to trunk
 as well, please apply the previous patch, which at least moves the
 apr_dbd_mutex_unlock() calls into matching #ifdefs.  Thanks,

I'll let Bill commit this, given that he was the one handling the whole
thing.

Thanks for the patch Chris!

-- 
Bojan



Re: dbd pgsql autotools patch

2008-05-19 Thread Bojan Smojver
Here is a patch I've been toying with. Essentially, it does these
things:

- cleans up PostgreSQL detection a bit more

- uses APRUTIL_PRIV_INCLUDES for all CPPFLAGS driver stuff (i.e. we
don't need to expose that to users of APU)

- is careful not to place LDFLAGS of drivers into APRUTIL_LDFLAGS (i.e.
again, these are used for driver link, nothing else)

Let me know if you think this is better than before...

-- 
Bojan
Index: build/dbd.m4
===
--- build/dbd.m4	(revision 658076)
+++ build/dbd.m4	(working copy)
@@ -44,6 +44,9 @@
   if test $apu_have_pgsql = 0; then
 AC_CHECK_HEADERS(postgresql/libpq-fe.h, AC_CHECK_LIB(pq, PQsendQueryPrepared, [apu_have_pgsql=1]))
   fi
+  if test $apu_have_pgsql != 0  test x$PGSQL_CONFIG != 'x'; then
+APR_ADDTO(APRUTIL_PRIV_INCLUDES, [$pgsql_CPPFLAGS])
+  fi
 elif test $withval = no; then
   :
 else
@@ -61,17 +64,12 @@
 
   AC_MSG_NOTICE(checking for pgsql in $withval)
   AC_CHECK_HEADERS(libpq-fe.h, AC_CHECK_LIB(pq, PQsendQueryPrepared, [apu_have_pgsql=1]))
-  if test $apu_have_pgsql != 0; then
-APR_ADDTO(APRUTIL_LDFLAGS, [-L$withval/lib])
-APR_ADDTO(APRUTIL_INCLUDES, [-I$withval/include])
-  fi
   if test $apu_have_pgsql != 1; then
 AC_CHECK_HEADERS(postgresql/libpq-fe.h, AC_CHECK_LIB(pq, PQsendQueryPrepared, [apu_have_pgsql=1]))
-if test $apu_have_pgsql != 0; then
-  APR_ADDTO(APRUTIL_INCLUDES, [-I$withval/include/postgresql])
-  APR_ADDTO(APRUTIL_LDFLAGS, [-L$withval/lib])
-fi
   fi
+  if test $apu_have_pgsql != 0; then
+APR_ADDTO(APRUTIL_PRIV_INCLUDES, [$pgsql_CPPFLAGS])
+  fi
 fi
   ], [
 AC_PATH_PROG([PGSQL_CONFIG],[pg_config])
@@ -87,12 +85,15 @@
 if test $apu_have_pgsql = 0; then
   AC_CHECK_HEADERS(postgresql/libpq-fe.h, AC_CHECK_LIB(pq, PQsendQueryPrepared, [apu_have_pgsql=1]))
 fi
+if test $apu_have_pgsql != 0  test x$PGSQL_CONFIG != 'x'; then
+  APR_ADDTO(APRUTIL_PRIV_INCLUDES, [$pgsql_CPPFLAGS])
+fi
   ])
   AC_SUBST(apu_have_pgsql)
   dnl Since we have already done the AC_CHECK_LIB tests, if we have it, 
   dnl we know the library is there.
   if test $apu_have_pgsql = 1; then
-LDADD_dbd_pgsql=-lpq
+LDADD_dbd_pgsql=$pgsql_LDFLAGS -lpq
   fi
   AC_SUBST(LDADD_dbd_pgsql)
 
@@ -123,11 +124,10 @@
   AC_CHECK_HEADERS(mysql.h, AC_CHECK_LIB(mysqlclient_r, mysql_init, [apu_have_mysql=1]))
   if test $apu_have_mysql = 0; then
 AC_CHECK_HEADERS(mysql/mysql.h, AC_CHECK_LIB(mysqlclient_r, mysql_init, [apu_have_mysql=1]))
-  else
-if test x$MYSQL_CONFIG != 'x'; then
-  APR_ADDTO(APRUTIL_INCLUDES, [$mysql_CPPFLAGS])
-fi
   fi
+  if test $apu_have_mysql != 0  test x$MYSQL_CONFIG != 'x'; then
+APR_ADDTO(APRUTIL_PRIV_INCLUDES, [$mysql_CPPFLAGS])
+  fi
 elif test $withval = no; then
   :
 else
@@ -145,16 +145,13 @@
 
   AC_MSG_NOTICE(checking for mysql in $withval)
   AC_CHECK_HEADERS(mysql.h, AC_CHECK_LIB(mysqlclient_r, mysql_init, [apu_have_mysql=1]))
-  if test $apu_have_mysql != 0; then
-APR_ADDTO(APRUTIL_INCLUDES, [$mysql_CPPFLAGS])
-  fi
 
   if test $apu_have_mysql != 1; then
 AC_CHECK_HEADERS(mysql/mysql.h, AC_CHECK_LIB(mysqlclient_r, mysql_init, [apu_have_mysql=1]))
-if test $apu_have_mysql != 0; then
-  APR_ADDTO(APRUTIL_INCLUDES, [-I$withval/include/mysql])
-fi
   fi
+  if test $apu_have_mysql != 0; then
+APR_ADDTO(APRUTIL_PRIV_INCLUDES, [$mysql_CPPFLAGS])
+  fi
 fi
   ])
 
@@ -195,8 +192,7 @@
   AC_MSG_NOTICE(checking for sqlite3 in $withval)
   AC_CHECK_HEADERS(sqlite3.h, AC_CHECK_LIB(sqlite3, sqlite3_open, [apu_have_sqlite3=1]))
   if test $apu_have_sqlite3 != 0; then
-APR_ADDTO(APRUTIL_LDFLAGS, [-L$withval/lib])
-APR_ADDTO(APRUTIL_INCLUDES, [-I$withval/include])
+APR_ADDTO(APRUTIL_PRIV_INCLUDES, [-I$withval/include])
   fi
 fi
   ], [
@@ -208,7 +204,7 @@
   dnl Since we have already done the AC_CHECK_LIB tests, if we have it, 
   dnl we know the library is there.
   if test $apu_have_sqlite3 = 1; then
-LDADD_dbd_sqlite3=-lsqlite3
+LDADD_dbd_sqlite3=$sqlite3_LDFLAGS -lsqlite3
   fi
   AC_SUBST(LDADD_dbd_sqlite3)
 
@@ -240,8 +236,7 @@
   AC_MSG_NOTICE(checking for sqlite2 in $withval)
   AC_CHECK_HEADERS(sqlite.h, AC_CHECK_LIB(sqlite, sqlite_open, [apu_have_sqlite2=1]))
   if test $apu_have_sqlite2 != 0; then
-APR_ADDTO(APRUTIL_LDFLAGS, [-L$withval/lib])
-APR_ADDTO(APRUTIL_INCLUDES, [-I$withval/include])
+APR_ADDTO(APRUTIL_PRIV_INCLUDES, [-I$withval/include])
   fi
 fi
   ], [
@@ -253,7 +248,7 @@
   dnl Since we have already done the AC_CHECK_LIB tests, if we have it, 
   dnl we know the library is there.
   if test $apu_have_sqlite2 = 1; then
-

Re: sqlite3 and postgresql

2008-05-18 Thread Bojan Smojver
On Sat, 2008-05-17 at 20:43 -0400, Tom Donovan wrote:

 I would be happy to take care of it as soon as I receive commit access.  I'm 
 a new committer, and 
 the instructions advised patience - so I expect this usually takes some time 
 to get processed.

I committed something that _may_ work in r657516. The caveat is that we
rely here on both PostgreSQL and MySQL to not blow up in bad ways if
they get rownum of -1 (i.e. if the user of our API passes in row 0). I
did not test this at all, so feel free to do so.

-- 
Bojan



Re: svn commit: r657516 - in /apr/apr-util/trunk/dbd: apr_dbd_mysql.c apr_dbd_pgsql.c

2008-05-18 Thread Bojan Smojver
On Sun, 2008-05-18 at 11:24 +0200, Ruediger Pluem wrote:

 I guess this should now be  0?

Depends, really. If we want things to break when users pass in 0, then
it should be the way it is, provided MySQL returns an error when row it
is given is -1. If we just want to not seek at all, then yes - we should
make it  0.

Given that we're changing the semantics here, we just need to pick one.
I'm cool either way.

-- 
Bojan



Re: svn commit: r657516 - in /apr/apr-util/trunk/dbd: apr_dbd_mysql.c apr_dbd_pgsql.c

2008-05-18 Thread Bojan Smojver
On Sun, 2008-05-18 at 12:02 +0200, Ruediger Pluem wrote:

 Maybe we should return a driver independent error code in the case that the
 row number is  1. A MySQL specific error code might be somewhat confusing
 to the user as it might tell him that he used -1 as a row number.
 BTW: As far as I see the old behaviour was not to seek at all if the row 
 number
 was  0. Was this intended?

I think so.

BTW, I think we'll have to do  0 as you suggested because we cast into
(my_ulonglong), which if it gets value of -1 may become a really, really
big number thus potentially screwing a lot of things and giving
meaningless error messages back.

Anyhow, I'll do the  0 now.

-- 
Bojan



Re: sqlite3 and postgresql

2008-05-18 Thread Bojan Smojver
On Sat, 2008-05-17 at 09:07 -0400, Bob Rossi wrote:

 I've been using sqlite3 dbd for some time now. I find that the function
 apr_dbd_get_row,
   
 http://apr.apache.org/docs/apr-util/trunk/group___a_p_r___util___d_b_d.html#gd4cdc5f4e8981b93f5a467a8c8a768f1
 is 1 based. That is, 1 is the first row returned from a query. However,
 I just started using postgresql, and I find that apr_dbd_get_row is 0
 based. That is, 0 is the first row returned from the query.

This should now be fixed in both the trunk and 1.3.x branch.

We really _do_ appreciate your testing and suggestions!

-- 
Bojan



Re: upgrading from 2006 snapshot to apr-1.3.x

2008-05-17 Thread Bojan Smojver
On Sat, 2008-05-17 at 06:56 -0400, Bob Rossi wrote:

 Huh, I build with --disable-shared --enable-static. Perhaps it doesn't
 work in this configuration?

Possibly. Have you tried with --disable-dbd-dso?

-- 
Bojan



Re: upgrading from 2006 snapshot to apr-1.3.x

2008-05-17 Thread Bojan Smojver
On Sat, 2008-05-17 at 06:56 -0400, Bob Rossi wrote:

   char path[80];

Yeah, most likely should be APR_PATH_MAX+1, or something.

-- 
Bojan



Re: upgrading from 2006 snapshot to apr-1.3.x

2008-05-17 Thread Bojan Smojver
On Sat, 2008-05-17 at 07:21 -0400, Bob Rossi wrote:

 Just tried it, my tests pass now, which means this works. Should
 --disable-shared force --disable-dbd-dso?

It does disable it - drivers don't work :-)

(Sorry, couldn't resist to be a smartarse).

Seriously, this could be done for convenience, but we may just mention
it in README or some other doco.

  Also, the path issue is pretty serious imo.

Yeah, I think we should make it bigger than 80.

-- 
Bojan



Re: sqlite3 and postgresql

2008-05-17 Thread Bojan Smojver
On Sat, 2008-05-17 at 10:03 -0400, Tom Donovan wrote:

 I think this is a valid bug.

I agree.

-- 
Bojan



Re: sqlite3 and postgresql

2008-05-17 Thread Bojan Smojver
On Sat, 2008-05-17 at 18:29 -0500, William A. Rowe, Jr. wrote:

 +1 and I concur with Tom's suggestion w.r.t. a preferred row offset 1.

Tom, do you want to fix this one or do you want me to do it?

-- 
Bojan



Re: sqlite3 and postgresql

2008-05-17 Thread Bojan Smojver

Quoting Bob Rossi [EMAIL PROTECTED]:


Aren't you worried about how that will break all the existing programs
out there using this interface?


This is one of those damned if we fix it, damned if we don't things :-)

That being said, this is clearly a bug, as APU's DBD is supposed to be  
database neutral as much a possible (i.e. you should be able to change  
the underlying driver and still have most of the stuff just work). For  
that reason, it should be fixed.


In terms of strict binary compatibility, 1.2.x most likely cannot be  
changed here because we state here  
http://apr.apache.org/versioning.html#strategy that for the Patch  
Version:


Changes to the API, to the signatures of public functions, or to the  
interpretation of function parameters is not allowed.


AFAICT, Minor Versions do not have this particular requirement, so we  
should be OK to fix this in 1.3.x.


PS. We already did similar changes to DBD functions in 1.3.x.

--
Bojan


Re: postgres dbd_pgsql_open

2008-05-16 Thread Bojan Smojver
On Fri, 2008-05-16 at 16:32 -0400, Bob Rossi wrote:

 I'm looking at dbd_pgsql_open.

http://apr.apache.org/docs/apr-util/trunk/group___a_p_r___util___d_b_d.html#gbddb1fdcb2f8a5f5b83127485c78e8ae

-- 
Bojan



Re: dbd pgsql autotools patch

2008-05-16 Thread Bojan Smojver
On Fri, 2008-05-16 at 06:26 -0400, Bob Rossi wrote:

   configure:40279: gcc -o conftest -g -Wall -pthread  -DLINUX=2 -D_REENTRANT 
 -D_GNU_SOURCE  conftest.c -lcrypt   5
   configure:40285: $? = 0
   configure:40313: result: -lcrypt

So, the test for crypt actually succeeds. Maybe the whole thing is
caused by the fact that we check for crypt after we did DBD stuff. Can
you tell me if the attached patch works for you?

PS. The patch is against 1.3.x, but it should apply against 1.2.x as
well, with some fuzz.

-- 
Bojan
Index: configure.in
===
--- configure.in	(revision 655406)
+++ configure.in	(working copy)
@@ -142,6 +142,21 @@
   ])
 AC_SUBST(APR_ICONV_DIR)
 
+AC_SEARCH_LIBS(crypt, crypt ufc)
+AC_MSG_CHECKING(if system crypt() function is threadsafe)
+if test x$apu_crypt_threadsafe = x1; then
+  AC_DEFINE(APU_CRYPT_THREADSAFE, 1, [Define if the system crypt() function is threadsafe])
+  msg=yes
+else
+  msg=no
+fi
+AC_MSG_RESULT([$msg])
+
+AC_CHECK_FUNCS(crypt_r, [ crypt_r=1 ], [ crypt_r=0 ])
+if test $crypt_r = 1; then
+  APU_CHECK_CRYPT_R_STYLE
+fi
+
 dnl Find LDAP library
 dnl Determine what DBM backend type to use.
 dnl Find Expat
@@ -159,21 +174,6 @@
 APU_FIND_EXPAT
 APU_FIND_ICONV
 
-AC_SEARCH_LIBS(crypt, crypt ufc)
-AC_MSG_CHECKING(if system crypt() function is threadsafe)
-if test x$apu_crypt_threadsafe = x1; then
-  AC_DEFINE(APU_CRYPT_THREADSAFE, 1, [Define if the system crypt() function is threadsafe])
-  msg=yes
-else
-  msg=no
-fi
-AC_MSG_RESULT([$msg])
-
-AC_CHECK_FUNCS(crypt_r, [ crypt_r=1 ], [ crypt_r=0 ])
-if test $crypt_r = 1; then
-  APU_CHECK_CRYPT_R_STYLE
-fi
-
 so_ext=$APR_SO_EXT
 lib_target=$APR_LIB_TARGET
 AC_SUBST(so_ext)


Re: postgres dbd_pgsql_open

2008-05-16 Thread Bojan Smojver
On Fri, 2008-05-16 at 20:12 -0400, Bob Rossi wrote:
 I'm glad to see someone beat me to it!

Glad to be of service :-)

-- 
Bojan



Re: dbd pgsql autotools patch

2008-05-16 Thread Bojan Smojver
On Fri, 2008-05-16 at 20:33 -0400, Bob Rossi wrote:

 Yes, that worked!

Cool. Thanks for testing!

 Do you think this will get into the 1.3 snapshot?

Well, I think it should go in, hence I'll commit to trunk and ask other
committers to comment on in before backporting to 1.3.x/1.2.x. We need
to be careful not to break other things now...

-- 
Bojan



Re: dbd pgsql autotools patch

2008-05-16 Thread Bojan Smojver
On Fri, 2008-05-16 at 19:42 -0500, William A. Rowe, Jr. wrote:

 Actually that's half-assed.  We have to back out the changes that the DBD
 detection causes for LDFLAGS and LIBS, etc, in order to ensure that later
 tests aren't bogus.

We already did that, no?

We do it like this in build/dbd.m4:

old_cppflags=$CPPFLAGS
old_ldflags=$LDFLAGS

[...other stuff...]

CPPFLAGS=$old_cppflags
LDFLAGS=$old_ldflags

This crypt business is not part of build/dbd.m4 - it is in configure.in
and can potentially affect other things.

-- 
Bojan



Re: dbd pgsql autotools patch

2008-05-16 Thread Bojan Smojver
On Sat, 2008-05-17 at 10:43 +1000, Bojan Smojver wrote:
  ask other committers to comment

Well, I didn't have to ask, did I? ;-)

-- 
Bojan



Re: dbd pgsql autotools patch

2008-05-16 Thread Bojan Smojver
On Fri, 2008-05-16 at 19:51 -0500, William A. Rowe, Jr. wrote:

 No but since you did, my +1.

Thanks.

BTW, there is one place in PostgreSQL detection where we don't return
LDFLAGS and CPPFLAGS back to normal. I'll fix that too.

-- 
Bojan



Re: dbd pgsql autotools patch

2008-05-16 Thread Bojan Smojver
On Sat, 2008-05-17 at 10:53 +1000, Bojan Smojver wrote:

 BTW, there is one place in PostgreSQL detection where we don't return
 LDFLAGS and CPPFLAGS back to normal. I'll fix that too.

Ignore this comment please - this is for the case we we don't fiddle
with CPPFLAGS/LDFLAGS.

-- 
Bojan



Re: upgrading from 2006 snapshot to apr-1.3.x

2008-05-16 Thread Bojan Smojver
On Fri, 2008-05-16 at 22:43 -0400, Bob Rossi wrote:

 I just upgraded to the 1.3 svn snapshot, to test out the new
 functionality that was recently added. After I ran my unit tests I
 noticed that the function apr_dbd_init() was not working properly for
 me. Then I realized it's because this code,

With 1.3.x and above, we build DBD modules as DSOs. Did they get built
properly?

-- 
Bojan



Re: dbd pgsql autotools patch

2008-05-15 Thread Bojan Smojver
On Thu, 2008-05-15 at 09:08 -0400, Bob Rossi wrote:

 Attached is the patch that fixes the problem, what do you think?

Yeah, we do this kind of thing for other databases already. I'll have a
look at it today.

-- 
Bojan



Re: dbd pgsql autotools patch

2008-05-15 Thread Bojan Smojver
On Thu, 2008-05-15 at 09:08 -0400, Bob Rossi wrote:
 So,
 I get a link error, because it needs to link against -lcrypt.

What kind of system do you have? Where does the -lcrypt live on your
system?

BTW, doing the pg_config --libs will not give us the right thing here.
For instance, on my system, this returns:

-lpgport -lxslt -lxml2 -lpam -lssl -lcrypto -lgssapi_krb5 -lz -lreadline
-lcrypt -ldl -lm

Many of these things are most definitely not needed for the client to be
linked in (i.e. the --libs gives libraries used to build PostgreSQL, not
ones required to link to pq). We have to find a better way to do this...

-- 
Bojan



Re: dbd pgsql autotools patch

2008-05-15 Thread Bojan Smojver
On Thu, 2008-05-15 at 23:18 -0400, Bob Rossi wrote:

 Ubuntu 7.04, /lib/libcrypt-2.5.so

OK.

 OK, perhaps we should just add -lcrypt to the pg line? I could check to
 see if this works on my system if you think this is a good idea.

Hmm, not sure if hardcoding here is the right thing to do. I don't see
how that got omitted from the set of libraries that are required. What
do you get when you run apr-1-config --libs (make sure you run
apr-1-config of the one you used to build apr-util)?

-- 
Bojan



Re: apr_reslist semantics

2008-05-13 Thread Bojan Smojver
On Mon, 2008-05-12 at 17:38 -0500, William A. Rowe, Jr. wrote:

 Do folks feel we should release an apr+apu this friday?  If 1.3.0 has
 settled in, then that is the release.  If not, a final 1.2.x release
 instead, in the interim?

Given Joe's latest comments regarding --with-ldap, I would be then
inclined to say 1.3.0. Unless there are some other major dramas that
cannot be fixed before then...

-- 
Bojan



Re: How to modify Makefile for apr_pools.c ?

2008-05-13 Thread Bojan Smojver
On Wed, 2008-05-14 at 10:42 +0800, zengwm wrote:

 So making apr_pools.c and linking may require adding some arguments to
 the command line to link the library, e.g. -L and -l..

You can try like this:

LDFLAGS=your_flags_here ./configure your_options_here

The run make etc.

-- 
Bojan



Re: apr_reslist semantics

2008-05-12 Thread Bojan Smojver
On Mon, 2008-05-12 at 16:10 -0500, William A. Rowe, Jr. wrote:

 Like Roy, I'm frustrated with aprutil's dependency madness, and I'm working
 right now on abstracting out apu-util into a loadable module.  At this point
 a --with-ldap build on linux FC8 is producing this pile of crap as bindings
 for those applications with no use for ldap;
 
 +libldap-2.3.so.0
 +liblber-2.3.so.0
 +libresolv.so.2
 +libsasl2.so.2
 +libssl.so.6
 +libcrypto.so.6
 +libgssapi_krb5.so.2
 +libkrb5.so.3
 +libcom_err.so.2
 +libk5crypto.so.3
 +libz.so.1
 +libkrb5support.so.0
 +libkeyutils.so.1
 +libselinux.so.1

Aren't these coming from OpenLDAP:
---
$ ldd /usr/lib/libldap.so 
linux-gate.so.1 =  (0x0011)
liblber-2.3.so.0 = /usr/lib/liblber-2.3.so.0 (0x00c83000)
libresolv.so.2 = /lib/libresolv.so.2 (0x005da000)
libsasl2.so.2 = /usr/lib/libsasl2.so.2 (0x02d7f000)
libssl.so.6 = /lib/libssl.so.6 (0x004d1000)
libcrypto.so.6 = /lib/libcrypto.so.6 (0x02fb)
libc.so.6 = /lib/libc.so.6 (0x00744000)
libdl.so.2 = /lib/libdl.so.2 (0x008ca000)
libcrypt.so.1 = /lib/libcrypt.so.1 (0x03c7f000)
libgssapi_krb5.so.2 = /usr/lib/libgssapi_krb5.so.2 (0x00cd5000)
libkrb5.so.3 = /usr/lib/libkrb5.so.3 (0x00d54000)
libcom_err.so.2 = /lib/libcom_err.so.2 (0x00101000)
libk5crypto.so.3 = /usr/lib/libk5crypto.so.3 (0x00cad000)
libz.so.1 = /lib/libz.so.1 (0x008ec000)
/lib/ld-linux.so.2 (0x00721000)
libkrb5support.so.0 = /usr/lib/libkrb5support.so.0 (0x00b34000)
libkeyutils.so.1 = /lib/libkeyutils.so.1 (0x006e4000)
libselinux.so.1 = /lib/libselinux.so.1 (0x00186000)
---

BTW, if you do link to to OpenLDAP on F8, all these things do make sense
to OpenLDAP - they are not useless. Or did I miss something?

-- 
Bojan



Re: apr_reslist semantics

2008-05-12 Thread Bojan Smojver
On Mon, 2008-05-12 at 16:39 -0500, William A. Rowe, Jr. wrote:

 Which is my point, a loadable apr_ldap.so stub which is loaded at runtime
 by applications which need it is the simplest solution.  With the existing
 apr_ldap_init function, this should all be transparent.

Ah, sorry :-( I thought you wanted to avoid linking to these at all -
which of course cannot be done with F8's OpenLDAP.

Please ignore me - ENOCOFFEE :-)

-- 
Bojan



Re: testreslist failure?

2008-05-12 Thread Bojan Smojver
On Mon, 2008-05-12 at 12:45 -0500, William A. Rowe, Jr. wrote:
 Is anyone else seeing testreslist spin for an excessive amount
 of time?  This is on
 
 Linux 2.6.24.5-85.fc8 #1 SMP Sat Apr 19 12:39:34 EDT 2008 i686 i686 i386 
 GNU/Linux

Ditto here (i.e. just confirming your result).

-- 
Bojan



Re: DBD driver license issues (must default to --without-driver)

2008-05-11 Thread Bojan Smojver
On Sun, 2008-05-11 at 21:35 +0200, Ruediger Pluem wrote:

 This already works if you compile apr-util (trunk / 1.3) with
 --enable-dbd-dso

Maybe that should be the default, combined with disabling of
MySQL/Oracle drivers by default due to possible downstream licensing
issues?

-- 
Bojan



Re: DBD driver license issues (must default to --without-driver)

2008-05-11 Thread Bojan Smojver
On Sun, 2008-05-11 at 18:36 -0500, William A. Rowe, Jr. wrote:
 Are there concerns
 that this is either insufficiently portable or stable enough to serve as
 our 1.3 default?

Not sure about portability, but it is as stable as linking the drivers
directly.

-- 
Bojan



Re: DBD driver license issues (must default to --without-driver)

2008-05-11 Thread Bojan Smojver
On Sun, 2008-05-11 at 20:35 -0400, Tom Donovan wrote:

  Maybe that should be the default, combined with disabling of
  MySQL/Oracle drivers by default due to possible downstream licensing
  issues?
 
 I agree that --enable-dbd-dso should be the default (presuming the
 platform supports dso), but not 
 for licensing reasons.

I didn't say that --enable-dbd-dso should be default for licensing
reasons. I said it should be _combined_ with disabling of MySQL/Oracle
drivers by default, which is for licensing reasons.

-- 
Bojan



Re: DBD driver license issues (must default to --without-driver)

2008-05-11 Thread Bojan Smojver
On Sun, 2008-05-11 at 21:08 -0500, William A. Rowe, Jr. wrote:

 Yes - drop any automatically detected dbd provider who's license is more
 restrictive than APR's.  If someone such as a linux distro (GPL) wants
 to turn back on the mysql dbd, this is their prerogative.
 
 And enable dbd-dso by default even without one provider.

In r655174 and r655403 of the trunk now.

-- 
Bojan



Re: DBD driver license issues (must default to --without-driver)

2008-05-11 Thread Bojan Smojver
On Mon, 2008-05-12 at 12:55 +1000, Bojan Smojver wrote:

 In r655174 and r655403 of the trunk now.

Backported to 1.3.x in r655404.

-- 
Bojan



Re: Why the 'size' is aligned twice in apr_pCalloc()

2008-05-11 Thread Bojan Smojver
On Mon, 2008-05-12 at 11:19 +0800, zengwm wrote:

 apr_pCalloc() calls apr_palloc() to do the memory allocation in the
 pool. It aligns the 'size' parameter before calling apr_palloc(). And
 the size is aligned again in apr_palloc().
 
 Why 'size' has to be aligned twice? Can the first alignment ( in
 apr_pCalloc() ) be omitted?
 
 I don't think omitting the first alignment will affect the memset()
 call later in apr_pCalloc(), because, from the users' point of view,
 it's guaranteed that all the memory he can see has been Zero-out.

This may be an artifact of the old implementation of apr_pcalloc(),
which did not call apr_palloc().

I'd be inclined to agree with your reasoning here, but because I didn't
actually implement this function, I don't know if there could be some
hidden reliance on the total aligned size being zeroed here.

Anyone else cares to comment?

-- 
Bojan



Re: DBD driver license issues (must default to --without-driver)

2008-05-10 Thread Bojan Smojver
On Sat, 2008-05-10 at 13:58 -0700, Roy T. Fielding wrote:
 This is a showstopper.  It must be fixed in 1.3.x before release.
 My fix is also incomplete: All of the other DBD drivers that do not have
 redistributable client libraries must also default off.  Oracle is one
 for sure -- I am unaware of the terms for the other drivers.

Quick summary:

- MySQL: GPL licence, allows open source (including APR) to link to it;
people shipping APR inside a proprietary piece of code may be in trouble
for linking to GPL licensed MySQL, better turn it off by default

- FreeTDS: LGPL licence, OK to link to by anyone

- Oracle: proprietary licence, better stay clear to avoid getting
downstream people in trouble by default

- SQLite: public domain, OK to link by anyone

- PostgreSQL: BSD licence, OK to link by anyone

-- 
Bojan



Re: freezing 1.3 tonight

2008-05-01 Thread Bojan Smojver
On Thu, 2008-05-01 at 21:25 +0100, Christopher Key wrote:

 I'm not sure whether this has been covered already, and whether it needs 
 to go in during a major release, but is there any chance of adding 
 apr_int8_t and apr_uint8_t typedefs?

AFAICT, this was left off with Garrett asking for a bug to be filed. If
you do that and attach the patch to it, Bill may be in a better position
to roll with it.

-- 
Bojan



Re: PR #44881

2008-05-01 Thread Bojan Smojver
On Mon, 2008-04-28 at 17:33 -0500, William A. Rowe, Jr. wrote:

 Interesting thought, keep in mind the other half of the issue is the number
 of times we consume generate_random_bytes ourselves from other functions,
 you'll have to suggest which should be pseudo, which should be truly random
 and which should be configurable.

Bill, are we doing something about this before 1.3.0 gets out?

-- 
Bojan



Re: PR #44881

2008-05-01 Thread Bojan Smojver
On Thu, 2008-05-01 at 18:05 -0500, William A. Rowe, Jr. wrote:

 So no, I would not change the manner that UUID's are generated to urandom.
 generate_random_bytes is defined to provide the greatest entropy we can
 obtain.  It is not, after all, generate_psuedorandom_bytes.

OK, thanks. I'll update the bug report.

-- 
Bojan



Re: PR #44881

2008-05-01 Thread Bojan Smojver
On Fri, 2008-05-02 at 02:56 +0300, Lucian Adrian Grijincu wrote:

 1. Some function in APR's uuid generator falls back to rand(3) if
 apr_generate_random_bytes returns an error. ...
 2. E2fsprogs on which other major open source UUID generators are
 supposed to be based on (at least according to
 http://en.wikipedia.org/wiki/UUID) tries to open /dev/urandom first
 and /dev/random second. I don't know if posting the code snniplet here
 is apropiate (licensing reasons).

I was also under the impression that /dev/urandom is good enough for
most stuff and is generally used for things like this these days
(especially because /dev/random blocks). But, I'm not a crypto guy, so
I'll defer all that to someone that has better knowledge of the issues
involved.

-- 
Bojan



Re: Patch for passing NULL as value argument to apr_env_get

2008-04-30 Thread Bojan Smojver
On Tue, 2008-04-29 at 22:41 -0300, César Leonardo Blum Silveira wrote:
 I'm really sorry if this is annoying, but no one gave any feedback on
 this. Hasn't anyone liked the idea? Or maybe I should log this on
 bugzilla?

I think this in unlikely to be included, as it changes the usual APR
behaviour (which is something you noted yourself). Usually, we just let
things segfault if values passed into the function are not correct.

BTW, you can solve your problem by wrapping APR functions into your own,
where you do perform the checks and/or define needed variables
correctly.

-- 
Bojan



Re: Patch for passing NULL as value argument to apr_env_get

2008-04-30 Thread Bojan Smojver
On Wed, 2008-04-30 at 22:51 +0200, Branko Čibej wrote:
 He's proposing to make NULL a 
 well-defined parameter for this function, not an incorrect one.

Yeah, that's another way to see it. I was referring to the current
behaviour, where NULL is considered an incorrect value (together with a
value pointing nowhere), therefore causing a segfault. So, handling NULL
specially is avoiding the segfault.

-- 
Bojan



PR #44881

2008-04-28 Thread Bojan Smojver
Does anyone mind if I apply the fix mentioned in the bug report:

https://issues.apache.org/bugzilla/show_bug.cgi?id=44881

-- 
Bojan



Re: PR #44881

2008-04-28 Thread Bojan Smojver
On Mon, 2008-04-28 at 10:12 -0500, William A. Rowe, Jr. wrote:

 It's a mailing list, please don't make people chase down a link (remember
 some of us read our email detached from the web).  Citing the patch and
 bug's subject is a bare minimum :)

OOPS, sorry :-(

BTW, the same thing was done in Tomcat's Java code, long, long time ago,
because /dev/random would block in exactly the same way.

-- 
Bojan



Re: svn commit: r651704 - in /apr/apr/trunk: file_io/unix/copy.c include/arch/netware/apr_arch_file_io.h include/arch/os2/apr_arch_file_io.h include/arch/unix/apr_arch_file_io.h include/arch/win32/apr

2008-04-25 Thread Bojan Smojver

On Fri, 2008-04-25 at 15:01 -0700, Roy T. Fielding wrote:
 On Apr 25, 2008, at 2:52 PM, [EMAIL PROTECTED] wrote:
 
  == 
  
  --- apr/apr/trunk/file_io/unix/copy.c (original)
  +++ apr/apr/trunk/file_io/unix/copy.c Fri Apr 25 14:52:36 2008
  @@ -54,7 +54,8 @@
 
   /* Copy bytes till the cows come home. */
   while (1) {
  -char buf[APR_BUFSIZ];
  +char buf[BUFSIZ  APR_FILE_DEFAULT_BUFSIZE ? BUFSIZ
  +   :  
  APR_FILE_DEFAULT_BUFSIZE];
 
 I'm not sure that is portable C.  Is the compiler guaranteed to  
 optimize that
 into a constant?

I would think so. BUFSIZ is defined as constant, as well as
APR_FILE_DEFAULT_SIZE. But, I'll check again...

-- 
Bojan



Re: svn commit: r651704 - in /apr/apr/trunk: file_io/unix/copy.c include/arch/netware/apr_arch_file_io.h include/arch/os2/apr_arch_file_io.h include/arch/unix/apr_arch_file_io.h include/arch/win32/apr

2008-04-25 Thread Bojan Smojver
On Sat, 2008-04-26 at 08:07 +1000, Bojan Smojver wrote:

  I'm not sure that is portable C.  Is the compiler guaranteed to  
  optimize that
  into a constant?
 
 I would think so. BUFSIZ is defined as constant, as well as
 APR_FILE_DEFAULT_SIZE. But, I'll check again...

The book says that such expressions _may_ be evaluated during
compilation. So, I guess it is not guaranteed (I would think any modern
compiler would do it, though).

If you wish, I can have the classic #if (the one I did in header files
before) in copy.c. That should make it clear.

-- 
Bojan



Re: svn commit: r651704 - in /apr/apr/trunk: file_io/unix/copy.c include/arch/netware/apr_arch_file_io.h include/arch/os2/apr_arch_file_io.h include/arch/unix/apr_arch_file_io.h include/arch/win32/apr

2008-04-25 Thread Bojan Smojver
On Fri, 2008-04-25 at 15:42 -0700, Roy T. Fielding wrote:

 I just checked by KR 1st edition and it allows constants
 possibly connected by the ternary operator.  So, unless we find a
 specific compiler that doesn't accept it, I think we can leave it as is.

Too late... Already changed :-)

-- 
Bojan



Re: Request for inclusion in 1.2.13/.14 or 1.3.0: Win32 file copy efficiency

2008-04-24 Thread Bojan Smojver
On Thu, 2008-04-24 at 13:08 +1000, Bojan Smojver wrote:

 Maybe we should have a private #define that takes max of
 APR_FILE_DEFAULT_BUFSIZE and BUFSIZ and then uses that instead of just
 BUFSIZ?

For instance...

-- 
Bojan
Index: include/arch/win32/apr_arch_file_io.h
===
--- include/arch/win32/apr_arch_file_io.h	(revision 651151)
+++ include/arch/win32/apr_arch_file_io.h	(working copy)
@@ -86,6 +86,12 @@
 /* For backwards-compat */
 #define APR_FILE_BUFSIZE APR_FILE_DEFAULT_BUFSIZE
 
+#if BUFSIZ  APR_FILE_DEFAULT_BUFSIZE
+#define APR_BUFSIZ BUFSIZ
+#else
+#define APR_BUFSIZ APR_FILE_DEFAULT_BUFSIZE
+#endif
+
 /* obscure ommissions from msvc's sys/stat.h */
 #ifdef _MSC_VER
 #define S_IFIFO_S_IFIFO /* pipe */
Index: include/arch/os2/apr_arch_file_io.h
===
--- include/arch/os2/apr_arch_file_io.h	(revision 651151)
+++ include/arch/os2/apr_arch_file_io.h	(working copy)
@@ -34,6 +34,12 @@
 #define APR_FILE_DEFAULT_BUFSIZE 4096
 #define APR_FILE_BUFSIZE APR_FILE_DEFAULT_BUFSIZE
 
+#if BUFSIZ  APR_FILE_DEFAULT_BUFSIZE
+#define APR_BUFSIZ BUFSIZ
+#else
+#define APR_BUFSIZ APR_FILE_DEFAULT_BUFSIZE
+#endif
+
 struct apr_file_t {
 apr_pool_t *pool;
 HFILE filedes;
Index: include/arch/unix/apr_arch_file_io.h
===
--- include/arch/unix/apr_arch_file_io.h	(revision 651151)
+++ include/arch/unix/apr_arch_file_io.h	(working copy)
@@ -90,6 +90,12 @@
 /* For backwards-compat */
 #define APR_FILE_BUFSIZE  APR_FILE_DEFAULT_BUFSIZE
 
+#if BUFSIZ  APR_FILE_DEFAULT_BUFSIZE
+#define APR_BUFSIZ BUFSIZ
+#else
+#define APR_BUFSIZ APR_FILE_DEFAULT_BUFSIZE
+#endif
+
 struct apr_file_t {
 apr_pool_t *pool;
 int filedes;
Index: include/arch/netware/apr_arch_file_io.h
===
--- include/arch/netware/apr_arch_file_io.h	(revision 651151)
+++ include/arch/netware/apr_arch_file_io.h	(working copy)
@@ -73,6 +73,12 @@
 /* For backwards compat */
 #define APR_FILE_BUFSIZE APR_FILE_DEFAULT_BUFSIZE
 
+#if BUFSIZ  APR_FILE_DEFAULT_BUFSIZE
+#define APR_BUFSIZ BUFSIZ
+#else
+#define APR_BUFSIZ APR_FILE_DEFAULT_BUFSIZE
+#endif
+
 #if APR_HAS_THREADS
 #define file_lock(f)   do { \
if ((f)-thlock) \
Index: file_io/unix/copy.c
===
--- file_io/unix/copy.c	(revision 651151)
+++ file_io/unix/copy.c	(working copy)
@@ -54,7 +54,7 @@
 
 /* Copy bytes till the cows come home. */
 while (1) {
-char buf[BUFSIZ];
+char buf[APR_BUFSIZ];
 apr_size_t bytes_this_time = sizeof(buf);
 apr_status_t read_err;
 apr_status_t write_err;


Re: Request for inclusion in 1.2.13/.14 or 1.3.0: Win32 file copy efficiency

2008-04-24 Thread Bojan Smojver
On Thu, 2008-04-24 at 10:52 +0200, Branko Čibej wrote:
 The copy buffer size should be a different 
 private value.

Feel free to adjust.

Reporter of the bug was happy with 4k - that's how the value was chosen,
a opposed to 512 bytes he'd get on his platform.

-- 
Bojan



Re: Request for inclusion in 1.2.13/.14 or 1.3.0: Win32 file copy efficiency

2008-04-23 Thread Bojan Smojver
On Wed, 2008-04-23 at 21:29 +0200, Erik Huelsmann wrote:

 Performance would benefit greatly from using APR_FILE_BUFSIZE, which
 is defined as 4096 bytes.

I'm not sure if someone is planning to address this for Windows, but
BUFSIZ on glibc systems is 8k and Unix systems seem to have it set to
1k.

Maybe we should have a private #define that takes max of
APR_FILE_DEFAULT_BUFSIZE and BUFSIZ and then uses that instead of just
BUFSIZ?

-- 
Bojan



Re: Rolling APR[-util] 1.3.0

2008-04-11 Thread Bojan Smojver
On Fri, 2008-04-11 at 16:41 +0200, William A. Rowe, Jr. wrote:
 I'd like to proceed with this at the end of the weekend, unless
 there is significant objection that we can't resolve.

+1 and thanks!

-- 
Bojan



Re: apr-util memcache release

2008-04-01 Thread Bojan Smojver
On Tue, 2008-04-01 at 10:49 -0700, David Glasser wrote:

 Is this likely to ever be released in the 0.9 and/or 1.2 branches?

Not likely, because versioning rules forbid that:

http://apr.apache.org/versioning.html

 If
 not, is apr-util 1.3 actively under development?

Yes and it will be released eventually as either 1.3 or 2.0. If 2.0, the
API you see now in trunk may change.

-- 
Bojan



Re: Possible bug in apr_dbd_mysql

2008-01-31 Thread Bojan Smojver
On Thu, 2008-01-31 at 10:36 -0500, Scott Sanders wrote:
  AuthDBDUserPWQuery to SELECT pwd2 FROM users WHERE email=%s AND
 active=1.

It is Apache's mod_authn_dbd that does the above.

 This has got to be a bug in the apr_dbd_mysql code

Could be. It could also be something to do with mod_authn_dbd. Did you
try to run the Apache process through GDB to see what actually makes
authentication succeed?

-- 
Bojan



Re: Problems building apr_dbd_mysql.so

2008-01-30 Thread Bojan Smojver
On Wed, 2008-01-30 at 11:20 -0500, Scott Sanders wrote:

 checking mysql.h usability... yes
 checking mysql.h presence... yes
 checking for mysql.h... yes
 checking for mysql_init in -lmysqlclient_r... no

 ^
 checking mysql/mysql.h usability... yes
 checking mysql/mysql.h presence... yes
 checking for mysql/mysql.h... yes
 checking for mysql_init in -lmysqlclient_r... (cached) no

 ^

Looks like MySQL libraries aren't being found.

-- 
Bojan



Re: [Patch]: Add basic function to APR for LDAP rebind callback support.

2007-11-30 Thread Bojan Smojver

Quoting Paul J. Reder [EMAIL PROTECTED]:


I addressed the comments and haven't heard back from anyone
(Bojan or others). I can't commit to APR and can't commit the
Apache portion until the APR part has been committed. I know
folks were busy with the latest APR update... Has the dust
settled?

Any takers?


I feel reluctant to commit as I'm not overly familiar with design and  
implementation of LDAP support in APU. I'll leave that to folks that  
dealt with LDAP stuff before. Essentially, I just wanted to make sure  
that your patch comes closer to acceptance, so that LDAP folks are  
left with less work before committing.


--
Bojan


Re: APR 2.0 proposals

2007-11-29 Thread Bojan Smojver
On Fri, 2007-11-23 at 10:22 -0600, William A. Rowe, Jr. wrote:
 are we looking at a 1.3 iteration before we
 make such radical changes as 2.0?  If so, when?  I'd love to see 1.3
 come together over the next month or two for those who don't want to
 wait on/depend upon such a major release bump.

I think that would be a good idea, given that 1.3 is compatible with
1.2.

In terms of when, do we know what in 1.3 is in not-to-be-released-yet
status?

-- 
Bojan



Re: database independent connections

2007-11-29 Thread Bojan Smojver
On Thu, 2007-11-29 at 16:43 -0500, Bob Rossi wrote:

 I'm a newb with database connections, so forgive me if this is a simple
 question. I'm looking into using the dbd routines to open connections 
 to a database. The routines are here,
   http://apr.apache.org/docs/apr-util/1.2/group___a_p_r___util___d_b_d.html
 
 I want to know if this interface allows me to easily swap out the
 underlying database so I don't get stuck using a particular database.
 Say perhaps, could the same code use mysql, oracle or db2?
 Also, how does sqlite play into it?

MySQL, yes. Oracle, only with trunk (i.e. unreleased version 1.3 of
APU). DB2, no (feel free to contribute the driver! :-). SQLite 2 and 3,
yes.

Yes, APU DBD is an abstraction layer on top of native database APIs, so
you should be able to use the same code with different databases,
provided that SQL you pump in is supported by databases in question.

 I'm looking for high level advice on how to design software that needs
 to open connections from different sources using the apr API.

You can have a look at the source of mod_dbd of Apache, for instance.

For a quick a dirty intro, look at the test/testdbd.c program in the
tarball of APU.

-- 
Bojan



Re: database independent connections

2007-11-29 Thread Bojan Smojver
On Thu, 2007-11-29 at 17:34 -0500, Bob Rossi wrote:

 OK, perhaps we could have some high level documentation on the webpage
 for the dbd documentation that describes which databases it works with?

http://apr.apache.org/docs/apr-util/1.2/group___a_p_r___util___d_b_d.html#geff12b01f78ac78721acc4a0a318e673
http://apr.apache.org/docs/apr-util/trunk/group___a_p_r___util___d_b_d.html#gbddb1fdcb2f8a5f5b83127485c78e8ae

-- 
Bojan



Re: APR 2.0 proposals

2007-11-26 Thread Bojan Smojver
On Mon, 2007-11-26 at 11:55 -0800, Ryan Phillips wrote:

 What is the benefit in chunking a library?

Lower memory footprint, among other things.

-- 
Bojan



Re: svn commit: r598085 - in /apr/site/trunk/docs: download.html index.html

2007-11-25 Thread Bojan Smojver
On Sun, 2007-11-25 at 23:11 +, [EMAIL PROTECTED] wrote:

  liUnix Source: 

 +a href=[preferred]/apr/apr-0.9.17.tar.gzapr-0.9.17.tar.gz/a 

 +a href=[preferred]/apr/apr-0.9.17.tar.bz2apr-0.9.17.tar.bz2/a 

I can't see these in dist. Have they been copied yet?

-- 
Bojan



Re: [Vote] apr-util-1.2.12 candidate in /dev/dist/

2007-11-21 Thread Bojan Smojver
On Wed, 2007-11-21 at 21:32 +0100, Ruediger Pluem wrote:

 All tests past with the exception of the following error for sqlite2:
 
  prepared select 
 Prepare statement failed!
 (null)
 Error in prepared select: rc=70023
 
  prepared query 
 Prepare statement failed!
 (null)
 Error in prepared query: rc=70023
 
 But this is no regression.

SQLite2 does not support prepared statements.

-- 
Bojan



Re: [Vote] apr-util-1.2.12 candidate in /dev/dist/

2007-11-21 Thread Bojan Smojver
On Tue, 2007-11-20 at 18:45 -0600, William A. Rowe, Jr. wrote:
 Please provide your input to release the tarball candidate
 
[-1] APR-util 1.2.12

Fedora 8, i686 and x86_64, testreslist still hangs exactly the same as
with 1.2.11. I guess r595990 didn't fix that problem after all.

PS. Tested against apr-1.2.12, freshly compiled before apr-util-1.2.12.

-- 
Bojan



Re: [Vote] apr-util-1.2.12 candidate in /dev/dist/

2007-11-21 Thread Bojan Smojver
On Thu, 2007-11-22 at 09:28 +1100, Bojan Smojver wrote:

 I did wait for about 5 minutes before killing it. OK, I'll try again.

Ah, yes. I should have waited another minute!

Passed test on both architectures, so my vote is now +1.

Sorry about the false alarm.

-- 
Bojan



Re: System wide shared library

2007-11-21 Thread Bojan Smojver
On Thu, 2007-11-22 at 00:22 +0200, Graham Leggett wrote:

 Am I correct in understanding this is no longer true (since v1.0)?

At least in Fedora/RHEL, it's been a successful system-wide library for
a long time now.

-- 
Bojan



Re: [Vote] apr-util-1.2.12 candidate in /dev/dist/

2007-11-21 Thread Bojan Smojver
On Thu, 2007-11-22 at 00:25 +0200, Graham Leggett wrote:

 Did it hang, or did you abort before it was done?

I did wait for about 5 minutes before killing it. OK, I'll try again.

-- 
Bojan



Re: cannot commit - no transaction is active

2007-11-19 Thread Bojan Smojver
On Mon, 2007-11-19 at 20:38 +0800, Learning apr wrote:
 I use the function:
 apr_dbd_transaction_start(driver, pool, sql,transaction);
 to start a transaction.
 
 But when I close this transaction with the function:
 apr_dbd_transaction_end(driver, pool, transaction);
 
 It always gives the error message:
 
 cannot commit - no transaction is active
 
 What is the reason?

Hard to say without knowing what driver you're using.

Anyhow, you can always run you code through a debugger and stop to see
what actually happens when you attempt to start/end transaction.

-- 
Bojan



Re: [Votes] Apr candidates in /dev/dist/

2007-11-19 Thread Bojan Smojver
On Mon, 2007-11-19 at 21:47 +0100, Ruediger Pluem wrote:

 I haven't commited for testdate so far.

Yeah, sorry. I confused a patch sent to the list with a commit. I'll
blame it on caffeine deficiency, although old age is more likely ;-)

-- 
Bojan



Re: [Votes] Apr candidates in /dev/dist/

2007-11-18 Thread Bojan Smojver
On Thu, 2007-11-15 at 16:26 -0500, William A. Rowe, Jr. wrote:
 Please provide your input to release.
 
[+1] APR-0.9.17
[+1] APR-1.2.12
[-1] APR-util-1.2.11
[  ] APR-iconv-1.2.1

Fedora 8, i686 and x86_64.

Both apr-0.9.17 and apr-1.2.12 fail SHM tests:

0.9.17:
-
starting consumer.
starting producer.
Name-based shared memory test FAILED: [2] No such file or directory 
Name-based shared memory test FAILED: [2] No such file or directory 
Waiting for producer to exit.
Waiting for consumer to exit.
Destroying shared memory segment...OK
Named shared memory test passed!
-

1.2.12:
-
testshm : FAILED 1 of 6
-

However, there have been comments that this is supposed to be expected
and that there is no fix available at present. So, I guess +1 in that
case.

apr-util-1.2.11 fails with:
-
testdate: FAILED 1 of 2
-

Also, testreslist hangs, just like for some other people.

Given that Ruediger already committed patches for both of these, it
would probably be best to roll again.

-- 
Bojan



Re: [Patch]: Add basic function to APR for LDAP rebind callback support.

2007-11-15 Thread Bojan Smojver

Quoting Paul J. Reder [EMAIL PROTECTED]:


The patches have been updated to address the issues pointed
out below (thanks Bojan).

New contents at the old links:
http://people.apache.org/~rederpj/APR-trunk_rebind.diff
http://people.apache.org/~rederpj/Apache-trunk_rebind.diff


Cool.


Question: To what end? The xref entry isn't of any use to anyone except
in terms of a node in a list that the rebind callback can scan through.
The problem is that the rebind callback function is called from the ldap
library function and has no context related to the original request info
other than the ldap handle passed to it. The xrefs and the list they are
kept in needs to be protected to avoid concurrency issues, and having the
xref pointer doesn't help the rebind callback function since the xref
pointer can't be passed to it. Is there some reason the xref entry would
be of use to the caller that I've not thought of?


Point taken. I didn't actually look into what the patch does when I  
reviewed the code.


--
Bojan


Re: [Patch]: Add basic function to APR for LDAP rebind callback support.

2007-11-14 Thread Bojan Smojver
On Wed, 2007-11-14 at 20:02 -0500, Paul J. Reder wrote:

 The APR portion of the patch:
 
 http://people.apache.org/~rederpj/APR-trunk_rebind.diff

Just a few comments (without going into what the patch does):

- you probably want to rename apr_ldap_init_xref_lock() to
apr_ldap_xref_init() instead

- LDAP_rebindproc() should probably be static

- what happens when apr_ldap_xref_init() gets called again (e.g. by
another Apache module wanting to initialise this subsystem)?

- is it possible to make the API so that xref entry is returned instead
of being stored for the process?

- LDAP_xref_entry_t live is a namespace violation, because it's in a
public header file; should probably be called apr_ldap_xref_entry_t

-- 
Bojan



Re: svn commit: r594037 - in /apr/apr-util/trunk: dbd/apr_dbd.c include/private/apr_dbd_internal.h

2007-11-12 Thread Bojan Smojver
On Tue, 2007-11-13 at 00:21 -0200, Davi Arnaut wrote:

 Missing for the #else case.

Fixed in r594422.

 It's the functions supposed to be publicly used? If yes, you should
 export then properly (apr_dbd.h). If not, it would be better to extend
 apr_dbd_t with lock and unlock methods which can back point to private
 functions.

They are used by the drivers (which are separate .so/.dll files). I
haven't seen any problems on Linux, but apparently on Windows they must
be APU_DECLAREd or they cannot be seen. They should not go in apr_dbd.h
as they have no purpose outside DBD code.

-- 
Bojan



Re: svn commit: r592216 - in /apr/apr/branches/1.2.x: include/apr_file_io.h test/testdir.c

2007-11-05 Thread Bojan Smojver
On Tue, 2007-11-06 at 03:08 +0200, Lucian Adrian Grijincu wrote:

 What purpose does rv =  have in this code?
 the apr_status_t isn't used anywhere in there

A leftover-cut-n-paste purpose? :-)

-- 
Bojan



Re: svn commit: r590501 - in /apr/apr-util/trunk: CHANGES dbd/apr_dbd.c dbd/apr_dbd_freetds.c dbd/apr_dbd_mysql.c dbd/apr_dbd_oracle.c dbd/apr_dbd_pgsql.c dbd/apr_dbd_sqlite2.c dbd/apr_dbd_sqlite3.c i

2007-10-30 Thread Bojan Smojver
On Tue, 2007-10-30 at 22:54 +, [EMAIL PROTECTED] wrote:

 Introduce apr_dbd_open_ex()

Given that nobody complained to the patch I sent to the list a while
ago, I decided to rely on CTR. Please let me know if any breakage was
introduced with this commit.

 NOTE: FreeTDS driver needs to be fixed to use the new error argument

Could someone with knowledge of FreeTDS have a look and implement this
new functionality (i.e. return human readable error on failure). At
present, this new argument is passed to the driver, but it is unused.

-- 
Bojan



Re: [PATCH] apr_dbd_mysql.c

2007-10-20 Thread Bojan Smojver

Quoting Bojan Smojver [EMAIL PROTECTED]:


Perhaps something like this (compiles but untested)...


And, of course, I've forgotten that we now have FreeTDS driver too.

--
Bojan


Re: [PATCH] apr_dbd_mysql.c

2007-10-19 Thread Bojan Smojver
On Fri, 2007-10-19 at 15:05 +1000, Bojan Smojver wrote:

 Yeah, that's been the problem of the 1.2 API. In 1.3, we cannot do it
 with the same function (API/ABI backward compatibility), but we can
 introduce another function (e.g. apr_dbd_open_ex()) that does return an
 error.

Perhaps something like this (compiles but untested)...

-- 
Bojan
Index: include/apr_dbd.h
===
--- include/apr_dbd.h	(revision 586254)
+++ include/apr_dbd.h	(working copy)
@@ -105,6 +105,42 @@
 APU_DECLARE(apr_status_t) apr_dbd_get_driver(apr_pool_t *pool, const char *name,
  const apr_dbd_driver_t **driver);
 
+/** apr_dbd_open_ex: open a connection to a backend
+ *
+ *  @param pool - working pool
+ *  @param params - arguments to driver (implementation-dependent)
+ *  @param handle - pointer to handle to return
+ *  @param driver - driver struct.
+ *  @param error - descriptive error.
+ *  @return APR_SUCCESS for success
+ *  @return APR_EGENERAL if driver exists but connection failed
+ *  @remarks PostgreSQL: the params is passed directly to the PQconnectdb()
+ *  function (check PostgreSQL documentation for more details on the syntax).
+ *  @remarks SQLite2: the params is split on a colon, with the first part used
+ *  as the filename and second part converted to an integer and used as file
+ *  mode.
+ *  @remarks SQLite3: the params is passed directly to the sqlite3_open()
+ *  function as a filename to be opened (check SQLite3 documentation for more
+ *  details).
+ *  @remarks Oracle: the params can have user, pass, dbname and server
+ *  keys, each followed by an equal sign and a value. Such key/value pairs can
+ *  be delimited by space, CR, LF, tab, semicolon, vertical bar or comma.
+ *  @remarks MySQL: the params can have host, port, user, pass,
+ *  dbname, sock, flags fldsz and group keys, each followed by an
+ *  equal sign and a value. Such key/value pairs can be delimited by space,
+ *  CR, LF, tab, semicolon, vertical bar or comma. For now, flags can only
+ *  recognise CLIENT_FOUND_ROWS (check MySQL manual for details). The value
+ *  associated with fldsz determines maximum amount of memory (in bytes) for
+ *  each of the fields in the result set of prepared statements. By default,
+ *  this value is 1 MB. The value associated with group determines which
+ *  group from configuration file to use (see MYSQL_READ_DEFAULT_GROUP option
+ *  of mysql_options() in MySQL manual).
+ */
+APU_DECLARE(apr_status_t) apr_dbd_open_ex(const apr_dbd_driver_t *driver,
+  apr_pool_t *pool, const char *params,
+  apr_dbd_t **handle,
+  const char **error);
+
 /** apr_dbd_open: open a connection to a backend
  *
  *  @param pool - working pool
Index: include/private/apr_dbd_internal.h
===
--- include/private/apr_dbd_internal.h	(revision 586254)
+++ include/private/apr_dbd_internal.h	(working copy)
@@ -62,10 +62,12 @@
  *  a lifetime other than a request
  *
  *  @param pool - a pool to use for error messages (if any).
- *  @param s - server rec managing the underlying connection/pool.
+ *  @param params - connection parameters.
+ *  @param error - descriptive error.
  *  @return database handle, or NULL on error.
  */
-apr_dbd_t *(*open)(apr_pool_t *pool, const char *params);
+apr_dbd_t *(*open)(apr_pool_t *pool, const char *params,
+   const char **error);
 
 /** check_conn: check status of a database connection
  *
Index: dbd/apr_dbd_sqlite2.c
===
--- dbd/apr_dbd_sqlite2.c	(revision 586254)
+++ dbd/apr_dbd_sqlite2.c	(working copy)
@@ -446,8 +446,15 @@
 return trans-mode = (mode  TXN_MODE_BITS);
 }
 
-static apr_dbd_t *dbd_sqlite_open(apr_pool_t * pool, const char *params_)
+static apr_status_t error_free(void *data)
 {
+free(data);
+return APR_SUCCESS;
+}
+
+static apr_dbd_t *dbd_sqlite_open(apr_pool_t * pool, const char *params_,
+  const char **error)
+{
 apr_dbd_t *sql;
 sqlite *conn = NULL;
 char *perm;
@@ -465,8 +472,20 @@
 iperms = atoi(perm);
 }
 
-conn = sqlite_open(params, iperms, NULL);
+if (error) {
+*error = NULL;
 
+conn = sqlite_open(params, iperms, (char **)error);
+
+if (*error) {
+apr_pool_cleanup_register(pool, *error, error_free,
+  apr_pool_cleanup_null);
+}
+}
+else {
+conn = sqlite_open(params, iperms, NULL);
+}
+
 sql = apr_pcalloc(pool, sizeof(*sql));
 sql-conn = conn;
 
Index: dbd/apr_dbd_sqlite3.c
===
--- dbd/apr_dbd_sqlite3.c	(revision

Re: [PATCH] apr_dbd_mysql.c

2007-10-18 Thread Bojan Smojver
On Fri, 2007-10-19 at 14:52 +1000, Ian Holsman wrote:

 yes thats' debugging, but it would be nice to be able to return the 
 error message when it fails to connect. the 'close' after the real_open 
 removes the error so all you get is the internal error code.

Yeah, that's been the problem of the 1.2 API. In 1.3, we cannot do it
with the same function (API/ABI backward compatibility), but we can
introduce another function (e.g. apr_dbd_open_ex()) that does return an
error.
 
 interesting, on OS/X it gets one every time, even running it with -X. 
 (when i specify the groups=xyz in the DBDParam setting)

Your fix has now been committed to both the trunk and 1.2.x, so
hopefully you won't see those segfaults again :-)

-- 
Bojan



Re: [PATCH] apr_dbd_mysql.c

2007-10-18 Thread Bojan Smojver
On Fri, 2007-10-19 at 12:31 +1000, Ian Holsman wrote:

  {flags, NULL},
 +{multi, NULL},

Shouldn't this be part of flags?

+if (fields[8].value != NULL) {
  sql-fldsz = atol(fields[7].value);

The above line should also be patched (i.e. this is now index 8, not 7).

  if(real_conn == NULL) {
 +const char* errstring;
 +errstring =mysql_error(sql-conn);
 +fprintf(stderr, %s\n,errstring);

I'm guessing the above is your private debugging stuff, right?

 @@ -1582,6 +1598,8 @@
  static void dbd_mysql_init(apr_pool_t *pool)
  {
  my_init();
 +mysql_thread_init();

Although I can't see any segfaults on Fedora without this, having it in
doesn't upset it either. So, I think we should commit that.

-- 
Bojan



Re: svn commit: r578076 - /apr/apr-util/trunk/build/dbd.m4

2007-09-30 Thread Bojan Smojver
On Fri, 2007-09-21 at 11:55 +, [EMAIL PROTECTED] wrote:
 Author: jfclere
 Date: Fri Sep 21 04:55:06 2007
 New Revision: 578076
 
 URL: http://svn.apache.org/viewvc?rev=578076view=rev
 Log:
 Oops was using the wrong variable.

Apparently, this and r578028 is causing people to not be able to link
against APU unless libtool is used (e.g. when building PHP,
http://news.php.net/php.general/262438). Could you have a look please?

-- 
Bojan



Re: is my apr-util causing downstream bad magic number error?

2007-09-25 Thread Bojan Smojver
On Mon, 2007-09-24 at 22:27 -0700, Aliya Harbouri wrote:

 I'm suspicious of that
 /usr/local/mysql/lib/mysql/libmysqlclient_r.la; I expected just
 -lmysqlclient_r.

That was a recent addition to the trunk. I'm thinking PHP probably isn't
using libtool for linking there and it's trying to link a text file
(.la), which obviously isn't going to work.

I reckon we should not be exporting this in dbd.m4. Jean-Frederic, could
you have a look?

-- 
Bojan



Re: svn commit: r577654 - /apr/apr-util/trunk/build/dbd.m4

2007-09-20 Thread Bojan Smojver
On Thu, 2007-09-20 at 09:39 +, [EMAIL PROTECTED] wrote:
 Author: jfclere
 Date: Thu Sep 20 02:39:27 2007
 New Revision: 577654
 
 URL: http://svn.apache.org/viewvc?rev=577654view=rev
 Log:
 Use the mysql libtool library when available.
 (Otherwise it breaks on one of the HP-UX where I am testing).

The second hunk (@@ -158,6 +164,12 @@) doesn't seem correct. The value
of $withval at that point is yes, so the code is looking for the
presence of yes/lib/mysql/libmysqlclient_r.la or
yes/lib/libmysqlclient_r.la.

-- 
Bojan



Re: netinet/sctp.h: present but cannot be compiled

2007-09-17 Thread Bojan Smojver
On Mon, 2007-09-17 at 12:29 -0700, Kristis Makris wrote:

 checking netinet/sctp.h usability... no

Can you have a look in config.log to see what actually happened at the
above points of configuration? There will be some output about what
failed exactly.

-- 
Bojan



Re: netinet/sctp.h: present but cannot be compiled

2007-09-17 Thread Bojan Smojver
On Mon, 2007-09-17 at 16:06 -0700, Kristis Makris wrote:

 I see the following. Perhaps I'm missing some headers ?? 

There is a macro called APR_FLAG_HEADERS that checks various headers
(called from configure.in, defined in build/apr_common.m4), which
doesn't seem to be taking into account the fact that one may need to
have additional includes for a header to compile. So, the compilation
fails.

However, there is another macro, APR_CHECK_SCTP (defined in
build/apr_network.m4) which is called later in configure.in. Maybe we
should be calling AC_CHECK_HEADERS here instead, with correct includes
this time. Does anyone have a comment on this?

Anyhow, does that second check for SCTP work for you?

-- 
Bojan



Re: netinet/sctp.h: present but cannot be compiled

2007-09-17 Thread Bojan Smojver
On Mon, 2007-09-17 at 16:57 -0700, Kristis Makris wrote:

 I don't know. But APR_CHECK_SCTP is indeed called, so the results should
 be in the attached config.log.

Seems to be OK:
---
configure:41928: checking whether SCTP is supported
configure:41970: gcc -o conftest -g -O2 -DSOLARIS2=10
-D_POSIX_PTHREAD_SEMANTICS
 -D_REENTRANT -D_LARGEFILE64_SOURCE  conftest.c -luuid -lsendfile -lrt
-lsocket 
-lnsl  -lpthread 5
configure:41973: $? = 0
configure:41975: ./conftest
configure:41978: $? = 0
configure:41992: result: yes
---

So, I think you can safely ignore the first warning. It is caused by a
bulk test for existence of headers, which doesn't take into account
particulars of compilation requirements. My bet is that APR_CHECK_SCTP
exists precisely to remedy that.

-- 
Bojan



Re: Problems with testdate

2007-09-13 Thread Bojan Smojver
On Thu, 2007-09-13 at 09:14 +0100, Joe Orton wrote:

 It looks like the range of the test is supposed to be limited by that of 
 a 32-bit time_t, given the range of dates in year2secs.  If you make 
 that array simply an array of time_t or apr_int32_t, and drop the 
 INT64_C() casts, does it work?

The problem is in the second test, where this table isn't used.

The value of guess comes from the lgc() function, which can return
values that are out of range (time_t is signed 32-bit number and lgc()
returns unsigned values). Of course, guess, being apr_time_t, happily
holds whatever apr_uint32_t can muster and more...

-- 
Bojan



Re: Outdated documentation on http://apr.apache.org/docs/apr/

2007-09-10 Thread Bojan Smojver
On Sat, 2007-09-08 at 22:04 +0300, Lucian Adrian Grijincu wrote:

 Can't this be automated (aka, when a new tag in 1.2 or 0.9 is created
 to update the docs and when a commit in trunk/include takes place to
 update the docs?

I guess it could be automated. I just logged into my account on
people.apache.org to verify if doxygen was present there, but it doesn't
seem to be...

So, for now, I'll just generate the docs by hand and upload them.

-- 
Bojan



Re: svn commit: r572642 - in /apr/apr-util/trunk: CHANGES INSTALL.MySQL build/dbd.m4 configure.in dbd/apr_dbd_freetds.c dbd/apr_dbd_mysql.c

2007-09-09 Thread Bojan Smojver
On Sun, 2007-09-09 at 15:03 -0700, Sander Temme wrote:

 ./config.nice --with-mysql=/usr

Yeah, that's pretty much like the default, as long as /usr/bin is in
your path (which on most system it is).

 ./config.nice --with-mysql=/usr/bin/mysql_config

That won't work. You cannot point to the config script, only to
location.

Let me ask the question differently. What's the location of MySQL
libraries, include files and configuration script that you'd like to
pick up?

-- 
Bojan



Problems with testdate

2007-09-09 Thread Bojan Smojver
Just bumped into this today, but it seems that in function
gm_timestr_822() of testdate.c, we are stuffing a 64-bit value
(apr_time_t) into something may be a lot shorter (time_t). So, errors
start occurring and test fails (Fedora 7, i686). I was thinking that we
should patch the test along the lines of the attached.

Thoughts?

-- 
Bojan
Index: test/testdate.c
===
--- test/testdate.c	(revision 574110)
+++ test/testdate.c	(working copy)
@@ -161,7 +161,14 @@
 guess = lgc(guess);
 if (guess  0)
 guess *= -1;
-secstodate = guess + offset;
+
+/* make sure it fits into time_t */
+secstodate = (time_t)(guess + offset);
+
+/* and is positive, taking into account we could be at _MIN */
+if (secstodate  0)
+secstodate = -(secstodate + 1);
+
 gm_timestr_822(datestr, secstodate);
 secstodate *= APR_USEC_PER_SEC;
 newsecs = apr_date_parse_http(datestr);


Re: svn commit: r574113 - /apr/apr/trunk/test/Makefile.in

2007-09-09 Thread Bojan Smojver
On Sun, 2007-09-09 at 21:35 -0700, Sander Temme wrote:

 Aaaah!  What about the other tests later in the sequence?  Usually  
 test targets complete every test, regardless of failures.

The problem was that nobody ever knew that any of the tests actually
failed, because make wouldn't stop.

The idea, as understand it, is that if you run make, things should run
from beginning to end, unattended. If tests fail midway through the run,
then obviously things aren't working and they need attention. Each
tester can then get into test directory and run other tests from the
sequence by hand, if desired/required.

-- 
Bojan



Re: svn commit: r574113 - /apr/apr/trunk/test/Makefile.in

2007-09-09 Thread Bojan Smojver
On Mon, 2007-09-10 at 14:53 +1000, Bojan Smojver wrote:

 The problem was that nobody ever knew that any of the tests actually
 failed, because make wouldn't stop.

http://issues.apache.org/bugzilla/show_bug.cgi?id=42725

-- 
Bojan



Re: svn commit: r574113 - /apr/apr/trunk/test/Makefile.in

2007-09-09 Thread Bojan Smojver
On Mon, 2007-09-10 at 00:03 -0500, William A. Rowe, Jr. wrote:
 The full list of failures should be reported, otherwise
 you only discover the first flaw and have no clue of the scope of the issue.

OK, we can do that too, it's not difficult.

-- 
Bojan



Re: svn commit: r574135 - in /apr/apr-util/trunk/test: Makefile.in testdate.c

2007-09-09 Thread Bojan Smojver
On Mon, 2007-09-10 at 05:32 +, [EMAIL PROTECTED] wrote:

 Modified: apr/apr-util/trunk/test/testdate.c

Reverted in r574137. This was committed by accident.

-- 
Bojan



Re: svn commit: r574113 - /apr/apr/trunk/test/Makefile.in

2007-09-09 Thread Bojan Smojver
On Sun, 2007-09-09 at 22:15 -0700, Sander Temme wrote:

 Make shouldn't stop, but run all the tests, quietly, and, if there  
 are failures, emit a list of those failures and fail the target.  At  
 the end, not at the first failure.

Hopefully r574134/5 should be better. Any dramas, let me know.

-- 
Bojan



Re: svn commit: r572642 - in /apr/apr-util/trunk: CHANGES INSTALL.MySQL build/dbd.m4 configure.in dbd/apr_dbd_freetds.c dbd/apr_dbd_mysql.c

2007-09-07 Thread Bojan Smojver
On Fri, 2007-09-07 at 12:38 -0700, Sander Temme wrote:

 If you look at the (long) link line at the bottom, you'll see that  
 it's picking up -L/usr/lib/mysql -lmysqlclient_r , and the root cause  
 of that is probably somewhere in configure where it decides to use  
 the system MySQL despite the fact that we have one of our own.

Is that with --with-mysql=/your/own/location/of/mysql? Or without that?

-- 
Bojan



Re: svn commit: r573063 - in /apr/apr-util/branches/1.2.x: CHANGES INSTALL.MySQL build/dbd.m4 dbd/apr_dbd_mysql.c

2007-09-05 Thread Bojan Smojver
On Wed, 2007-09-05 at 17:07 -0500, William A. Rowe, Jr. wrote:

 I'm just pondering, does this violate our ABI rules?

Possibly. On the other hand, people that have been plonking the MySQL
driver and compiling the result (for which we provided the harness)
would have had that problem already.

We can avoid the problem (to some extent) by not detecting/compiling
MySQL driver by default, but the moment someone turns that feature on
(whether in 1.2.11 or in previous versions by adding the driver),
they'll face the same problem.

-- 
Bojan



Re: svn commit: r573063 - in /apr/apr-util/branches/1.2.x: CHANGES INSTALL.MySQL build/dbd.m4 dbd/apr_dbd_mysql.c

2007-09-05 Thread Bojan Smojver
On Thu, 2007-09-06 at 00:02 +0100, Nick Kew wrote:

 Aha!  Yes, I think that was the plan when we discussed dropping the
 mysql driver in.  Default it to off in the build, and alert users to
 the fact.

Shall do.

-- 
Bojan



Re: New DBD drivers

2007-09-04 Thread Bojan Smojver
On Tue, 2007-09-04 at 14:12 +0100, Nick Kew wrote:

 apr_dbd_mysql is the familiar MySQL driver.

Wonderful! Thanks Nick!

I'm working on cleaning up the checked in driver (trunk) from all that
stuff (i.e. #ifdef's etc.) that is 1.2.x specific. At the same time, if
there is support for this, I can backport similarly cleaned (just in the
opposite direction) driver to 1.2.x.

-- 
Bojan



Re: New DBD drivers

2007-09-04 Thread Bojan Smojver
On Wed, 2007-09-05 at 10:52 +1000, Bojan Smojver wrote:
 At the same time, if
 there is support for this, I can backport similarly cleaned (just in the
 opposite direction) driver to 1.2.x.

Ready to commit, just say the word :-)

-- 
Bojan



<    1   2   3   4   5   6   7   8   9   10   >