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