OSDN Git Service

* Fixed Bug.
authorkonn <konn@1a406e8e-add9-4483-a2c8-d8cac5b7c224>
Thu, 6 Nov 2008 16:22:52 +0000 (16:22 +0000)
committerkonn <konn@1a406e8e-add9-4483-a2c8-d8cac5b7c224>
Thu, 6 Nov 2008 16:22:52 +0000 (16:22 +0000)
    - #13938

git-svn-id: svn+ssh://svn.sourceforge.jp/svnroot/modchxj/mod_chxj/branches/RELEASE_0_12_0@3610 1a406e8e-add9-4483-a2c8-d8cac5b7c224

src/chxj_cookie.c
src/mod_chxj.c

index 51ac197..afaac49 100644 (file)
@@ -281,8 +281,14 @@ chxj_save_cookie(request_rec *r)
     cookie->cookie_id = apr_pstrdup(r->pool, old_cookie_id);
   }
   else {
-    DBG(r, "REQ[%X] NO LAZY COOKIE save",(unsigned int)(apr_size_t)r);
-    cookie->cookie_id = alloc_cookie_id(r);
+    if (old_cookie_id && apr_table_get(r->headers_in, "X-Chxj-Forward")) {
+      DBG(r, "REQ[%X] NO LAZY COOKIE(X-Chxj-Forward)  save",(unsigned int)(apr_size_t)r);
+      cookie->cookie_id = apr_pstrdup(r->pool, old_cookie_id);
+    }
+    else {
+      DBG(r, "REQ[%X] NO LAZY COOKIE save",(unsigned int)(apr_size_t)r);
+      cookie->cookie_id = alloc_cookie_id(r);
+    }
   }
 
   DBG(r, "REQ[%X] TYPE:[%d]", (unsigned int)(apr_size_t)r, dconf->cookie_store_type);
index 3ba4eb3..0bd853a 100644 (file)
@@ -558,7 +558,7 @@ chxj_convert_input_header(request_rec *r,chxjconvrule_entry *entryp)
         cookie = chxj_load_cookie(r, value);
         DBG(r, "REQ[%X] call end   chxj_load_cookie()", (unsigned int)(apr_size_t)r);
         if (! no_update_flag && cookie) {
-          chxj_update_cookie(r, cookie);
+          cookie = chxj_update_cookie(r, cookie);
         }
         chxj_cookie_unlock(r, lock);
       }
@@ -745,7 +745,7 @@ chxj_input_convert(
         cookie = chxj_load_cookie(r, value);
         DBG(r, "REQ[%X] call end   chxj_load_cookie()", (unsigned int)(apr_size_t)r);
         if (! no_update_flag && cookie) {
-          chxj_update_cookie(r, cookie);
+          cookie = chxj_update_cookie(r, cookie);
         }
         chxj_cookie_unlock(r, lock);
       }
@@ -1251,11 +1251,7 @@ chxj_input_handler(request_rec *r)
     url_path = apr_psprintf(pool, "%s%s", dconf->forward_url_base, r->uri);
   }
   else {
-#if 0
-    url_path = apr_psprintf(pool, "%s://%s:%d%s", chxj_apache_run_http_scheme(r), ap_get_server_name(r), ap_get_server_port(r), r->uri);
-#else
     url_path = apr_psprintf(pool, "%s://%s:%d%s", chxj_apache_run_http_scheme(r), "127.0.0.1", ap_get_server_port(r), r->uri);
-#endif
   }
   if (r->args) {
     url_path = apr_pstrcat(pool, url_path, "?", r->args, NULL);