OSDN Git Service

* use default ca.
authorkonn <konn@1a406e8e-add9-4483-a2c8-d8cac5b7c224>
Sat, 20 Sep 2008 16:23:17 +0000 (16:23 +0000)
committerkonn <konn@1a406e8e-add9-4483-a2c8-d8cac5b7c224>
Sat, 20 Sep 2008 16:23:17 +0000 (16:23 +0000)
  * added -fPIC flag.

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

src/Makefile.am
src/Makefile.in
src/chxj_serf.c

index 3359cf6..5d4bcac 100644 (file)
@@ -50,7 +50,7 @@ make_so:
        @if test ! -L mod_chxj.so ; then ln -s .libs/libmod_chxj.so mod_chxj.so ; fi
 
 serf/libserf-0.la:
-       (cd serf; CFLAGS=-fPIC ./configure --enable-shared --with-apr=`dirname @APR_CONFIG@` --with-apr-util=`dirname @APU_CONFIG@`; make)
+       (cd serf; CFLAGS=-fPIC CXXFLAGS=-fPIC ./configure --enable-shared --with-apr=`dirname @APR_CONFIG@` --with-apr-util=`dirname @APU_CONFIG@`; make)
 
 clean:
        rm -fr .libs
index 63c6914..5c4cac0 100644 (file)
@@ -859,7 +859,7 @@ make_so:
        @if test ! -L mod_chxj.so ; then ln -s .libs/libmod_chxj.so mod_chxj.so ; fi
 
 serf/libserf-0.la:
-       (cd serf; CFLAGS=-fPIC ./configure --enable-shared --with-apr=`dirname @APR_CONFIG@` --with-apr-util=`dirname @APU_CONFIG@`; make)
+       (cd serf; CFLAGS=-fPIC CXXFLAGS=-fPIC ./configure --enable-shared --with-apr=`dirname @APR_CONFIG@` --with-apr-util=`dirname @APU_CONFIG@`; make)
 
 clean:
        rm -fr .libs
index 0b5f026..d5d59ae 100644 (file)
@@ -82,6 +82,8 @@ s_connection_setup(apr_socket_t *skt, void *setup_ctx, apr_pool_t *UNUSED(pool))
     c = serf_bucket_ssl_decrypt_create(c, ctx->ssl_ctx, ctx->bkt_alloc);
     if (!ctx->ssl_ctx) {
       ctx->ssl_ctx = serf_bucket_ssl_decrypt_context_get(c);
+      serf_ssl_use_default_certificates(ctx->ssl_ctx);
+      serf_ssl_server_cert_callback_set(ctx->ssl_ctx, NULL, NULL);
     }
     return c;
   }
@@ -109,7 +111,7 @@ s_accept_response(serf_request_t *request, serf_bucket_t *stream, void *UNUSED(a
 
 
 static apr_status_t 
-s_handle_response(serf_request_t *UNUSED(request), serf_bucket_t *response, void *handler_ctx, apr_pool_t *pool)
+s_handle_response(serf_request_t *UNUSED(request), serf_bucket_t *response, void *handler_ctx, apr_pool_t *UNUSED(pool))
 {
   const char      *data;
   apr_size_t      len;
@@ -135,21 +137,29 @@ s_handle_response(serf_request_t *UNUSED(request), serf_bucket_t *response, void
       apr_atomic_dec32(&ctx->requests_outstanding);
       return rv;
     }
-
-    if (! ctx->response) {
-      ctx->response = apr_palloc(pool, len);
-      ctx->response[0] = 0;
-      ctx->response_len = 0;
+    if (APR_STATUS_IS_EAGAIN(rv)) {
+      /* 0 byte return if EAGAIN returned. */
+      DBG(ctx->r, "REQ[%X] end of s_handle_response() (EAGAIN) len:[%d]", (unsigned int)(apr_size_t)ctx->r, (int)len);
+      return rv;
     }
-    else {
-      char *tmp = apr_palloc(pool, ctx->response_len);
-      memcpy(tmp, ctx->response, ctx->response_len);
-      ctx->response = apr_palloc(pool, ctx->response_len + len);
-      memcpy(ctx->response, tmp, ctx->response_len);
+
+    if (len > 0) {
+      if (! ctx->response) {
+        ctx->response = apr_palloc(ctx->pool, len);
+        ctx->response[0] = 0;
+        ctx->response_len = 0;
+      }
+      else {
+        char *tmp = apr_palloc(ctx->pool, ctx->response_len);
+        memcpy(tmp, ctx->response, ctx->response_len);
+        ctx->response = apr_palloc(ctx->pool, ctx->response_len + len);
+        memcpy(ctx->response, tmp, ctx->response_len);
+      }
+      memcpy(&ctx->response[ctx->response_len], data, len);
+      ctx->response_len += len;
+      ctx->response[ctx->response_len] = 0;
     }
     
-    memcpy(&ctx->response[ctx->response_len], data, len);
-    ctx->response_len += len;
     if (APR_STATUS_IS_EOF(rv)) {
       serf_bucket_t *hdrs;
       char *tmp_headers = "";
@@ -227,13 +237,16 @@ s_setup_request(serf_request_t           *request,
   apr_table_entry_t  *hentryp = (apr_table_entry_t*)headers->elts;
   for (ii=headers->nelts-1; ii>=0; ii--) {
     serf_bucket_headers_setc(hdrs_bkt, hentryp[ii].key, hentryp[ii].val);
-    DBG(ctx->r, "key:[%s], val:[%s]", hentryp[ii].key, hentryp[ii].val);
+    DBG(ctx->r, "REQ[%X] REQUEST key:[%s], val:[%s]", (unsigned int)(apr_size_t)ctx->r, hentryp[ii].key, hentryp[ii].val);
   }
   if (ctx->post_data) {
     serf_bucket_headers_setc(hdrs_bkt, "X-Chxj-Forward", "Done");
-    serf_bucket_headers_setc(hdrs_bkt, "X-Chxj-Content-Length", apr_psprintf(r->pool, "%d", ctx->post_data_len));
+    serf_bucket_headers_setc(hdrs_bkt, "X-Chxj-Content-Length", apr_psprintf(r->pool, "%" APR_SIZE_T_FMT , ctx->post_data_len));
+    DBG(ctx->r, "REQ[%X] REQUEST key:[%s], val:[%s]", (unsigned int)(apr_size_t)ctx->r, "X-Chxj-Forward", "Done");
+    DBG(ctx->r, "REQ[%X] REQUEST key:[%s], val:[%s]", (unsigned int)(apr_size_t)ctx->r, "X-Chxj-Content-Length", apr_psprintf(r->pool, "%" APR_SIZE_T_FMT, ctx->post_data_len));
+
   }
-  DBG(ctx->r, "Content-Length:[%s]", serf_bucket_headers_get(hdrs_bkt, "Content-Length"));
+  DBG(ctx->r, "REQ[%X] REQUEST Content-Length:[%s]", (unsigned int)(apr_size_t)r, serf_bucket_headers_get(hdrs_bkt, "Content-Length"));
 
   apr_atomic_inc32(&(ctx->requests_outstanding));
   if (ctx->acceptor_ctx->ssl_flag) {
@@ -445,7 +458,7 @@ default_chxj_serf_post(request_rec *r, apr_pool_t *ppool, const char *url_path,
   }
 
   DBG(r, "end of serf request");
-  DBG(r, "response:[%s][%d]", handler_ctx.response, handler_ctx.response_len);
+  DBG(r, "response:[%s][%" APR_SIZE_T_FMT "]", handler_ctx.response, handler_ctx.response_len);
   serf_connection_close(connection);
   ret = apr_pstrdup(ppool, handler_ctx.response);
   if (set_headers_flag) {