You are viewing a plain text version of this content. The canonical link for it is here.
Posted to bugs@httpd.apache.org by bu...@apache.org on 2020/01/31 00:44:19 UTC

[Bug 51904] output to stderr from cgi script causes script to hang *during uploads*

https://bz.apache.org/bugzilla/show_bug.cgi?id=51904

--- Comment #2 from sugar666.sin@gmail.com ---
/  3. The names of the authors may not be used to endorse or promote products
/-        b->last = ngx_http_v2_write_value(b->last, glcf->host.data,
/+    if (ctx == NULL) {
/     u->input_filter = ngx_http_grpc_filter;
/-    ngx_url_t                  u;
/+        } else {
/ #endif
/+    ngx_array_t               *grpc_lengths;
/ } ngx_http_grpc_frame_t;
/+        if (tmp_len < ctx->host.len) {
/+        u->resolved->socklen = url.addrs[0].socklen;
/-    u->ssl = (glcf->upstream.ssl != NULL);
/+    } else if (url.url.len > 8
/+    size_t                add;
/+        sc.values = &glcf->grpc_values;
/+        len += 1 + NGX_HTTP_V2_INT_OCTETS + ctx->host.len;
/     ngx_memzero(&e, sizeof(ngx_http_script_engine_t));
/+        && ngx_strncasecmp(url.url.data, (u_char *) "grpc:/", 7) == 0)
/-        clcf->auto_redirect = 1;
/+                            glcf->grpc_values->elts)
/+    ngx_url_t             url;
/-    clcf = ngx_http_conf_get_module_loc_conf(cf, ngx_http_core_module);
/+        u->schema.len = add;
/help
/ }
/ {
/-#else
/     glcf = ngx_http_get_module_loc_conf(r, ngx_http_grpc_module);
/     ngx_http_request_t        *request;
/zip
/@@ -785,7 +901,7 @@
/-    if (glcf->upstream.upstream) {
/     u->input_filter_ctx = ctx;
/+            ctx->host = url.host;
/+    ctx = ngx_http_get_module_ctx(r, ngx_http_grpc_module);
/+        url.url.len -= add;
/tags
/+        u->resolved->name = url.addrs[0].name;
/     u->input_filter_init = ngx_http_grpc_filter_init;
/line wrap: on
/     ngx_str_t                  host;
/         add = 7;
/+        u->schema.data = url.url.data;
/+    ctx = ngx_pcalloc(r->pool, sizeof(ngx_http_grpc_ctx_t));
/     ngx_list_part_t              *part;
/@@ -587,6 +700,7 @@
/-        return NGX_HTTP_INTERNAL_SERVER_ERROR;
/ line diff
/storage/3A44-B2FD/Huawei/Backup/HUAWEI P20
lite__2abb397af5ec3900bd08a331900bfd66075cd1687341ebcafb6049563b997df7/media/doc/Android/data/com.android.gallery3d/files/Log/hwid_advanced_log.txt
/+        r->upstream->ssl = 1;
/Redistribution and use in source and binary forms, with or without
/+    if (clcf->noname
/@@ -4537,18 +4661,54 @@
/+    ngx_url_t                   u;
/author Vladimir Homutov <vl...@nginx.com>
/+        u->ssl = (glcf->upstream.ssl != NULL);
/  1. Redistributions of source code must retain the above copyright notice,
/     u_char                       *p, *tmp, *key_tmp, *val_tmp,
*headers_frame;
/THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
/-                       "grpc header: \":authority: %V\"", &glcf->host);
/+    if (n) {
/+    url.no_resolve = 1;
/-    ctx->request = r;
/Mercurial > nginx
/+}
/-    ctx = ngx_pcalloc(r->pool, sizeof(ngx_http_grpc_ctx_t));
/         *b->last++ = ngx_http_v2_inc_indexed(NGX_HTTP_V2_AUTHORITY_INDEX);
/+{
/children       
/+    return NGX_OK;
/+    if (glcf->upstream.upstream || glcf->grpc_lengths) {
/-        ngx_str_set(&u->schema, "grpcs:/");
/+        clcf->auto_redirect = 1;
/         return "is duplicate";
/-    ngx_str_t                 *value, *url;
/@@ -119,6 +122,8 @@
/+    if (add) {
/     notice, this list of conditions and the following disclaimer in 
/INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
/+    u->resolved->port = url.port;
/+        conf->grpc_lengths = prev->grpc_lengths;
/ static ngx_int_t ngx_http_grpc_reinit_request(ngx_http_request_t *r);
/         ngx_log_debug0(NGX_LOG_DEBUG_HTTP, r->connection->log, 0,
/+            ngx_str_set(&u->schema, "grpcs:/");
/ } ngx_http_grpc_ctx_t;
/     this list of conditions and the following disclaimer.
/+    if (u->ssl) {
/     ngx_http_grpc_frame_t        *f;
/INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
/     ngx_http_upstream_t          *u;
/-    ngx_http_core_loc_conf_t  *clcf;
/+    ngx_str_t                  *value, *url;
/+        url.url.data += add;
/         *b->last++ = ngx_http_v2_indexed(NGX_HTTP_V2_SCHEME_HTTPS_INDEX);
/         ngx_log_debug1(NGX_LOG_DEBUG_HTTP, r->connection->log, 0,
/+    ngx_http_core_loc_conf_t   *clcf;
/+    ngx_http_set_ctx(r, ctx, ngx_http_grpc_module);
/+        if (u->ssl) {
/-    if (ctx == NULL) {
/+    ngx_http_upstream_t  *u;
/FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL JCRAFT,
/+                          "%s in upstream \"%V\"", url.err, &url.url);
/         conf->host = prev->host;
/     /* :authority header *
/changeset 7619:6439ef81e37d tip
/     ngx_uint_t                 host_set;
/     u->output.tag = (ngx_buf_tag_t) &ngx_http_grpc_module;
/     ngx_http_grpc_loc_conf_t *glcf = conf;
/+        conf->grpc_values = prev->grpc_values;
/+            ngx_str_set(&u->schema, "grpc:/");
/-    }
/+        if (ngx_http_grpc_eval(r, ctx, glcf) != NGX_OK) {
/-    if (clcf->lmt_excpt && clcf->handler == NULL && conf->upstream.upstream)
{
/     if (!glcf->host_set) {
/gz
/+               && ngx_strncasecmp(url.url.data, (u_char *) "grpcs:/", 8) ==
0)
/+        b->last = ngx_http_v2_write_value(b->last, ctx->host.data,
/+        ngx_str_set(&ctx->host, "localhost");
/+        return NGX_HTTP_INTERNAL_SERVER_ERROR;
/+    if (ngx_parse_url(r->pool, &url) != NGX_OK) {
/@@ -4593,14 +4753,6 @@
/     derived from this software without specific prior written permission.
/@@ -4319,15 +4435,23 @@
/+    if (glcf->grpc_lengths == NULL) {
/+        return NGX_CONF_OK;
/@@ -135,6 +140,8 @@
/-        if (tmp_len < glcf->host.len) {
/+    u->resolved = ngx_pcalloc(r->pool, sizeof(ngx_http_upstream_resolved_t));
/--- a/src/http/modules/ngx_http_grpc_module.c  Tue Jan 14 14:20:08 2020 +0300
/@@ -577,6 +593,103 @@
/+        ngx_str_set(&u->schema, "grpc:/");
/+    ctx->request = r;
/     url = &value[1];
/-    clcf->handler = ngx_http_grpc_handler;
/+    clcf = ngx_http_conf_get_module_loc_conf(cf, ngx_http_core_module);
/-        len += 1 + NGX_HTTP_V2_INT_OCTETS + glcf->host.len;
/over to a BSD-style license. 
/+    if (url.family != AF_UNIX) {
/+            ctx->host.data = url.host.data;
/+        if (ngx_http_script_compile(&sc) != NGX_OK) {
/+        sc.complete_lengths = 1;
/+    n = ngx_http_script_variables_count(url);
/+    if (url.url.len > 7
/         return NGX_HTTP_INTERNAL_SERVER_ERROR;
/-            tmp_len = glcf->host.len;
/-    if (u->ssl) {
/-        ngx_str_set(&u->schema, "grpc:/");
/         conf->upstream.ssl = prev->upstream.ssl;
/diffstat       1 files changed, 193 insertions(+), 41 deletions(-) [+]
/+    ngx_http_script_compile_t   sc;
/+        sc.lengths = &glcf->grpc_lengths;
/         }
/     return NGX_CONF_OK;
/+        u->resolved->sockaddr = url.addrs[0].sockaddr;
/+#if (NGX_HTTP_SSL)
/changeset
/     ngx_uint_t                 ssl;
/+    ngx_array_t               *grpc_values;
/-    if (clcf->noname && conf->upstream.upstream == NULL) {
/gRPC: variables support in the "grpc_pass" directive.
/+                       "grpc header: \":authority: %V\"", &ctx->host);
/     len = sizeof(ngx_http_grpc_connection_start) - 1
/+    if (url.addrs) {
/     ngx_table_elt_t              *header;
/@@ -637,10 +753,10 @@
/+        add = 0;
/+#else
/-    ngx_str_set(&u->schema, "grpc:/");
/     u->finalize_request = ngx_http_grpc_finalize_request;
/@@ -598,6 +712,8 @@
/     ngx_chain_t                  *cl, *body;
/+        ngx_log_error(NGX_LOG_ERR, r->connection->log, 0,
/     } else {
/+        }
/+++ b/src/http/modules/ngx_http_grpc_module.c  Fri Jan 17 12:13:02 2020 +0300
/+        sc.source = url;
/-    ngx_http_set_ctx(r, ctx, ngx_http_grpc_module);
/+    u->resolved->no_port = url.no_port;
/     value = cf->args->elts;
/+        glcf->ssl = 1;
/  2. Redistributions in binary form must reproduce the above copyright 
/------------------------------------------------------------------------------
/     u = r->upstream;
/OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
/+            return NGX_HTTP_INTERNAL_SERVER_ERROR;
/+            ngx_log_error(NGX_LOG_ERR, r->connection->log, 0,
/+        ngx_memzero(&sc, sizeof(ngx_http_script_compile_t));
/+    ngx_http_grpc_loc_conf_t *glcf)
/+    ngx_str_t                  host;
/date   Fri, 17 Jan 2020 12:13:02 +0300 (3 days ago)
/+    if (clcf->name.len && clcf->name.data[clcf->name.len - 1] == '/') {
/ static ngx_int_t ngx_http_grpc_body_output_filter(void *data, ngx_chain_t
*in);
/-                                          glcf->host.len, tmp);
/+        && (conf->upstream.upstream || conf->grpc_lengths))
/-#endif
/         clcf->handler = ngx_http_grpc_handler;
/     unsigned                   status:1;
/Copyright (c) 2000-2011 ymnk, JCraft,Inc. All rights reserved.
/parents        8a7b59347401
/     if (ngx_strncasecmp(url->data, (u_char *) "grpc:/", 7) == 0) {
/+        == NULL)
/+            ctx->host.len = url.host.len + 1 + url.port_text.len;
/+    ngx_uint_t                  n;
/bookmarks
/+            return NGX_CONF_ERROR;
/LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
/ ngx_http_grpc_create_request(ngx_http_request_t *r)
/-    size_t                     add;
/+#endif
/@@ -27,6 +27,9 @@
/+                      "grpcs protocol requires SSL support");
/files  src/http/modules/ngx_http_grpc_module.c
/@@ -551,15 +576,6 @@
/log
/+    ngx_memzero(&url, sizeof(ngx_url_t));
/+    if (ngx_http_script_run(r, &url.url, glcf->grpc_lengths->elts, 0,
/+        sc.complete_values = 1;
/         conf->upstream.upstream = prev->upstream.upstream;
/@@ -846,11 +962,11 @@
/           + sizeof(ngx_http_grpc_frame_t);             /* headers frame *
/+    size_t                      add;
/+        sc.cf = cf;
/EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
/LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
/+    ngx_http_grpc_ctx_t *ctx, ngx_http_grpc_loc_conf_t *glcf);
/raw
/     ngx_http_script_code_pt       code;
/modification, are permitted provided that the following conditions are met:
/+static ngx_int_t
/+    }
/+        && conf->upstream.upstream == NULL && conf->grpc_lengths == NULL)
/+        u->resolved->naddrs = 1;
/+    {
/INC. OR ANY CONTRIBUTORS TO THIS SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT,
/+            tmp_len = ctx->host.len;
/         ngx_str_set(&glcf->host, "localhost");
/+        sc.variables = n;
/ static ngx_int_t
/NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
/+ngx_http_grpc_eval(ngx_http_request_t *r, ngx_http_grpc_ctx_t *ctx,
/ #if (NGX_HTTP_SSL)
/+        return NGX_ERROR;
/+static ngx_int_t ngx_http_grpc_eval(ngx_http_request_t *r,
/-
/@@ -524,22 +531,40 @@
/+    if (clcf->lmt_excpt && clcf->handler == NULL
/     ngx_uint_t                 ssl_protocols;
/+
/+    u = r->upstream;
/+    ngx_http_grpc_ctx_t          *ctx;
/     the documentation and/or other materials provided with the distribution.
/+    } else {
/+                                          ctx->host.len, tmp);
/     u->abort_request = ngx_http_grpc_abort_request;
/JZlib 0.0.* were released under the GNU LGPL license.  Later, we have switched 
/ 
/+        add = 8;
/-    if (clcf->name.len && clcf->name.data[clcf->name.len - 1] == '/') {
/graph
/branches
/+    clcf->handler = ngx_http_grpc_handler;
/+        if (url.err) {
/-    if (glcf->ssl) {
/+    u->resolved->host = url.host;
/+    if (u->resolved == NULL) {
/     }
/+        ctx->host = glcf->host;
/+        if (url.no_port) {
/     clcf = ngx_http_conf_get_module_loc_conf(cf, ngx_http_core_module);
/browse
/+        add = 7;
/ static ngx_int_t ngx_http_grpc_create_request(ngx_http_request_t *r);

-- 
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: bugs-unsubscribe@httpd.apache.org
For additional commands, e-mail: bugs-help@httpd.apache.org