Commit Graph

173 Commits

Author SHA1 Message Date
Tim Peters 1baa22aff0 A variant of SF patch 103028 (Make tempfile.mktemp threadsafe).
Tested on Windows.  Should be tested on Linux.  Should also be
tested on some platform without threads (I simulated that by
making the "import thread" fail, but that's not the same as
actually doing it!).
2001-01-12 10:02:46 +00:00
Guido van Rossum e504c0c2dc Patch by tg@FreeBSD.org to try /var/tmp first.
This helps on 4.4BSD-based systems.
2000-08-29 14:55:03 +00:00
Guido van Rossum 00f09b3821 Security patch for Unix by Chris McDonough.
This uses the same precautions when trying to find a temporary
directory as when the actual tempfile is created (using O_CREAT and
O_EXCL).  On non-posix platforms, nothing is changed.
2000-04-24 13:28:02 +00:00
Guido van Rossum e7b146fb3b The third and final doc-string sweep by Ka-Ping Yee.
The attached patches update the standard library so that all modules
have docstrings beginning with one-line summaries.

A new docstring was added to formatter.  The docstring for os.py
was updated to mention nt, os2, ce in addition to posix, dos, mac.
2000-02-04 15:28:42 +00:00
Guido van Rossum 6b708d569c In class TemporaryFileWrapper, don't cache attributes of tpye int --
these happen to be 'closed' and 'softspace', which may change!

Noted by Dave Ascher (with slightly different solution).
1999-06-01 18:55:36 +00:00
Guido van Rossum 2457fc2a81 Improvement to the previous fix suggested by Thomas Bellman: if the
unlink() or fdopen() fail, close the file descriptor and re-raise the
exception.
1998-10-24 15:02:59 +00:00
Guido van Rossum dce3d5502e The TemporaryFile() function has a security leak -- because the
filenames generated are easily predictable, it is possible to trick an
unsuspecting program into overwriting another file by creating a
symbolic link with the predicted name.  Fix this by using the
low-level os.open() function with the O_EXCL flag and mode 0700.  On
non-Unix platforms, presumably there are no symbolic links so the
problem doesn't exist.  The explicit test for Unix (posix, actually)
makes it possible to change the non-Unix logic to work without a
try-except clause.

The mktemp() file is as unsafe as ever.
1998-10-24 01:34:45 +00:00
Guido van Rossum b0e5718643 Fix so that after a fork() -- on Unix only -- the template gets
recalculated.
1998-10-14 20:27:05 +00:00
Guido van Rossum 57a0661cb8 On the Mac, create the Temporary Items folder if it does not exist yet.
(Jack)
1998-04-28 16:03:34 +00:00
Guido van Rossum 29e5f5d81f When getcwd() doesn't exist or raises an exception, don't fail but
fall back to using os.curdir instead; if it is fine, don't use
os.curdir at all.
1998-04-09 14:27:57 +00:00
Guido van Rossum 45e2fbc2e7 Mass check-in after untabifying all files that need it. 1998-03-26 21:13:24 +00:00
Guido van Rossum b8c42c9825 Add new optional parameter 'suffix' (default ''), which is appended to
the temporary file name.  Also some minor formatting of Jim F's code.
1997-12-19 04:29:50 +00:00
Guido van Rossum 80fb344a18 On NT, use a better template, ~XXX- where XXX is os.getpid(). 1997-12-15 19:11:53 +00:00
Guido van Rossum ca54982b2a Added TemporaryFile and wrapper class by Jim Fulton.
Look in more env vars (for NT: TEMP, TMP).
1997-08-12 18:00:12 +00:00
Guido van Rossum f4f756cf55 (Jack:) Better MacOS support. 1997-04-11 19:00:53 +00:00
Guido van Rossum 3e065ada2c Attempt at Windows-NT compatibility. 1996-08-20 20:38:59 +00:00
Guido van Rossum 4033ad7576 Restore 1.3 behavior of gettempdir(): if tempdir is already set, believe it. 1996-08-08 18:33:56 +00:00
Guido van Rossum f4aaf862fd Be more careful about default temp dir 1996-05-28 23:31:34 +00:00
Guido van Rossum 41f9503c11 Mostly rewritten to be more flexible and more portable
./
1992-03-31 19:02:01 +00:00
Guido van Rossum cff3454eff Use $TMPDIR if it is set in the environment. 1992-01-14 18:31:56 +00:00
Guido van Rossum 4a3a41f1bb Use 'global' instead of struct kludge. 1991-12-26 13:10:50 +00:00
Guido van Rossum ce08448165 New class syntax. 1991-12-26 13:06:29 +00:00
Guido van Rossum eee9498b71 Initial revision 1991-11-12 15:38:08 +00:00