SSI bugfix: the "if" command did not work inside the "block" command and

produced parsing errors.
This commit is contained in:
Valentin Bartenev 2011-12-19 13:28:22 +00:00
parent 55d48371c1
commit 83a44c4911

View file

@ -624,16 +624,6 @@ ngx_http_ssi_body_filter(ngx_http_request_t *r, ngx_chain_t *in)
continue; continue;
} }
if (cmd->conditional
&& (ctx->conditional == 0
|| ctx->conditional > cmd->conditional))
{
ngx_log_error(NGX_LOG_ERR, r->connection->log, 0,
"invalid context of SSI command: \"%V\"",
&ctx->command);
goto ssi_error;
}
if (!ctx->output && !cmd->block) { if (!ctx->output && !cmd->block) {
if (ctx->block) { if (ctx->block) {
@ -709,6 +699,16 @@ ngx_http_ssi_body_filter(ngx_http_request_t *r, ngx_chain_t *in)
} }
} }
if (cmd->conditional
&& (ctx->conditional == 0
|| ctx->conditional > cmd->conditional))
{
ngx_log_error(NGX_LOG_ERR, r->connection->log, 0,
"invalid context of SSI command: \"%V\"",
&ctx->command);
goto ssi_error;
}
if (ctx->params.nelts > NGX_HTTP_SSI_MAX_PARAMS) { if (ctx->params.nelts > NGX_HTTP_SSI_MAX_PARAMS) {
ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, ngx_log_error(NGX_LOG_ERR, r->connection->log, 0,
"too many SSI command paramters: \"%V\"", "too many SSI command paramters: \"%V\"",