Latest update - 7508
This commit is contained in:
+2
-17
@@ -102,21 +102,6 @@ if [ $HTTP = YES ]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
if [ $HTTP_SSI = YES ]; then
|
|
||||||
HTTP_POSTPONE=YES
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
if [ $HTTP_SLICE = YES ]; then
|
|
||||||
HTTP_POSTPONE=YES
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
if [ $HTTP_ADDITION = YES ]; then
|
|
||||||
HTTP_POSTPONE=YES
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
# the module order is important
|
# the module order is important
|
||||||
# ngx_http_static_module
|
# ngx_http_static_module
|
||||||
# ngx_http_gzip_static_module
|
# ngx_http_gzip_static_module
|
||||||
@@ -252,13 +237,13 @@ if [ $HTTP = YES ]; then
|
|||||||
. auto/module
|
. auto/module
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ $HTTP_POSTPONE = YES ]; then
|
if :; then
|
||||||
ngx_module_name=ngx_http_postpone_filter_module
|
ngx_module_name=ngx_http_postpone_filter_module
|
||||||
ngx_module_incs=
|
ngx_module_incs=
|
||||||
ngx_module_deps=
|
ngx_module_deps=
|
||||||
ngx_module_srcs=src/http/ngx_http_postpone_filter_module.c
|
ngx_module_srcs=src/http/ngx_http_postpone_filter_module.c
|
||||||
ngx_module_libs=
|
ngx_module_libs=
|
||||||
ngx_module_link=$HTTP_POSTPONE
|
ngx_module_link=YES
|
||||||
|
|
||||||
. auto/module
|
. auto/module
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -61,7 +61,6 @@ HTTP_SSL=NO
|
|||||||
HTTP_V2=NO
|
HTTP_V2=NO
|
||||||
HTTP_V2_HPACK_ENC=NO
|
HTTP_V2_HPACK_ENC=NO
|
||||||
HTTP_SSI=YES
|
HTTP_SSI=YES
|
||||||
HTTP_POSTPONE=NO
|
|
||||||
HTTP_REALIP=NO
|
HTTP_REALIP=NO
|
||||||
HTTP_XSLT=NO
|
HTTP_XSLT=NO
|
||||||
HTTP_IMAGE_FILTER=NO
|
HTTP_IMAGE_FILTER=NO
|
||||||
|
|||||||
@@ -700,8 +700,9 @@ ngx_http_range_singlepart_body(ngx_http_request_t *r,
|
|||||||
ngx_http_range_filter_ctx_t *ctx, ngx_chain_t *in)
|
ngx_http_range_filter_ctx_t *ctx, ngx_chain_t *in)
|
||||||
{
|
{
|
||||||
off_t start, last;
|
off_t start, last;
|
||||||
|
ngx_int_t rc;
|
||||||
ngx_buf_t *buf;
|
ngx_buf_t *buf;
|
||||||
ngx_chain_t *out, *cl, **ll;
|
ngx_chain_t *out, *cl, *tl, **ll;
|
||||||
ngx_http_range_t *range;
|
ngx_http_range_t *range;
|
||||||
|
|
||||||
out = NULL;
|
out = NULL;
|
||||||
@@ -721,8 +722,22 @@ ngx_http_range_singlepart_body(ngx_http_request_t *r,
|
|||||||
"http range body buf: %O-%O", start, last);
|
"http range body buf: %O-%O", start, last);
|
||||||
|
|
||||||
if (ngx_buf_special(buf)) {
|
if (ngx_buf_special(buf)) {
|
||||||
*ll = cl;
|
|
||||||
ll = &cl->next;
|
if (range->end <= start) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
tl = ngx_alloc_chain_link(r->pool);
|
||||||
|
if (tl == NULL) {
|
||||||
|
return NGX_ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
|
tl->buf = buf;
|
||||||
|
tl->next = NULL;
|
||||||
|
|
||||||
|
*ll = tl;
|
||||||
|
ll = &tl->next;
|
||||||
|
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -764,21 +779,42 @@ ngx_http_range_singlepart_body(ngx_http_request_t *r,
|
|||||||
|
|
||||||
buf->last_buf = (r == r->main) ? 1 : 0;
|
buf->last_buf = (r == r->main) ? 1 : 0;
|
||||||
buf->last_in_chain = 1;
|
buf->last_in_chain = 1;
|
||||||
*ll = cl;
|
|
||||||
cl->next = NULL;
|
|
||||||
|
|
||||||
break;
|
tl = ngx_alloc_chain_link(r->pool);
|
||||||
|
if (tl == NULL) {
|
||||||
|
return NGX_ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
|
tl->buf = buf;
|
||||||
|
tl->next = NULL;
|
||||||
|
|
||||||
|
*ll = tl;
|
||||||
|
ll = &tl->next;
|
||||||
|
|
||||||
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
*ll = cl;
|
tl = ngx_alloc_chain_link(r->pool);
|
||||||
ll = &cl->next;
|
if (tl == NULL) {
|
||||||
|
return NGX_ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
|
tl->buf = buf;
|
||||||
|
tl->next = NULL;
|
||||||
|
|
||||||
|
*ll = tl;
|
||||||
|
ll = &tl->next;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (out == NULL) {
|
rc = ngx_http_next_body_filter(r, out);
|
||||||
return NGX_OK;
|
|
||||||
|
while (out) {
|
||||||
|
cl = out;
|
||||||
|
out = out->next;
|
||||||
|
ngx_free_chain(r->pool, cl);
|
||||||
}
|
}
|
||||||
|
|
||||||
return ngx_http_next_body_filter(r, out);
|
return rc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user