Mercurial > hg > nginx-quic
view docs/GNUmakefile @ 4477:7033faf6dc3c
Added disable_symlinks directive.
To completely disable symlinks (disable_symlinks on)
we use openat(O_NOFOLLOW) for each path component
to avoid races.
To allow symlinks with the same owner (disable_symlinks if_not_owner),
use openat() (followed by fstat()) and fstatat(AT_SYMLINK_NOFOLLOW),
and then compare uids between fstat() and fstatat().
As there is a race between openat() and fstatat() we don't
know if openat() in fact opened symlink or not. Therefore,
we have to compare uids even if fstatat() reports the opened
component isn't a symlink (as we don't know whether it was
symlink during openat() or not).
Default value is off, i.e. symlinks are allowed.
author | Andrey Belov <defan@nginx.com> |
---|---|
date | Mon, 13 Feb 2012 16:29:04 +0000 |
parents | b9dade63fcc2 |
children | 3032f4854b81 0275f587e00b |
line wrap: on
line source
VER= $(shell grep 'define NGINX_VERSION' src/core/nginx.h \ | sed -e 's/^.*\"\(.*\)\"/\1/') NGINX= nginx-$(VER) TEMP= tmp CP= $(HOME)/java define XSLScript java -cp $(CP)/xsls/saxon.jar:$(CP)/xsls/xsls.jar \ com.pault.StyleSheet \ -x com.pault.XX -y com.pault.XX \ $(1) docs/xsls/dump.xsls \ | sed 's/ *$$//;/^ *$$/N;/\n *$$/D' > $(2) if [ ! -s $(2) ]; then rm $(2); fi; test -s $(2) endef define XSLT xmllint --noout --valid $2 xsltproc -o $3 \ $(shell echo $4 \\ | sed -e "s/\([^= ]*\)=\([^= ]*\)/--param \1 \"'\2'\"/g") \ $1 $2 endef all: changes changes: $(TEMP)/$(NGINX)/CHANGES.ru \ $(TEMP)/$(NGINX)/CHANGES $(TEMP)/$(NGINX)/CHANGES.ru: docs/xml/nginx/changes.xml \ docs/xml/change_log_conf.xml \ docs/xslt/changes.xslt test -d $(TEMP)/$(NGINX) || mkdir -p $(TEMP)/$(NGINX) xsltproc --stringparam lang ru \ -o $(TEMP)/$(NGINX)/CHANGES.ru \ docs/xslt/changes.xslt docs/xml/nginx/changes.xml $(TEMP)/$(NGINX)/CHANGES: docs/xml/nginx/changes.xml \ docs/xml/change_log_conf.xml \ docs/xslt/changes.xslt test -d $(TEMP)/$(NGINX) || mkdir -p $(TEMP)/$(NGINX) xsltproc --stringparam lang en \ -o $(TEMP)/$(NGINX)/CHANGES \ docs/xslt/changes.xslt docs/xml/nginx/changes.xml docs/xslt/changes.xslt: docs/xsls/changes.xsls $(call XSLScript, docs/xsls/changes.xsls, $@)