diff options
author | osa <osa@FreeBSD.org> | 2009-12-25 17:53:04 +0800 |
---|---|---|
committer | osa <osa@FreeBSD.org> | 2009-12-25 17:53:04 +0800 |
commit | 1efae565a39393ccac78b092252060784e5aca98 (patch) | |
tree | 0a48bdde532a042137904e6d0d5e4242e15e0b7b /www/nginx-devel/files | |
parent | 2920086ba3c603ade0fddb234bf53db1a7a31af5 (diff) | |
download | freebsd-ports-gnome-1efae565a39393ccac78b092252060784e5aca98.tar.gz freebsd-ports-gnome-1efae565a39393ccac78b092252060784e5aca98.tar.zst freebsd-ports-gnome-1efae565a39393ccac78b092252060784e5aca98.zip |
Improve redis protocol support.
Do not bump PORTREVISION.
Diffstat (limited to 'www/nginx-devel/files')
-rw-r--r-- | www/nginx-devel/files/extra-patch-ngx_http_redis_module.c | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/www/nginx-devel/files/extra-patch-ngx_http_redis_module.c b/www/nginx-devel/files/extra-patch-ngx_http_redis_module.c new file mode 100644 index 000000000000..57d944b6d3a0 --- /dev/null +++ b/www/nginx-devel/files/extra-patch-ngx_http_redis_module.c @@ -0,0 +1,45 @@ +--- ../ngx_http_redis-0.3.0/ngx_http_redis_module.c.orig 2009-12-23 16:55:12.000000000 +0300 ++++ ../ngx_http_redis-0.3.0/ngx_http_redis_module.c 2009-12-24 18:09:13.000000000 +0300 +@@ -343,17 +343,29 @@ + ngx_http_redis_process_header(ngx_http_request_t *r) + { + u_char *p, *len; +- u_int c = 0; ++ u_int c, try; + ngx_str_t line; + ngx_http_upstream_t *u; + ngx_http_redis_ctx_t *ctx; + ++ c = try = 0; ++ + u = r->upstream; + ++ p = u->buffer.pos; ++ ++ if (*p == '+') { ++ try = 2; ++ } else if (*p == '-') { ++ try = 1; ++ } else { ++ goto no_valid; ++ } ++ + for (p = u->buffer.pos; p < u->buffer.last; p++) { + if (*p == LF) { + c++; +- if (c == 2) { ++ if (c == try) { + goto found; + } + } +@@ -379,8 +391,8 @@ + ngx_log_error(NGX_LOG_INFO, r->connection->log, 0, + "error was received from redis"); + +- u->headers_in.status_n = 404; +- u->state->status = 404; ++ u->headers_in.status_n = 502; ++ u->state->status = 502; + + return NGX_OK; + } |