[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#680993: libaprutil1-dbd-mysql: AuthDBDUserPWQuery (Module mod_dbd.c) for MySQL doesn't allow SQL statement with a stored procedure



On Monday 09 July 2012, pgr.sikkin wrote:
> 
> The apache log
> [Mon Jul 09 20:22:57 2012] [error] [client 192.168.2.241] Query
> execution error looking up 'test.example' in database
> 

Can you try the attached patch and see if it gives you a better error 
message in the log? Alternatively, I have put the mod_authn_dbd.so 
compiled for i386 here:

http://people.debian.org/~sf/680993/mod_authn_dbd.so

$ sha256sum mod_authn_dbd.so
88ee23e8f0cb1b6d775babc86be55300c2517228dab035a60f1a06439c062b61  
mod_authn_dbd.so

Cheers,
Stefan
diff --git a/modules/aaa/mod_authn_dbd.c b/modules/aaa/mod_authn_dbd.c
index 3341171..2ee7a44 100644
--- a/modules/aaa/mod_authn_dbd.c
+++ b/modules/aaa/mod_authn_dbd.c
@@ -92,6 +92,7 @@ static authn_status authn_dbd_password(request_rec *r, const char *user,
     apr_dbd_prepared_t *statement;
     apr_dbd_results_t *res = NULL;
     apr_dbd_row_t *row = NULL;
+    int ret;
 
     authn_dbd_conf *conf = ap_get_module_config(r->per_dir_config,
                                                 &authn_dbd_module);
@@ -116,11 +117,12 @@ static authn_status authn_dbd_password(request_rec *r, const char *user,
                       "AuthDBDUserPWQuery with the key '%s'", conf->user);
         return AUTH_GENERAL_ERROR;
     }
-    if (apr_dbd_pvselect(dbd->driver, r->pool, dbd->handle, &res, statement,
-                              0, user, NULL) != 0) {
+    if ((ret = apr_dbd_pvselect(dbd->driver, r->pool, dbd->handle, &res,
+                                statement, 0, user, NULL)) != 0) {
         ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, r,
                       "Query execution error looking up '%s' "
-                      "in database", user);
+                      "in database: %s",
+                      user, apr_dbd_error(dbd->driver, dbd->handle, ret));
         return AUTH_GENERAL_ERROR;
     }
     for (rv = apr_dbd_get_row(dbd->driver, r->pool, res, &row, -1);

Attachment: signature.asc
Description: This is a digitally signed message part.


Reply to: