Hi, Here's a similar ticket in another OSS. https://github.com/bellard/quickjs/issues/225#issuecomment-1908279228 > QuickJS may pass NULL pointers to memcpy with zero size. The C spec tells it is an undefined behavior but most C code do it, so the spec should be fixed instead. On Wed, Jan 24, 2024 at 4:57 PM Maxim Dounin <mdounin@mdounin.ru> wrote: > Hello! > > On Wed, Jan 2by karton - Nginx Development
Hi, I wonder if the `ngx_http_headers_out` variable is being used? If yes, what is it for? ``` /* src/http/ngx_http_header_filter_module.c */ ngx_http_header_out_t ngx_http_headers_out[] = { { ngx_string("Server"), offsetof(ngx_http_headers_out_t, server) }, { ngx_string("Date"), offsetof(ngx_http_headers_out_t, date) }, @@ -151,6 +152,7 @@ { ngx_null_stringby karton - Nginx Development
Great job, the patch works well. On Fri, Aug 16, 2019 at 10:24 PM Roman Arutyunyan <arut@nginx.com> wrote: > Hi, > > On Wed, Jul 24, 2019 at 11:47:19AM +0800, 洪志道 wrote: > > Hi, I found an issue with the patch. > > > > 1. Reproduce > > (/usr/local/nginx/html/5M.txt, Just making `ngx_http_set_write_handler` > be > > called.) > > > &gby karton - Nginx Development
Hi, I found an issue with the patch. 1. Reproduce (/usr/local/nginx/html/5M.txt, Just making `ngx_http_set_write_handler` be called.) telnet localhost 80 GET /5M.txt HTTP/1.1 HOST: 1.1.1.1 -- response-- GET /5M.txt HTTP/1.1 HOST: 1.1.1.1 --50 error-- /* happened in keepalive */ 2. Reason It happens in the case of keepalive. Since `ngx_http_set_write_handler` is called, c->write is activeby karton - Nginx Development
Thanks again. On Mon, Jul 22, 2019 at 10:05 PM Roman Arutyunyan <arut@nginx.com> wrote: > Hi, > > On Sat, Jul 20, 2019 at 09:44:25AM +0800, 洪志道 wrote: > > > The patch wasn't updated since that but I suspect it could be still > > applied to nginx, maybe with some minor tweaks. > > > > We still appreciate your work. > > > > BTW, are the pby karton - Nginx Development
> The patch wasn't updated since that but I suspect it could be still applied to nginx, maybe with some minor tweaks. We still appreciate your work. BTW, are the patches in the attachment up to date? If not, can you share the latest patch? We are happy to apply it and feedback if possible. When there are many static files and accesses, do you think it will works very well? On Sat, Jul 20, 20by karton - Nginx Development
Hi. Will this patch be merged into the main branch? What is the latest patch? We can help with the test. Thanks. On Sat, Feb 9, 2019 at 6:40 AM Ka-Hing Cheung via nginx-devel < nginx-devel@nginx.org> wrote: > Unfortunately our test colo is not setup to do performance testing > (the traffic it receives varies too much). We do intend to merge this > to our production colos but thereby karton - Nginx Development
Get it, thanks for your explanation. I faced it by the following usage of lua, and I think it's resonable for developers. location /test { content_by_lua_block { local res = ngx.location.capture("/other"); -- post subrequest } } location /other { access_by_lua_block { ... } } It's ok for us to replace it with rewrite. Anyway, do you still think it's better tby karton - Nginx Development
Hi. I'm wondering the reason of ignoring subrequests in access phase hander. Can anyone explain it to me? 1069 ngx_int_t 1070 ngx_http_core_access_phase(ngx_http_request_t *r, ngx_http_phase_handler_t *ph) 1071 { 1072 ngx_int_t rc; 1073 ngx_http_core_loc_conf_t *clcf; 1074 1075 if (r != r->main) { 1076 r->phase_handler = ph->next; 1077 returby karton - Nginx Development
Hi. There are three ways we used. 1. Checking nginx processes. ps -Af | grep nginx 2. Checking pid file. /usr/local/nginx/logs/nginx.pid 3. service nginx status | grep running. I'm wondering which is the best way? Or any other suggestion? Thanks. _______________________________________________ nginx-devel mailing list nginx-devel@nginx.org http://mailman.nginx.org/mailman/listinfo/by karton - Nginx Development
Get it, I'll try it, thank you again. On Thu, Jul 12, 2018 at 1:02 AM Maxim Dounin <mdounin@mdounin.ru> wrote: > Hello! > > On Wed, Jul 11, 2018 at 08:56:56PM +0800, 洪志道 wrote: > > > But there are still some clients use the old version. > > Is it a way to be compatible with it? > > Or other suggestions? > > @Maxim Dounin <mdounin@mdounin.ru>by karton - Nginx Development
Thank you. But there are still some clients use the old version. Is it a way to be compatible with it? Or other suggestions? @Maxim Dounin <mdounin@mdounin.ru> On Wed, Jul 11, 2018 at 5:43 PM tokers <zchao1995@gmail.com> wrote: > Hello! > > There is a known issue caused by some obsolete client like old version > okhttp (incomplete protocol implements). > Here is theby karton - Nginx Development
BTW. It works well by the temporary fix. --- a/src/http/v2/ngx_http_v2_filter_module.c +++ b/src/http/v2/ngx_http_v2_filter_module.c @@ -446,7 +446,6 @@ ngx_http_v2_header_filter(ngx_http_request_t *r) if (h2c->table_update) { ngx_log_debug0(NGX_LOG_DEBUG_HTTP, fc->log, 0, "http2 table size update: 0"); - *pos++ = (1 << 5) | 0;by karton - Nginx Development
Hi. The client can't load the image served by nginx-1.13.6+. It works well in nginx-1.13.5, but go wrong in ngnx-1.13.6+. The change is http://hg.nginx.org/nginx/rev/12cadc4669a7. I found the similar problem. https://github.com/cloudflare/sslconfig/issues/83 Now I don't know where the problem is. NGINX or Client? Does anyone know? Thanks. _______________________________________________ nginxby karton - Nginx Development
Get it now, thank you. On Mon, Jul 9, 2018 at 8:24 PM Maxim Dounin <mdounin@mdounin.ru> wrote: > Hello! > > On Mon, Jul 09, 2018 at 07:51:47PM +0800, 洪志道 wrote: > > > As shown the subject, I wonder how to check some node has been deleted > from > > the red-black tree? > > No such information is provided. If you need it, you should > implement it yby karton - Nginx Development
Hi. As shown the subject, I wonder how to check some node has been deleted from the red-black tree? The case is like the following: Step 1: node1 = ngx_rbtree_insert(...); node2 = ngx_rbtree_insert(...); node3 = ngx_rbtree_insert(...); Step 2: node = find_node_from_rbtree(...); remove_expired_node(...); /* maybe include the node just found. */ new_node = malloc(...); if (new_node == NULL) {by karton - Nginx Development
Hi. diff -r 8e6bb4e6045f src/http/ngx_http_variables.c --- a/src/http/ngx_http_variables.c Thu Jun 07 20:04:22 2018 +0300 +++ b/src/http/ngx_http_variables.c Thu Jun 07 12:20:05 2018 -0400 @@ -1420,25 +1420,11 @@ ngx_http_variable_scheme(ngx_http_request_t *r, ngx_http_variable_value_t *v, uintptr_t data) { -#if (NGX_HTTP_SSL) - - if (r->connection->ssl) { - v->len = sizby karton - Nginx Development
Hi! Maybe it's better to keep the options more complete, and consider the follow operation as a mistake. /usr/local/nginx/sbin/nginx - hg diff diff -r cbf59d483c9c src/core/nginx.c --- a/src/core/nginx.c Tue Jan 16 13:52:03 2018 +0300 +++ b/src/core/nginx.c Sun Feb 04 07:41:36 2018 -0500 @@ -753,7 +753,12 @@ return NGX_ERROR; } - while (*p) { + do { + +by karton - Nginx Development
Thank you for your reply. What I want to solve is that backup servers can be selected when all the primary servers are unavailable. Now I use error_page to solve it, but it's not convenient in the case of multi-servers-locations. Especially some locations have already config error_page directive. upstream backends { hash $uri consistent; server 10.0.0.1; server 10.0.0.2; } upstreamby karton - Nginx Development
Hi! We know that consistent hash upstream improve its selection in the latest version. - if (hp->tries >= points->number) { <http://hg.nginx.org/nginx/rev/6c52b24fcf8e#l1.19>- pc->name = hp->rrp.peers->name; <http://hg.nginx.org/nginx/rev/6c52b24fcf8e#l1.20>+ if (hp->tries > 20) { <http://hg.nginx.org/nginx/rev/6c52b24fcf8e#l1.21>by karton - Nginx Development
Hi! Does nginx plan support request id in error log? In the real case, it's really helpful to position question by the unique id of request. And it will become better if support in error log also. For example showed in our error log: 2017/06/26 23:56:09 52590#52590: *1 client prematurely closed connection (104: Connection reset by peer) while sendin g response to client, client: 127.0.0.1, seby karton - Nginx Development
Wow, thank you for your patience. Perfect!!! Btw, The ctx of slice module is really a good skill. On Wed, Jun 21, 2017 at 2:43 AM, Roman Arutyunyan <arut@nginx.com> wrote: > Hi, > > Here's a simple configuration for your case. > > map $http_range $proxy_range { > volatile; > ~, $http_range; > default $slice_range; > } >by karton - Nginx Development
I hope slice module can satisfy customer requirements. Now the key point is users want to control the behavior of slice. And this is common. Here's the patch, take a look please! diff -r 5e05118678af src/http/modules/ngx_http_slice_filter_module.c --- a/src/http/modules/ngx_http_slice_filter_module.c Mon May 29 23:33:38 2017 +0300 +++ b/src/http/modules/ngx_http_slice_filter_module.c Tue Jun 20by karton - Nginx Development
Well, it's a good idea, but it's not satisfied yet. Now we assume users want to ignore the slice feature when the multi-range request is coming. How about let slice directive support if scope? Such as the following. map $http_range $need_slice { ... } map $slice_range $x_slice_range { ... } server { if ($need_slice) { slice 100; } proxy_set_header Rby karton - Nginx Development
If we wan't to slice in the case of multi-page, how to achieve it? 洪志道 <hongzhidao@gmail.com>于2017年6月20日 周二23:21写道: > You said the module doesn't support multi-range, it means nothing to > support slice feature through $slice_range. > Anyway we can avoid it by access handle, but it's still unconvinient. > > Roman Arutyunyan <arut@nginx.com>于20by karton - Nginx Development
You said the module doesn't support multi-range, it means nothing to support slice feature through $slice_range. Anyway we can avoid it by access handle, but it's still unconvinient. Roman Arutyunyan <arut@nginx.com>于2017年6月20日 周二21:34写道: > That would disable slicing at all. > > On Tue, Jun 20, 2017 at 12:42:30PM +0000, 洪志道 wrote: > > Do you think it'by karton - Nginx Development
Do you think it's better to set $slice_range not found as if multi-range request? Roman Arutyunyan <arut@nginx.com>于2017年6月20日 周二20:09写道: > Hi, > > On Tue, Jun 20, 2017 at 02:25:14AM +0800, 洪志道 wrote: > > Hi! > > > > Have a look at the following example first. > > > > server { > > listen 80; > > > >by karton - Nginx Development
Hi! Have a look at the following example first. server { listen 80; location / { slice 10; proxy_set_header Range $slice_range; proxy_pass http://127.0.0.1:81; } } server { listen 81; root html; } Then we start a request with curl. > curl http://my.test.com/ -x 127.1:80 -H "range: bytes=1-50, 2-51" We get a responby karton - Nginx Development
Hi, Valentin. Please confirm again, thanks. diff -r 5e05118678af src/http/modules/ngx_http_ssl_module.c --- a/src/http/modules/ngx_http_ssl_module.c Mon May 29 23:33:38 2017 +0300 +++ b/src/http/modules/ngx_http_ssl_module.c Fri Jun 09 07:15:50 2017 -0400 @@ -234,6 +234,13 @@ offsetof(ngx_http_ssl_srv_conf_t, stapling_verify), NULL }, + { ngx_string("ssl_h2"), +by karton - Nginx Development
Get it, thanks. On Fri, Jun 9, 2017 at 7:45 PM, Valentin V. Bartenev <vbart@nginx.com> wrote: > On Friday 09 June 2017 13:40:23 洪志道 wrote: > > Hi, Valentin. > > > > " > > Also please note that with your patch clients are still able to > > negotiate HTTP/2 even if nginx doesn't announce it. > > " > > > > Two points: > >by karton - Nginx Development