Mercurial > hg > nginx-quic
view auto/lib/md5/make @ 5094:e0a3714a36f8
SNI: reset to default server if requested host was not found.
Not only this is consistent with a case without SNI, but this also
prevents abusing configurations that assume that the $host variable
is limited to one of the configured names for a server.
An example of potentially unsafe configuration:
server {
listen 443 ssl default_server;
...
}
server {
listen 443;
server_name example.com;
location / {
proxy_pass http://$host;
}
}
Note: it is possible to negotiate "example.com" by SNI, and to request
arbitrary host name that does not exist in the configuration above.
author | Valentin Bartenev <vbart@nginx.com> |
---|---|
date | Wed, 27 Feb 2013 17:38:54 +0000 |
parents | d620f497c50f |
children | 78f8ac479735 |
line wrap: on
line source
# Copyright (C) Igor Sysoev # Copyright (C) Nginx, Inc. case "$NGX_CC_NAME" in msvc*) ngx_makefile=makefile.msvc ngx_opt="CPU_OPT=\"$CPU_OPT\" LIBC=$LIBC MD5_ASM=$MD5_ASM" ngx_md5="MD5=\"$MD5\"" ;; owc*) ngx_makefile=makefile.owc ngx_opt="CPU_OPT=\"$CPU_OPT\"" ngx_md5=`echo MD5=\"$MD5\" | sed -e "s/\//$ngx_regex_dirsep/g"` ;; bcc) ngx_makefile=makefile.bcc ngx_opt="-DCPU_OPT=\"$CPU_OPT\" -DMD5_ASM=$MD5_ASM" ngx_md5=`echo \-DMD5=\"$MD5\" | sed -e "s/\//$ngx_regex_dirsep/g"` ;; esac done=NO case "$NGX_PLATFORM" in win32) cat << END >> $NGX_MAKEFILE `echo "$MD5/md5.lib: $NGX_MAKEFILE" | sed -e "s/\//$ngx_regex_dirsep/g"` \$(MAKE) -f auto/lib/md5/$ngx_makefile $ngx_opt $ngx_md5 END done=YES ;; SunOS:*:i86pc) if [ $MD5_ASM = YES ]; then cat << END >> $NGX_MAKEFILE $MD5/libmd5.a: $NGX_MAKEFILE cd $MD5 \\ && \$(MAKE) CFLAGS="$MD5_OPT -DSOL -DMD5_ASM -DL_ENDIAN" \\ CC="\$(CC)" CPP="\$(CPP)" \\ MD5_ASM_OBJ=asm/mx86-sol.o clean libmd5.a END done=YES fi ;; # FreeBSD: i386 # Linux: i686 *:i386 | *:i686) if [ $MD5_ASM = YES ]; then cat << END >> $NGX_MAKEFILE $MD5/libmd5.a: $NGX_MAKEFILE cd $MD5 \\ && \$(MAKE) CFLAGS="$MD5_OPT -DELF -DMD5_ASM -DL_ENDIAN" \\ CC="\$(CC)" CPP="\$(CPP)" \\ MD5_ASM_OBJ=asm/mx86-elf.o clean libmd5.a END done=YES fi ;; esac if [ $done = NO ]; then cat << END >> $NGX_MAKEFILE $MD5/libmd5.a: $NGX_MAKEFILE cd $MD5 \\ && \$(MAKE) CFLAGS="$MD5_OPT" \\ CC="\$(CC)" MD5_ASM_OBJ= clean libmd5.a END fi