- Content-Type is not seen when there is Location header.
* Fixed Bug.
- Cookie is deleted though it is not CookieOn.
+ (Reported by isssk. Thanks!)
- Fixed url dencode bug.
+ - received SIGSEGV when connection was refused within libserf-0.2.0.
+ (Reported by kamiya. Thanks!)
-- Atsushi Konno <konn@users.sourceforge.jp> Mon, 15 Jun 2009 09:48:10 +0900
- Content-Type is not seen when there is Location header.
* Fixed Bug.
- Cookie is deleted though it is not CookieOn.
+ (Reported by isssk. Thanks!)
- Fixed url dencode bug.
+ - received SIGSEGV when connection was refused within libserf-0.2.0.
+ (Reported by kamiya. Thanks!)
-- Atsushi Konno <konn@users.sourceforge.jp> Mon, 15 Jun 2009 09:48:10 +0900
- Content-Type is not seen when there is Location header.
* Fixed Bug.
- Cookie is deleted though it is not CookieOn.
+ (Reported by isssk. Thanks!)
- Fixed url dencode bug.
+ - received SIGSEGV when connection was refused within libserf-0.2.0.
+ (Reported by kamiya. Thanks!)
-- Atsushi Konno <konn@users.sourceforge.jp> Mon, 15 Jun 2009 09:48:10 +0900
else {
ret = apr_pstrdup(ppool, "");
}
- if (set_headers_flag) {
+ if (set_headers_flag && !rv) {
r->headers_out = apr_table_copy(pool, handler_ctx.headers_out);
*response_len = handler_ctx.response_len;
char *contentType = (char *)apr_table_get(handler_ctx.headers_out, "Content-Type");
chxj_set_content_type(r, apr_pstrdup(r->pool, contentType));
}
}
+ if (rv) {
+ *response_len = 0;
+ }
*response_code = handler_ctx.response_code;
DBG(r, "REQ:[%X] end chxj_serf_post()", (unsigned int)(apr_size_t)r);
return ret;
static int bio_bucket_write(BIO *bio, const char *in, int inl)
{
serf_ssl_context_t *ctx = bio->ptr;
- serf_bucket_t *tmp;
+ serf_bucket_t *tmp = NULL;
#ifdef SSL_VERBOSE
printf("bio_bucket_write called for %d bytes\n", inl);
#endif
BIO_clear_retry_flags(bio);
- tmp = serf_bucket_simple_copy_create(in, inl,
- ctx->encrypt.pending->allocator);
-
- serf_bucket_aggregate_append(ctx->encrypt.pending, tmp);
-
- return inl;
+ if (ctx && ctx->encrypt.pending && ctx->encrypt.pending->allocator) {
+ tmp = serf_bucket_simple_copy_create(in, inl,
+ ctx->encrypt.pending->allocator);
+ serf_bucket_aggregate_append(ctx->encrypt.pending, tmp);
+ return inl;
+ }
+ return 0;
}
/* Returns the amount read. */