view auto/fmt/fmt @ 58:b55cbf18157e NGINX_0_1_29

nginx 0.1.29 *) Feature: the ngx_http_ssi_module supports "include virtual" command. *) Feature: the ngx_http_ssi_module supports the condition command like 'if expr="$NAME"' and "else" and "endif" commands. Only one nested level is supported. *) Feature: the ngx_http_ssi_module supports the DATE_LOCAL and DATE_GMT variables and "config timefmt" command. *) Feature: the "ssi_ignore_recycled_buffers" directive. *) Bugfix: the "echo" command did not show the default value for the empty QUERY_STRING variable. *) Change: the ngx_http_proxy_module was rewritten. *) Feature: the "proxy_redirect", "proxy_pass_request_headers", "proxy_pass_request_body", and "proxy_method" directives. *) Feature: the "proxy_set_header" directive. The "proxy_x_var" was canceled and must be replaced with the proxy_set_header directive. *) Change: the "proxy_preserve_host" is canceled and must be replaced with the "proxy_set_header Host $host" and the "proxy_redirect off" directives, the "proxy_set_header Host $host:$proxy_port" directive and the appropriate proxy_redirect directives. *) Change: the "proxy_set_x_real_ip" is canceled and must be replaced with the "proxy_set_header X-Real-IP $remote_addr" directive. *) Change: the "proxy_add_x_forwarded_for" is canceled and must be replaced with the "proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for" directive. *) Change: the "proxy_set_x_url" is canceled and must be replaced with the "proxy_set_header X-URL http://$host:$server_port$request_uri" directive. *) Feature: the "fastcgi_param" directive. *) Change: the "fastcgi_root", "fastcgi_set_var" and "fastcgi_params" directive are canceled and must be replaced with the fastcgi_param directives. *) Feature: the "index" directive can use the variables. *) Feature: the "index" directive can be used at http and server levels. *) Change: the last index only in the "index" directive can be absolute. *) Feature: the "rewrite" directive can use the variables. *) Feature: the "internal" directive. *) Feature: the CONTENT_LENGTH, CONTENT_TYPE, REMOTE_PORT, SERVER_ADDR, SERVER_PORT, SERVER_PROTOCOL, DOCUMENT_ROOT, SERVER_NAME, REQUEST_METHOD, REQUEST_URI, and REMOTE_USER variables. *) Change: nginx now passes the invalid lines in a client request headers or a backend response header. *) Bugfix: if the backend did not transfer response for a long time and the "send_timeout" was less than "proxy_read_timeout", then nginx returned the 408 response. *) Bugfix: the segmentation fault was occurred if the backend sent an invalid line in response header; bug appeared in 0.1.26. *) Bugfix: the segmentation fault may occurred in FastCGI fault tolerance configuration. *) Bugfix: the "expires" directive did not remove the previous "Expires" and "Cache-Control" headers. *) Bugfix: nginx did not take into account trailing dot in "Host" header line. *) Bugfix: the ngx_http_auth_module did not work under Linux. *) Bugfix: the rewrite directive worked incorrectly, if the arguments were in a request. *) Bugfix: nginx could not be built on MacOS X.
author Igor Sysoev <http://sysoev.ru>
date Thu, 12 May 2005 00:00:00 +0400
parents 4b2dafa26fe2
children
line wrap: on
line source


# Copyright (C) Igor Sysoev


echo $ngx_n "checking for $ngx_type printf() format ...$ngx_c"

cat << END >> $NGX_AUTOCONF_ERR

----------------------------------------
checking for $ngx_type printf() format

END


ngx_format=no
ngx_comma=


for ngx_fmt in $ngx_formats
do

    cat << END > $NGX_AUTOTEST.c

#include <sys/types.h>
#include <sys/time.h>
#include <stdio.h>
#include <sys/resource.h>
$NGX_INCLUDE_INTTYPES_H
$NGX_INCLUDE_AUTO_CONFIG_H

int main() {
    printf("$ngx_fmt", ($ngx_type) $ngx_max_value);
    return 0;
}

END

    ngx_test="$CC $CC_TEST_FLAGS $CC_WARN $CC_AUX_FLAGS \
              -o $NGX_AUTOTEST $NGX_AUTOTEST.c"
    eval "$ngx_test >> $NGX_AUTOCONF_ERR 2>&1"

    ngx_max_val=`echo $ngx_max_value | sed -e "s/L*\$//"`

    if [ -x $NGX_AUTOTEST ]; then

        if [ "`$NGX_AUTOTEST`" = $ngx_max_val ]; then

            if [ $ngx_fmt_collect = yes ]; then
                echo $ngx_n "$ngx_comma \"${ngx_fmt}\" is appropriate$ngx_c"
            else
                echo $ngx_n "$ngx_comma \"${ngx_fmt}\" used$ngx_c"
            fi

            ngx_format=$ngx_fmt
        fi
    fi

    rm -f $NGX_AUTOTEST

    if [ $ngx_format != no ]; then
        if [ $ngx_fmt_collect = yes ]; then
            eval "ngx_${ngx_size}_fmt=\"\${ngx_${ngx_size}_fmt} \$ngx_format\""
            ngx_comma=","
            continue
        else
            break
        fi
    fi

    echo $ngx_n "$ngx_comma \"${ngx_fmt}\" is not appropriate$ngx_c"
    ngx_comma=","

    echo "----------"    >> $NGX_AUTOCONF_ERR
    cat $NGX_AUTOTEST.c  >> $NGX_AUTOCONF_ERR
    echo "----------"    >> $NGX_AUTOCONF_ERR
    echo $ngx_test       >> $NGX_AUTOCONF_ERR
    echo "----------"    >> $NGX_AUTOCONF_ERR
done

echo

if [ $ngx_format = no ]; then
    echo "$0: error: printf() $ngx_type format not found"

    exit 1
fi


if [ $ngx_fmt_collect = no ]; then
    cat << END >> $NGX_AUTO_CONFIG_H

#ifndef $ngx_fmt_name
#define $ngx_fmt_name  "$ngx_format"
#endif

END

fi