https://bz.apache.org/bugzilla/show_bug.cgi?id=51904
--- Comment #2 from [email protected] --- / 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 <[email protected]> /+ 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: [email protected] For additional commands, e-mail: [email protected]
