OSDN Git Service

* merge from 0.12.38
[modchxj/mod_chxj.git] / src / chxj_dbm.c
index 3f475f0..2307a22 100644 (file)
@@ -40,27 +40,32 @@ chxj_save_cookie_dbm(request_rec *r, mod_chxj_config *m, const char *cookie_id,
   apr_dbm_t           *f;
   apr_file_t          *file;
 
-  DBG(r, "start chxj_save_cookie_dbm() cookie_id:[%s]", cookie_id);
+  DBG(r, "REQ[%X] start chxj_save_cookie_dbm() cookie_id:[%s]", TO_ADDR(r), cookie_id);
 
   file = chxj_cookie_db_lock(r);
   if (! file) {
-    ERR(r, "mod_chxj: Can't lock cookie db");
-    DBG(r, "end chxj_save_cookie_dbm() cookie_id:[%s]", cookie_id);
+    ERR(r, "%s:%d REQ[%X] mod_chxj: Can't lock cookie db", __FILE__,__LINE__,TO_ADDR(r));
+    DBG(r, "REQ[%X] end chxj_save_cookie_dbm() cookie_id:[%s]", TO_ADDR(r), cookie_id);
     return CHXJ_FALSE;
   }
 
   retval = apr_dbm_open_ex(&f,
-                           "default",
+                           (m->cookie_dbm_type) ? m->cookie_dbm_type : "default",
                            chxj_cookie_db_name_create(r, m->cookie_db_dir),
                            APR_DBM_RWCREATE,
                            APR_OS_DEFAULT,
                            r->pool);
   if (retval != APR_SUCCESS) {
-    ERR(r, "could not open dbm (type %s) auth file: %s",
-            "default",
-            chxj_cookie_db_name_create(r,m->cookie_db_dir));
+    char errstr[256];
+    ERR(r, "%s:%d could not open dbm (type %s) auth file: %s(%d:%s)",
+            __FILE__,
+            __LINE__,
+            (m->cookie_dbm_type) ? m->cookie_dbm_type : "default",
+            chxj_cookie_db_name_create(r,m->cookie_db_dir),
+            retval,
+            apr_strerror(retval, errstr, 255));
     chxj_cookie_db_unlock(r, file);
-    DBG(r, "end chxj_save_cookie_dbm() cookie_id:[%s]", cookie_id);
+    DBG(r, "REQ[%X] end chxj_save_cookie_dbm() cookie_id:[%s]", TO_ADDR(r), cookie_id);
     return CHXJ_FALSE;
   }
 
@@ -79,17 +84,25 @@ chxj_save_cookie_dbm(request_rec *r, mod_chxj_config *m, const char *cookie_id,
    */
   retval = apr_dbm_store(f, dbmkey, dbmval);
   if (retval != APR_SUCCESS) {
-    ERR(r, "Cannot store Cookie data to DBM file `%s'",
-            chxj_cookie_db_name_create(r, m->cookie_db_dir));
+    char errstr[256];
+    ERR(r, "%s:%d Cannot store Cookie data to DBM file `%s' tye:[%s] (%d:%s) key:[%s] val:[%s]",
+            __FILE__,
+            __LINE__,
+            chxj_cookie_db_name_create(r, m->cookie_db_dir),
+            (m->cookie_dbm_type) ? m->cookie_dbm_type : "default",
+            retval,
+            apr_strerror(retval, errstr, 255), 
+            dbmkey.dptr,
+            dbmval.dptr);
     apr_dbm_close(f);
     chxj_cookie_db_unlock(r, file);
-    DBG(r, "end chxj_save_cookie_dbm() cookie_id:[%s]", cookie_id);
+    DBG(r, "REQ[%X] end chxj_save_cookie_dbm() cookie_id:[%s]", TO_ADDR(r), cookie_id);
     return CHXJ_FALSE;
   }
 
   apr_dbm_close(f);
   chxj_cookie_db_unlock(r, file);
-  DBG(r, "end chxj_save_cookie_dbm() cookie_id:[%s]", cookie_id);
+  DBG(r, "REQ[%X] end chxj_save_cookie_dbm() cookie_id:[%s]", TO_ADDR(r), cookie_id);
   return CHXJ_TRUE;
 }
 
@@ -166,25 +179,21 @@ char *
 chxj_cookie_db_lock_name_create(request_rec *r, const char *dir)
 {
   char *dst;
-  DBG(r, "start  chxj_cookie_db_lock_name_create()");
+  DBG(r, "REQ[%X] start  chxj_cookie_db_lock_name_create()", TO_ADDR(r));
 
   if (!dir) {
-    DBG(r, " ");
     dst = apr_pstrdup(r->pool, DEFAULT_COOKIE_DB_DIR);
-    DBG(r, " ");
   }
   else {
     dst = apr_pstrdup(r->pool, dir);
-    DBG(r, " ");
   }
-  DBG(r, "dst[strlen(dst)-1]=[%c]", dst[strlen(dst)-1]);
   if (dst[strlen(dst)-1] != '/') {
     dst = apr_pstrcat(r->pool, dst, "/", COOKIE_DB_LOCK_NAME, NULL);
   }
   else {
     dst = apr_pstrcat(r->pool, dst, COOKIE_DB_LOCK_NAME, NULL);
   }
-  DBG(r, "end  chxj_cookie_db_lock_name_create()");
+  DBG(r, "REQ[%X] end  chxj_cookie_db_lock_name_create()", TO_ADDR(r));
   return dst;
 }
 
@@ -298,14 +307,14 @@ chxj_update_cookie_dbm(request_rec *r, mod_chxj_config *m, const char *cookie_id
   }
 
   retval = apr_dbm_open_ex(&f,
-                           "default",
+                           (m->cookie_dbm_type) ? m->cookie_dbm_type : "default",
                            chxj_cookie_db_name_create(r, m->cookie_db_dir),
                            APR_DBM_RWCREATE,
                            APR_OS_DEFAULT,
                            r->pool);
   if (retval != APR_SUCCESS) {
     ERR(r, "could not open dbm (type %s) auth file: %s",
-            "default",
+            (m->cookie_dbm_type) ? m->cookie_dbm_type : "default",
             chxj_cookie_db_name_create(r,m->cookie_db_dir));
     chxj_cookie_db_unlock(r, file);
     DBG(r, "end   chxj_update_cookie_dbm() cookie_id:[%s]", cookie_id);
@@ -331,8 +340,16 @@ chxj_update_cookie_dbm(request_rec *r, mod_chxj_config *m, const char *cookie_id
    */
   retval = apr_dbm_store(f, dbmkey, dbmval);
   if (retval != APR_SUCCESS) {
-    ERR(r, "Cannot store Cookie data to DBM file `%s'",
-            chxj_cookie_db_name_create(r, m->cookie_db_dir));
+    char errstr[256];
+    ERR(r, "%s:%d Cannot store Cookie data to DBM file `%s' tye:[%s] (%d:%s) key:[%s] val:[%s]",
+            __FILE__,
+            __LINE__,
+            chxj_cookie_db_name_create(r, m->cookie_db_dir),
+            (m->cookie_dbm_type) ? m->cookie_dbm_type : "default",
+            retval,
+            apr_strerror(retval, errstr, 255), 
+            dbmkey.dptr,
+            dbmval.dptr);
     apr_dbm_close(f);
     chxj_cookie_db_unlock(r, file);
     DBG(r, "end   chxj_update_cookie_dbm() cookie_id:[%s]", cookie_id);
@@ -355,27 +372,32 @@ chxj_load_cookie_dbm(request_rec *r, mod_chxj_config *m, const char *cookie_id)
   apr_datum_t             dbmval;
   apr_datum_t             dbmkey;
 
-  DBG(r, "start chxj_load_cookie_dbm() cookie_id:[%s]", cookie_id);
+  DBG(r, "REQ[%X] start chxj_load_cookie_dbm() cookie_id:[%s]", TO_ADDR(r), cookie_id);
   file = chxj_cookie_db_lock(r);
   if (! file) {
-    ERR(r, "mod_chxj: Can't lock cookie db");
-    DBG(r, "end   chxj_load_cookie_dbm() cookie_id:[%s]", cookie_id);
+    ERR(r, "REQ[%X] mod_chxj: Can't lock cookie db", TO_ADDR(r));
+    DBG(r, "REQ[%X] end   chxj_load_cookie_dbm() cookie_id:[%s]", TO_ADDR(r), cookie_id);
     return NULL;
   }
 
   retval = apr_dbm_open_ex(&f,
-                           "default",
+                           (m->cookie_dbm_type) ? m->cookie_dbm_type : "default",
                            chxj_cookie_db_name_create(r, m->cookie_db_dir),
                            APR_DBM_RWCREATE,
                            APR_OS_DEFAULT,
                            r->pool);
   if (retval != APR_SUCCESS) {
+    char errstr[256];
     ERR(r,
-         "could not open dbm (type %s) auth file: %s",
-         "default",
-         chxj_cookie_db_name_create(r, m->cookie_db_dir));
+         "%s:%d could not open dbm (type %s) auth file: %s (%d:%s)",
+         __FILE__,
+         __LINE__,
+          (m->cookie_dbm_type) ? m->cookie_dbm_type : "default",
+         chxj_cookie_db_name_create(r, m->cookie_db_dir),
+         retval,
+         apr_strerror(retval, errstr, 255));
     chxj_cookie_db_unlock(r, file);
-    DBG(r, "end   chxj_load_cookie_dbm() cookie_id:[%s]", cookie_id);
+    DBG(r, "TO_REQ[%X] end   chxj_load_cookie_dbm() cookie_id:[%s]", TO_ADDR(r), cookie_id);
     return NULL;
   }
 
@@ -388,12 +410,18 @@ chxj_load_cookie_dbm(request_rec *r, mod_chxj_config *m, const char *cookie_id)
   if (apr_dbm_exists(f, dbmkey)) {
     retval = apr_dbm_fetch(f, dbmkey, &dbmval);
     if (retval != APR_SUCCESS) {
+      char errstr[256];
       ERR(r,
-           "could not fetch dbm (type %s) auth file: %s", "default",
-           chxj_cookie_db_name_create(r, m->cookie_db_dir));
+          "%s:%d could not fetch dbm (type %s) auth file: %s(%d:%s)",
+          __FILE__,
+          __LINE__,
+          (m->cookie_dbm_type) ? m->cookie_dbm_type : "default",
+          chxj_cookie_db_name_create(r, m->cookie_db_dir),
+          retval,
+          apr_strerror(retval, errstr, 255));
       apr_dbm_close(f);
       chxj_cookie_db_unlock(r, file);
-      DBG(r, "end   chxj_load_cookie_dbm() cookie_id:[%s]", cookie_id);
+      DBG(r, "REQ[%X] end   chxj_load_cookie_dbm() cookie_id:[%s]", TO_ADDR(r), cookie_id);
       return NULL;
     }
     load_string = apr_palloc(r->pool, dbmval.dsize+1);
@@ -401,9 +429,13 @@ chxj_load_cookie_dbm(request_rec *r, mod_chxj_config *m, const char *cookie_id)
     memset(load_string, 0, dbmval.dsize+1);
     memcpy(load_string, dbmval.dptr, dbmval.dsize);
   }
+  else {
+    DBG(r, "REQ[%X] Not Found cookie_id:[%s]", TO_ADDR(r), cookie_id);
+    load_string = apr_pstrdup(r->pool, "");
+  }
   apr_dbm_close(f);
   chxj_cookie_db_unlock(r, file);
-  DBG(r, "end   chxj_load_cookie_dbm() cookie_id:[%s]", cookie_id);
+  DBG(r, "REQ[%X] end   chxj_load_cookie_dbm() cookie_id:[%s]", TO_ADDR(r), cookie_id);
   return load_string;
 }
 
@@ -425,7 +457,7 @@ chxj_delete_cookie_dbm(request_rec *r, mod_chxj_config *m, const char *cookie_id
   }
 
   retval = apr_dbm_open_ex(&f,
-                           "default",
+                           (m->cookie_dbm_type) ? m->cookie_dbm_type : "default",
                            chxj_cookie_db_name_create(r, m->cookie_db_dir),
                            APR_DBM_RWCREATE,
                            APR_OS_DEFAULT,
@@ -433,7 +465,7 @@ chxj_delete_cookie_dbm(request_rec *r, mod_chxj_config *m, const char *cookie_id
   if (retval != APR_SUCCESS) {
     ERR(r,
          "could not open dbm (type %s) auth file: %s",
-         "default",
+         (m->cookie_dbm_type) ? m->cookie_dbm_type : "default",
          chxj_cookie_db_name_create(r,m->cookie_db_dir));
     chxj_cookie_db_unlock(r, file);
     DBG(r, "end   chxj_delete_cookie_dbm() cookie_id:[%s]", cookie_id);
@@ -474,14 +506,14 @@ chxj_save_cookie_expire_dbm(request_rec *r, mod_chxj_config *m, const char *cook
   }
 
   retval = apr_dbm_open_ex(&f, 
-                           "default", 
+                           (m->cookie_dbm_type) ? m->cookie_dbm_type : "default",
                            chxj_cookie_expire_db_name_create(r, m->cookie_db_dir), 
                            APR_DBM_RWCREATE, 
                            APR_OS_DEFAULT, 
                            r->pool);
   if (retval != APR_SUCCESS) {
     ERR(r, "could not open dbm (type %s) auth file: %s", 
-            "default", 
+            (m->cookie_dbm_type) ? m->cookie_dbm_type : "default",
             chxj_cookie_expire_db_name_create(r,m->cookie_db_dir));
     chxj_cookie_expire_db_unlock(r, file);
     DBG(r, "end   chxj_save_cookie_expire_dbm() cookie_id:[%s]", cookie_id);
@@ -540,7 +572,7 @@ chxj_delete_cookie_expire_dbm(request_rec *r, mod_chxj_config *m, const char *co
     return CHXJ_FALSE;
   }
   retval = apr_dbm_open_ex(&f,
-                           "default",
+                           (m->cookie_dbm_type) ? m->cookie_dbm_type : "default",
                            chxj_cookie_expire_db_name_create(r, m->cookie_db_dir),
                            APR_DBM_RWCREATE,
                            APR_OS_DEFAULT,
@@ -548,7 +580,7 @@ chxj_delete_cookie_expire_dbm(request_rec *r, mod_chxj_config *m, const char *co
   if (retval != APR_SUCCESS) {
     ERR(r,
          "could not open dbm (type %s) auth file: %s",
-         "default",
+         (m->cookie_dbm_type) ? m->cookie_dbm_type : "default",
          chxj_cookie_expire_db_name_create(r,m->cookie_db_dir));
     chxj_cookie_expire_db_unlock(r, file);
     DBG(r, "end   chxj_delete_cookie_expire_dbm() cookie_id:[%s]", cookie_id);
@@ -591,7 +623,7 @@ chxj_cookie_expire_gc_dbm(request_rec *r, mod_chxj_config *m)
   }
 
   retval = apr_dbm_open_ex(&f,
-                           "default",
+                           (m->cookie_dbm_type) ? m->cookie_dbm_type : "default",
                            chxj_cookie_expire_db_name_create(r, m->cookie_db_dir),
                            APR_DBM_RWCREATE,
                            APR_OS_DEFAULT,
@@ -599,7 +631,7 @@ chxj_cookie_expire_gc_dbm(request_rec *r, mod_chxj_config *m)
   if (retval != APR_SUCCESS) {
     ERR(r, 
          "could not open dbm (type %s) auth file: %s", 
-         "default", 
+         (m->cookie_dbm_type) ? m->cookie_dbm_type : "default",
          chxj_cookie_expire_db_name_create(r,m->cookie_db_dir));
     chxj_cookie_expire_db_unlock(r, file);
     DBG(r, "end   chxj_cookie_expire_gc_dbm()");