[PATCH 0 of 5] relative paths handling

Maxim Dounin mdounin at mdounin.ru
Fri Oct 24 01:42:36 UTC 2025


Hello!

The following patch series fixes (hopefully all) configuration
directives which specify file or directory names and do not resolve
relative paths properly, that is, either from prefix (typically), or
from configuration prefix (when the file is considered to be a part of
the configuration, such as "include" or "ssl_certificate").

I was able to identify the following configuration directives which
need to be fixed:

working_directory
google_perftools_profiles
geoip_country
geoip_city
geoip_org
xml_entities

The patch series fixes them.

Notably (and probably the only) remaining exception is unix sockets,
where relative paths are not handled and therefore resolved by OS from
the process current working directory, whichever it happens to be when
the socket is opened.  Not sure it worth changing though.  In particular,
because the socket path exactly as used in bind() is then returned by
getsockname() and also shown in various tools such as netstat(), which
makes relative paths in unix sockets not equivalent to corresponding
absolute paths.

Review and comments appreciated.

-- 
Maxim Dounin



More information about the nginx-devel mailing list