<feed xmlns='http://www.w3.org/2005/Atom'>
<title>nginx.git/src/core/ngx_open_file_cache.h, branch release-1.30.0</title>
<subtitle>nginx</subtitle>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/'/>
<entry>
<title>Disable symlinks: added the "from" parameter support to the open file cache.</title>
<updated>2012-02-27T16:46:57+00:00</updated>
<author>
<name>Valentin Bartenev</name>
<email>vbart@nginx.com</email>
</author>
<published>2012-02-27T16:46:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=346791187f358f852c2434f29a86754e7ab10f5b'/>
<id>346791187f358f852c2434f29a86754e7ab10f5b</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Added disable_symlinks directive.</title>
<updated>2012-02-13T16:29:04+00:00</updated>
<author>
<name>Andrey Belov</name>
<email>defan@nginx.com</email>
</author>
<published>2012-02-13T16:29:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=bd1e719bf9c4bc58076e7b52e87be645c9b803f5'/>
<id>bd1e719bf9c4bc58076e7b52e87be645c9b803f5</id>
<content type='text'>
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.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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.
</pre>
</div>
</content>
</entry>
<entry>
<title>Copyright updated.</title>
<updated>2012-01-18T15:07:43+00:00</updated>
<author>
<name>Maxim Konovalov</name>
<email>maxim@nginx.com</email>
</author>
<published>2012-01-18T15:07:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=f8d59e33f34185c28d1d3c6625a897e214b7ca73'/>
<id>f8d59e33f34185c28d1d3c6625a897e214b7ca73</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Use more precise stat.st_blocks to account cache size on Unix</title>
<updated>2011-04-22T10:06:43+00:00</updated>
<author>
<name>Igor Sysoev</name>
<email>igor@sysoev.ru</email>
</author>
<published>2011-04-22T10:06:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=ef1f33b0db5a69afeb4272668089ed5f760aea68'/>
<id>ef1f33b0db5a69afeb4272668089ed5f760aea68</id>
<content type='text'>
instead of file length rounded to a file system block size.
There is no similar way on Windows, so rounding to a cache-&gt;bsize is kept.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
instead of file length rounded to a file system block size.
There is no similar way on Windows, so rounding to a cache-&gt;bsize is kept.
</pre>
</div>
</content>
</entry>
<entry>
<title>read_ahead</title>
<updated>2009-09-30T13:21:52+00:00</updated>
<author>
<name>Igor Sysoev</name>
<email>igor@sysoev.ru</email>
</author>
<published>2009-09-30T13:21:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=3266171fd4691d173f698f1c0c246322a94588e2'/>
<id>3266171fd4691d173f698f1c0c246322a94588e2</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>*) of.test_only to not open file if only stat() is enough</title>
<updated>2009-04-27T09:55:53+00:00</updated>
<author>
<name>Igor Sysoev</name>
<email>igor@sysoev.ru</email>
</author>
<published>2009-04-27T09:55:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=f1cc457d7f562a7c8e7ff9ba28fc143bd175a7dc'/>
<id>f1cc457d7f562a7c8e7ff9ba28fc143bd175a7dc</id>
<content type='text'>
*) of.failed to return exact name of failed syscall
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
*) of.failed to return exact name of failed syscall
</pre>
</div>
</content>
</entry>
<entry>
<title>NGX_OPEN_FILE_DIRECTIO_OFF</title>
<updated>2008-10-16T13:31:00+00:00</updated>
<author>
<name>Igor Sysoev</name>
<email>igor@sysoev.ru</email>
</author>
<published>2008-10-16T13:31:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=ad1e123bfae5dcfd44ff82d12e59b4af58b2f8cf'/>
<id>ad1e123bfae5dcfd44ff82d12e59b4af58b2f8cf</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>cache directio flag in open file cache</title>
<updated>2008-09-12T13:39:51+00:00</updated>
<author>
<name>Igor Sysoev</name>
<email>igor@sysoev.ru</email>
</author>
<published>2008-09-12T13:39:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=77cdae1814d6d359febee8c85edd1f2671869db4'/>
<id>77cdae1814d6d359febee8c85edd1f2671869db4</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>*) handle unaligned file part for directio</title>
<updated>2008-09-05T14:48:47+00:00</updated>
<author>
<name>Igor Sysoev</name>
<email>igor@sysoev.ru</email>
</author>
<published>2008-09-05T14:48:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=8633e1fa0695ba988a9250c9c4af7ad3d19ae1f4'/>
<id>8633e1fa0695ba988a9250c9c4af7ad3d19ae1f4</id>
<content type='text'>
*) disable sendfile in directio mode
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
*) disable sendfile in directio mode
</pre>
</div>
</content>
</entry>
<entry>
<title>directio</title>
<updated>2008-07-30T12:34:04+00:00</updated>
<author>
<name>Igor Sysoev</name>
<email>igor@sysoev.ru</email>
</author>
<published>2008-07-30T12:34:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=385af286421e983f744f7f5d339b8060ccd36302'/>
<id>385af286421e983f744f7f5d339b8060ccd36302</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
