<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ruby.git/lib/tmpdir.rb, branch v3_4_9</title>
<subtitle>The Ruby Programming Language</subtitle>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/'/>
<entry>
<title>[ruby/tmpdir] Move private constants under `Dir::Tmpname` module</title>
<updated>2024-12-16T10:28:10+00:00</updated>
<author>
<name>Nobuyoshi Nakada</name>
<email>nobu@ruby-lang.org</email>
</author>
<published>2024-04-08T07:04:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=a3991599fa4dc058578ef9c3ecec2ea6562dddca'/>
<id>a3991599fa4dc058578ef9c3ecec2ea6562dddca</id>
<content type='text'>
Including `TMPDIR_CANDIDATES` extracted from `Dir.tmpdir` invariant.

https://github.com/ruby/tmpdir/commit/d219ee273f
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Including `TMPDIR_CANDIDATES` extracted from `Dir.tmpdir` invariant.

https://github.com/ruby/tmpdir/commit/d219ee273f
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/tmpdir] Tell if the block is given by block argument</title>
<updated>2024-12-16T10:13:45+00:00</updated>
<author>
<name>Nobuyoshi Nakada</name>
<email>nobu@ruby-lang.org</email>
</author>
<published>2024-04-08T09:28:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=0769a48a215d40d3c52876d1377ceefe50db3afe'/>
<id>0769a48a215d40d3c52876d1377ceefe50db3afe</id>
<content type='text'>
https://github.com/ruby/tmpdir/commit/6e97a96d3b
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://github.com/ruby/tmpdir/commit/6e97a96d3b
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/tmpdir] Fix for path-like objects</title>
<updated>2024-12-16T09:40:01+00:00</updated>
<author>
<name>Nobuyoshi Nakada</name>
<email>nobu@ruby-lang.org</email>
</author>
<published>2024-12-16T09:31:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=bf0f3239071a9fa11dc1b9553106eb37c89f384c'/>
<id>bf0f3239071a9fa11dc1b9553106eb37c89f384c</id>
<content type='text'>
Fix https://github.com/ruby/tmpdir/pull/37

https://github.com/ruby/tmpdir/commit/a8ceafae7d
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fix https://github.com/ruby/tmpdir/pull/37

https://github.com/ruby/tmpdir/commit/a8ceafae7d
</pre>
</div>
</content>
</entry>
<entry>
<title>Perform an actual access check in Dir.tmpdir for writability</title>
<updated>2024-10-22T04:17:52+00:00</updated>
<author>
<name>KJ Tsanaktsidis</name>
<email>kj@kjtsanaktsidis.id.au</email>
</author>
<published>2024-08-09T00:02:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=7d254e4a2e16dd6275452a2a67b0fcd600cdc990'/>
<id>7d254e4a2e16dd6275452a2a67b0fcd600cdc990</id>
<content type='text'>
At the moment, this code is looking at the stat output to determine if a
temp directory can be written to. However, just because the stat bits
say that a directory is writable, does not make it so; and, likewise,
the operating system may in fact grant access to paths that the stat
bits and process UID say should be inaccessible.

These systems include:

* Posix ACL's
* Linux's capabilities like CAP_DAC_OVERRIDE
* Linux Security Modules like SELinux or AppArmor
* Syscall filters like Linux's seccomp
* Granular capability systems like FreeBSD's Capsicum
* OpenBSD's pledge and unveil
* Windows too has a rich ACL system for controlling filesystem access

The best thing to do is simply to try and access the path with
`File.writable?` and let the operating system tell us if the path can be
accessed.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
At the moment, this code is looking at the stat output to determine if a
temp directory can be written to. However, just because the stat bits
say that a directory is writable, does not make it so; and, likewise,
the operating system may in fact grant access to paths that the stat
bits and process UID say should be inaccessible.

These systems include:

* Posix ACL's
* Linux's capabilities like CAP_DAC_OVERRIDE
* Linux Security Modules like SELinux or AppArmor
* Syscall filters like Linux's seccomp
* Granular capability systems like FreeBSD's Capsicum
* OpenBSD's pledge and unveil
* Windows too has a rich ACL system for controlling filesystem access

The best thing to do is simply to try and access the path with
`File.writable?` and let the operating system tell us if the path can be
accessed.
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/tmpdir] Reject empty parent path</title>
<updated>2024-09-10T08:44:50+00:00</updated>
<author>
<name>Nobuyoshi Nakada</name>
<email>nobu@ruby-lang.org</email>
</author>
<published>2022-10-25T07:44:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=a79907ed5e8014215a658f4731ff33df3aca9eaa'/>
<id>a79907ed5e8014215a658f4731ff33df3aca9eaa</id>
<content type='text'>
https://github.com/ruby/tmpdir/commit/628c5bdc59
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://github.com/ruby/tmpdir/commit/628c5bdc59
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/tmpdir] Display the offending parent path in the exception</title>
<updated>2024-04-08T11:05:40+00:00</updated>
<author>
<name>Nobuyoshi Nakada</name>
<email>nobu@ruby-lang.org</email>
</author>
<published>2024-04-08T09:29:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=8217fbf4bd45fa829fde33bc0b0cfabf34eac50b'/>
<id>8217fbf4bd45fa829fde33bc0b0cfabf34eac50b</id>
<content type='text'>
https://github.com/ruby/tmpdir/commit/7751b12e97
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://github.com/ruby/tmpdir/commit/7751b12e97
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/tmpdir] [DOC] `require` inside each method on Dir</title>
<updated>2024-02-25T08:36:42+00:00</updated>
<author>
<name>Adam Daniels</name>
<email>adam@mediadrive.ca</email>
</author>
<published>2024-02-25T08:36:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=c16b507563b72b33277e9b9745cb1e41e1bcf93f'/>
<id>c16b507563b72b33277e9b9745cb1e41e1bcf93f</id>
<content type='text'>
(https://github.com/ruby/tmpdir/pull/31)

https://github.com/ruby/tmpdir/commit/a1ec977923
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
(https://github.com/ruby/tmpdir/pull/31)

https://github.com/ruby/tmpdir/commit/a1ec977923
</pre>
</div>
</content>
</entry>
<entry>
<title>Do not include a backtick in error messages and backtraces</title>
<updated>2024-02-15T09:42:31+00:00</updated>
<author>
<name>Yusuke Endoh</name>
<email>mame@ruby-lang.org</email>
</author>
<published>2024-01-19T07:03:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=25d74b9527cd525042ad0b612b794fa331d3a318'/>
<id>25d74b9527cd525042ad0b612b794fa331d3a318</id>
<content type='text'>
[Feature #16495]
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[Feature #16495]
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/tmpdir] [Bug #18933] Make `Dir.mktmpdir` Ractor-safe</title>
<updated>2023-07-03T05:47:43+00:00</updated>
<author>
<name>Nobuyoshi Nakada</name>
<email>nobu@ruby-lang.org</email>
</author>
<published>2022-10-25T03:15:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=3e605a781970cef365002167634a1b5a176bffcb'/>
<id>3e605a781970cef365002167634a1b5a176bffcb</id>
<content type='text'>
Fix https://bugs.ruby-lang.org/issues/18933

https://github.com/ruby/tmpdir/commit/446e636434
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fix https://bugs.ruby-lang.org/issues/18933

https://github.com/ruby/tmpdir/commit/446e636434
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/tmpdir] Ignore empty environment variables</title>
<updated>2022-10-25T07:54:40+00:00</updated>
<author>
<name>Nobuyoshi Nakada</name>
<email>nobu@ruby-lang.org</email>
</author>
<published>2022-10-25T07:39:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=114e71d06280f9c57b9859ee4405ae89a989ddb6'/>
<id>114e71d06280f9c57b9859ee4405ae89a989ddb6</id>
<content type='text'>
Fixes https://github.com/ruby/tmpdir/pull/17

https://github.com/ruby/tmpdir/commit/a79c727a5d
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes https://github.com/ruby/tmpdir/pull/17

https://github.com/ruby/tmpdir/commit/a79c727a5d
</pre>
</div>
</content>
</entry>
</feed>
