summaryrefslogtreecommitdiff
path: root/lib/tmpdir.rb
AgeCommit message (Collapse)Author
2021-04-05[ruby/tmpdir] Make usable chars more strictNobuyoshi Nakada
Remove other than alphanumeric and some punctuations considered filesystem-safe, instead of removing some unsafe chars only. https://hackerone.com/reports/1131465 https://github.com/ruby/tmpdir/commit/adf294bc2d
2020-09-14[ruby/tmpdir] Warn when environment variables skipped (fixes #2)Nobuyoshi Nakada
https://github.com/ruby/tmpdir/commit/af7b020a89
2020-05-29Correctly remove temporary directory if path yielded is mutatedJeremy Evans
Another approach would be to freeze the string, but that could cause backwards compatibility issues. Fixes [Bug #16918] Notes: Merged: https://github.com/ruby/ruby/pull/3159
2020-01-29Isolate the PRNG for tmpdir/tempfileNobuyoshi Nakada
To get rid of conflicts affected by `srand`.
2019-11-18Warn on access/modify of $SAFE, and remove effects of modifying $SAFEJeremy Evans
This removes the security features added by $SAFE = 1, and warns for access or modification of $SAFE from Ruby-level, as well as warning when calling all public C functions related to $SAFE. This modifies some internal functions that took a safe level argument to no longer take the argument. rb_require_safe now warns, rb_require_string has been added as a version that takes a VALUE and does not warn. One public C function that still takes a safe level argument and that this doesn't warn for is rb_eval_cmd. We may want to consider adding an alternative method that does not take a safe level argument, and warn for rb_eval_cmd. Notes: Merged: https://github.com/ruby/ruby/pull/2476
2019-08-30Fix keyword argument separation issues in libJeremy Evans
Mostly requires adding ** in either calls or method definitions. Notes: Merged: https://github.com/ruby/ruby/pull/2395
2019-06-21Constified unusable charsNobuyoshi Nakada
2019-01-23tmpdir.rb: permission of user given directorynobu
* lib/tmpdir.rb (Dir.mktmpdir): check if the permission of the parent directory only when using the default temporary directory, and no check against user given directory. the security is the user's responsibility in that case. [ruby-core:91216] [Bug #15555] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66909 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-03-28Ignore file separator from tmpfile/tmpdir name.hsbt
From: SHIBATA Hiroshi <hsbt@ruby-lang.org> git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62990 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-11-15tmpdir.rb: merged make_tmpname to createnobu
* lib/tmpdir.rb (Dir::Tmpname#create): try conversion of prefix and suffix just once before loop. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60775 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-26* lib/tmpdir.rb: Unify to coding-style for method definition.hsbt
[fix GH-1252] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53945 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-10* lib/open-uri.rb: Remove indicator for "frozen_string_literal: true".akr
* lib/pp.rb: Ditto. * lib/prettyprint.rb: Ditto. * lib/resolv.rb: Ditto. * lib/securerandom.rb: Ditto. * lib/tmpdir.rb: Ditto. * lib/unicode_normalize/tables.rb: Ditto. * test/net/ftp/test_buffered_socket.rb: Ditto. * test/net/ftp/test_mlsx_entry.rb: Ditto. * test/open-uri/test_open-uri.rb: Ditto. * test/open-uri/test_ssl.rb: Ditto. * test/pathname/test_pathname.rb: Ditto. * test/test_pp.rb: Ditto. * test/test_prettyprint.rb: Ditto. * tool/transcode-tblgen.rb: Ditto. * ext/pathname/lib/pathname.rb: Ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52526 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-06* lib/tmpdir.rb (Dir.tmpdir): return duplicated string to beakr
modify safely even when $SAFE > 0. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52062 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-05Put an line before "frozen_string_literal: true" for emacs.akr
https://bugs.ruby-lang.org/issues/8976#note-49 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52052 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-05* lib/pp.rb: Use frozen_string_literal: true.akr
* lib/prettyprint.rb: Ditto. * lib/resolv.rb: Ditto. * lib/tmpdir.rb: Ditto. * test/test_pp.rb: Ditto. * test/test_prettyprint.rb: Ditto. * tool/transcode-tblgen.rb: Ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52042 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-20* lib/tmpdir.rb (Dir.mktmpdir): Accept nil again, as Ruby 2.1.akr
[ruby-core:66943] [Bug #10616] Fixed by Alex Slynko. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48905 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-22tmpdir.rb: explicit conversion to stringnobu
* lib/tmpdir.rb (Dir::Tmpname#make_tmpname): convert prefix and suffix to strings explicitly. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47681 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-21tempfile.rb: fix r47655nobu
* lib/tempfile.rb (Tempfile#initialize, Tempfile.create): get rid of shadowing local variables. * lib/tmpdir.rb (Dir::Tmpname#make_tmpname): simlify argument splitting. * test/test_tempfile.rb: need thread library for ConditionVariable. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47656 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-20* lib/tempfile.rb: define parameters appropriately and someglass
refactoring. * lib/tmpdir.rb: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47655 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-07-26* lib/shell/command-processor.rb: remove unused variable.hsbt
* lib/shell/system-command.rb: ditto. * lib/tmpdir.rb: ditto. * lib/uri/generic.rb: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46969 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-04-29* (lib/tmpdir.rb): Rescue LoadError on etc.so for miniruby.akr
Revert r45707, r45711, r45717. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45744 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-04-24* lib/tmpdir.rb: Don't need to rescue LoadError for etc.so.akr
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45707 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-19fix typos. Patch by k_takata.ktsj
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40825 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-12tmpdir.rb: not expand tildenobu
* lib/tmpdir.rb (Dir::Tmpname#create): deal with a prefix name which starts with tilde as a plain name, not expanding as home directory. [ruby-core:50793] [Bug #7547] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38348 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-12* lib/tmpdir.rb (Dir::tmpdir): test the current directory suitable forakr
temporary directory. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34988 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-11* lib/tmpdir.rb: update document for changingakr
FileUtils.remove_entry_secure to FileUtils.remove_entry. * NEWS: add incompatiblity note for lib/tmpdir.rb. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34980 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-11* lib/tmpdir.rb (Dir.tmpdir): should not use world-writable butnobu
non-sticky directory. * lib/tmpdir.rb (Dir.mktmpdir): check the parent directory. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34979 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-05-18 * lib: Convert tabs to spaces for ruby files perdrbrain
http://redmine.ruby-lang.org/projects/ruby/wiki/DeveloperHowto#coding-style Patch by Steve Klabnik [Ruby 1.9 - Bug #4730] Patch by Jason Dew [Ruby 1.9 - Feature #4718] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31635 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-08* ext/etc/etc.c (etc_systmpdir): moved from ext/tmpdir.nobu
* ext/etc/etc.c (etc_sysconfdir): added. * lib/rubygems/config_file.rb, lib/tmpdir.rb: use etc. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27667 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-06* lib/tmpdir.rb: test RUBY_PLATFORM for loading tmpdir.so to avoidakr
LoadError. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27638 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-03-16* ext/tmpdir: split from lib/tmpdir.rb.nobu
* win32/win32.c (rb_w32_system_tmpdir): extracted from init_env. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26952 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-11-11* lib/tempfile.rb (Tempfile#initialize): merge mode option.nobu
* lib/tmpdir.rb (Dir::Tmpname#create): splat options. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25720 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-09-11* lib/tmpdir.rb (Dir::Tmpname): for internal use.nobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24848 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-09-08* lib/tempfile.rb, lib/tmpdir.rb (Tmpname): extracted new module.nobu
[ruby-dev:39197] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24795 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-08-29* lib/tmpdir.rb (Dir.mktmpdir): rolled back r24699. [ruby-dev:39193]nobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24701 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-08-28* lib/tmpdir.rb (Dir.mktmpdir): removed thread race condition.nobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24699 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-06-10 * dir.c (dir_s_getwd): directory path's encoding should be filesystem'susa
one. * lib/tmpdir.rb: ditto (but not finished yet.) git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23661 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-03-05* lib/tmpdir.rb (Dir.tmpdir): not use USERPROFILE, and ignoresnobu
non-existent directory. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22782 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-19* lib/tmpdir.rb (@@systmpdir): File.expand_path also joins paths.nobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22439 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-24 * lib/tmpdir.rb: setup buffer with nul characters instead of spaces.usa
fixed [ruby-dev:36493] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19513 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-29* lib/tmpdir.rb (@@systmpdir): prior LOCAL_APPDATA if possible, andnobu
should be clean. based on a patch from arton <artonx AT yahoo.co.jp> at [ruby-dev:35269] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17643 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-10-24doc. wording fix.akr
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13762 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-21* lib/tmpdir.rb (Dir.mktmpdir): make directory suffix specifiable.akr
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13129 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-18fix Dir.mktmpdir doc.akr
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13086 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-16update Dir.mktmpdir document.akr
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13060 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-15* lib/tmpdir.rb (Dir.mktmpdir): new method. [ruby-dev:31416]akr
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12944 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-09-28* lib/tmpdir.rb: use return value of getdir.call for length.usa
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11044 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-12-15* lib/tmpdir.rb: merged RDoc patch from Eric Hodel <drbrain atmatz
segment7.net>. [ruby-core:06894] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9694 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-07-26* lib/tmpdir.rb: use GetWindowsDirectory, not GetSystemDirectory. ↵eban
[ruby-talk:77073] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4176 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-07-23* lib/tmpdir.rb (tmpdir): new method. remove TMPDIR.eban
use GetSystemWindowsDirectory(GetSystemDirectory), not GetTempPath. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4129 b2dd03c8-39d4-4d8f-98ff-823fe69b080e