view auto/os/conf @ 4192:61e4af19df9f

Autoindex: escape '?' in file names. For files with '?' in their names autoindex generated links with '?' not escaped. This resulted in effectively truncated links as '?' indicates query string start. This is an updated version of the patch originally posted at [1]. It introduces generic NGX_ESCAPE_URI_COMPONENT which escapes everything but unreserved characters as per RFC 3986. This approach also renders unneeded special colon processing (as colon is percent-encoded now), it's dropped accordingly. [1] http://nginx.org/pipermail/nginx-devel/2010-February/000112.html Reported by Konstantin Leonov.
author Maxim Dounin <mdounin@mdounin.ru>
date Tue, 11 Oct 2011 17:56:51 +0000
parents f5c80c69a72e
children d620f497c50f
line wrap: on
line source


# Copyright (C) Igor Sysoev


echo "checking for $NGX_SYSTEM specific features"

case "$NGX_PLATFORM" in

    FreeBSD:*)
        . auto/os/freebsd
    ;;

    Linux:*)
        . auto/os/linux
    ;;

    SunOS:*)
        . auto/os/solaris
    ;;

    Darwin:*)
        . auto/os/darwin
    ;;

    win32)
        . auto/os/win32
    ;;

    DragonFly:*)
        have=NGX_FREEBSD . auto/have_headers
        CORE_INCS="$UNIX_INCS"
        CORE_DEPS="$UNIX_DEPS $FREEBSD_DEPS"
        CORE_SRCS="$UNIX_SRCS $FREEBSD_SRCS"

        echo " + sendfile() found"
        have=NGX_HAVE_SENDFILE . auto/have
        CORE_SRCS="$CORE_SRCS $FREEBSD_SENDFILE_SRCS"

        ngx_spacer='
'
    ;;

    HP-UX:*)
        # HP/UX
        have=NGX_HPUX . auto/have_headers
        CORE_INCS="$UNIX_INCS"
        CORE_DEPS="$UNIX_DEPS $POSIX_DEPS"
        CORE_SRCS="$UNIX_SRCS"
        CC_AUX_FLAGS="$CC_AUX_FLAGS -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED=1"
    ;;

    OSF1:*)
        # Tru64 UNIX
        have=NGX_TRU64 . auto/have_headers
        have=NGX_HAVE_STRERROR_R . auto/nohave
        CORE_INCS="$UNIX_INCS"
        CORE_DEPS="$UNIX_DEPS $POSIX_DEPS"
        CORE_SRCS="$UNIX_SRCS"
    ;;

    *)
        CORE_INCS="$UNIX_INCS"
        CORE_DEPS="$UNIX_DEPS $POSIX_DEPS"
        CORE_SRCS="$UNIX_SRCS"
    ;;

esac


case "$NGX_MACHINE" in

    i386 | i686 | i86pc)
        have=NGX_HAVE_NONALIGNED . auto/have
        NGX_MACH_CACHE_LINE=32
    ;;

    amd64 | x86_64)
        have=NGX_HAVE_NONALIGNED . auto/have
        NGX_MACH_CACHE_LINE=64
    ;;

    sun4u | sun4v | sparc | sparc64)
        have=NGX_ALIGNMENT value=16 . auto/define
        # TODO
        NGX_MACH_CACHE_LINE=64
    ;;

    ia64 )
        have=NGX_ALIGNMENT value=16 . auto/define
        # TODO
        NGX_MACH_CACHE_LINE=64
    ;;

    *)
        NGX_MACH_CACHE_LINE=32
    ;;

esac

if test -z "$NGX_CPU_CACHE_LINE"; then
    NGX_CPU_CACHE_LINE=$NGX_MACH_CACHE_LINE
fi

have=NGX_CPU_CACHE_LINE value=$NGX_CPU_CACHE_LINE . auto/define