cpython/Lib
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
..
dos-8x3 The usual 1998-10-17 18:09:27 +00:00
lib-old Untabified -- to satisfy the tab nanny. 1998-06-09 19:19:40 +00:00
lib-stdwin Fixed conversion between seconds and milliseconds. 1996-12-12 23:42:20 +00:00
lib-tk Perhaps a controversial change: when reporting a callback exception, 1998-10-13 20:02:39 +00:00
plat-aix3 New AIX specific subdirs 1996-08-08 18:24:58 +00:00
plat-aix4 New AIX specific subdirs 1996-08-08 18:24:58 +00:00
plat-beos Checking in BeOS specific socket module. 1998-08-10 20:15:32 +00:00
plat-beos1 Checking in BeOS specific socket module. 1998-08-10 20:15:32 +00:00
plat-freebsd2 New files from Thomas Gellekum 1998-05-06 15:14:36 +00:00
plat-freebsd3 New files from Thomas Gellekum 1998-05-06 15:14:36 +00:00
plat-generic Use fcntl.h instead of sys/fcntl.h; use h2py.py from Tools/scripts 1996-08-08 18:25:40 +00:00
plat-irix5 [Sjoerd Mullender] 1998-08-07 15:28:23 +00:00
plat-irix6 [Sjoerd Mullender] 1998-08-07 15:28:23 +00:00
plat-linux1 more recent linux header files 1996-01-26 17:43:46 +00:00
plat-linux2 Regenerated on a newer Linux version. 1997-05-09 02:21:06 +00:00
plat-netbsd1 More generated files for netbsd 1.x, by Anders Andersen. 1997-12-03 18:44:57 +00:00
plat-next3 regen for Next 1996-08-16 18:14:41 +00:00
plat-sunos4 Merge alpha100 branch back to main trunk 1994-08-01 11:34:53 +00:00
plat-sunos5 Add two constants (with the same value) to specify the on-board CD input. 1998-09-24 18:09:47 +00:00
plat-win Added table of WSA error codes. 1998-05-06 13:48:04 +00:00
test New test_long.py from Tim Peters. 1998-10-02 01:19:48 +00:00
aifc.py [Sjoerd Mullender] 1998-08-07 15:28:23 +00:00
anydbm.py Oops, I had 'n' and 'c' mixed up in my mind. Get rid of the comment 1998-04-28 15:23:09 +00:00
audiodev.py Added support for 4-channel on SGI. 1996-12-13 00:19:56 +00:00
base64.py Fixed spelling in comment: "RFC", not "RFX". 1998-05-22 18:18:08 +00:00
BaseHTTPServer.py Mass check-in after untabifying all files that need it. 1998-03-26 21:13:24 +00:00
Bastion.py Mass check-in after untabifying all files that need it. 1998-03-26 21:13:24 +00:00
bdb.py Don't set a local variable named __args__; this feature no longer 1998-09-28 15:33:38 +00:00
binhex.py A few lines were indented using spaces instead of tabs -- fix them. 1998-03-26 20:56:10 +00:00
bisect.py A few lines were indented using spaces instead of tabs -- fix them. 1998-03-26 20:56:10 +00:00
builtin.py added builtin b/w compat module. 1993-10-22 14:24:22 +00:00
calendar.py Merge alpha100 branch back to main trunk 1994-08-01 11:34:53 +00:00
cgi.py Patch by Jim Fulton, who writes: 1998-10-20 14:43:02 +00:00
CGIHTTPServer.py From: conrad@cgl.ucsf.edu (Conrad Huang %CGL) 1998-05-13 20:13:24 +00:00
cmd.py Richard Wolff's changes: 1998-09-11 22:33:08 +00:00
cmp.py Use (f1, f2) as cache key instead of f1 + ' ' + f2. 1998-10-21 15:23:52 +00:00
cmpcache.py fix buffer size 1994-10-09 22:34:40 +00:00
code.py Moved compile_command() to a file of its own (codeop.py). 1998-10-22 21:56:44 +00:00
codeop.py Moved compile_command() here from code.py, so JPython can provide its 1998-10-22 21:56:15 +00:00
colorsys.py New module 'colorsys' implements conversions between different color systems. 1992-09-07 09:41:48 +00:00
commands.py Mass check-in after untabifying all files that need it. 1998-03-26 21:13:24 +00:00
compileall.py Mass check-in after untabifying all files that need it. 1998-03-26 21:13:24 +00:00
ConfigParser.py Time machine experiment. Use '__name__' as the special key (always 1998-08-06 18:48:41 +00:00
copy_reg.py Added some minimal comments and tweaked lay-out a bit. 1997-05-20 18:03:22 +00:00
copy.py A few lines were indented using spaces instead of tabs -- fix them. 1998-03-26 20:56:10 +00:00
dbhash.py The permissions ('mode' flag) should default to 0666. 1998-07-03 14:16:55 +00:00
dircache.py posix -> os 1992-03-31 18:55:40 +00:00
dircmp.py * Got entirely rid of path.py. 1992-12-14 12:57:56 +00:00
dis.py Get rid of some obsolete opcodes. 1998-07-07 14:58:39 +00:00
dospath.py Added getsize(), getmtime(), getatime() 1998-07-24 20:49:26 +00:00
dumbdbm.py export error == IOError 1996-05-28 22:58:40 +00:00
dump.py New == syntax 1992-01-01 19:35:13 +00:00
exceptions.py Updated the docstring and class hierarchy diagram 1998-09-25 22:43:21 +00:00
fileinput.py Add missing initializer for self._backupfilename. Due to Ralph Butler. 1998-07-20 15:49:28 +00:00
find.py changes for the Mac 1995-01-27 02:41:45 +00:00
fnmatch.py Convert all remaining *simple* cases of regex usage to re usage. 1997-10-22 21:00:49 +00:00
formatter.py Mass check-in after untabifying all files that need it. 1998-03-26 21:13:24 +00:00
fpformat.py re -> regex conversions by Sjoerd. 1997-10-24 14:46:16 +00:00
ftplib.py According to Robin Dunn, at least one FTP server returns 200 instead 1998-07-02 20:41:20 +00:00
getopt.py Mass check-in after untabifying all files that need it. 1998-03-26 21:13:24 +00:00
getpass.py Do the check for lacking sys.stdin.fileno() *before* testing for 1998-09-22 02:38:42 +00:00
glob.py Convert all remaining *simple* cases of regex usage to re usage. 1997-10-22 21:00:49 +00:00
gopherlib.py A few lines were indented using spaces instead of tabs -- fix them. 1998-03-26 20:56:10 +00:00
grep.py Added pgrep() function, which is like grep/egrep/emgrep but uses Perl 1997-10-22 20:44:58 +00:00
gzip.py Patch by Ron Klatchko: fix invariant in _unread(). Also fixed 1998-08-03 15:41:39 +00:00
htmlentitydefs.py added &quot def 1996-05-28 23:18:55 +00:00
htmllib.py Mass check-in after untabifying all files that need it. 1998-03-26 21:13:24 +00:00
httplib.py Patch by Tim O'Malley for servers that send a response looking just like 1998-01-19 22:25:24 +00:00
ihooks.py Support loading of packages. (I had this coded up for a while but 1998-06-29 20:31:16 +00:00
imaplib.py Piers Lauder writes: 1998-10-21 22:06:56 +00:00
imghdr.py Allow open file as parameter (must be seekable) (Jack) 1997-10-08 15:22:32 +00:00
keyword.py Mass check-in after untabifying all files that need it. 1998-03-26 21:13:24 +00:00
knee.py Mass check-in after untabifying all files that need it. 1998-03-26 21:13:24 +00:00
linecache.py don't print Cannot open/stat messages 1995-08-10 19:32:22 +00:00
locale.py Mass check-in after untabifying all files that need it. 1998-03-26 21:13:24 +00:00
macpath.py Added getsize(), getmtime(), getatime() 1998-07-24 20:49:26 +00:00
macstat.py * Lib/linecache.py: don't crash on empty filename 1994-08-23 13:32:20 +00:00
macurl2path.py Quote/unquote slashes in macintosh pathname components (Jack Jansen). 1998-08-06 13:37:21 +00:00
mailbox.py Patch by Piet van Oostrum to avoid calculating with the result of 1998-07-20 15:24:01 +00:00
mailcap.py Mass check-in after untabifying all files that need it. 1998-03-26 21:13:24 +00:00
Makefile Remove .pyo files like .pyc files. 1997-10-20 23:16:58 +00:00
mhlib.py "if match(x) >= 0:" smells of regex matching; should use "if match(x):" 1998-06-23 14:43:06 +00:00
mimetools.py Use random instead of whrandom. 1998-05-20 17:05:52 +00:00
mimetypes.py Make mimetypes.guess_type understand data URLs. (Sjoerd Mullender) 1998-10-12 15:12:28 +00:00
MimeWriter.py Run the self-test (test.test_MimeWriter) when invoked as a script. 1998-04-23 13:34:57 +00:00
mimify.py [Sjoerd Mullender] 1998-08-07 15:26:56 +00:00
multifile.py # Make tabnanny happy. 1998-06-29 17:58:43 +00:00
mutex.py Change to always call list.append with a single argument. 1996-10-08 14:06:17 +00:00
newimp.py Official version 1.26 directly from Ken 1995-07-12 15:34:34 +00:00
nntplib.py Fix the comments describing the return values of the head(), body(), 1998-06-30 14:50:26 +00:00
ntpath.py Added getsize(), getmtime(), getatime() 1998-07-24 20:49:26 +00:00
nturl2path.py Allow paths without drive specifier (Jack). 1997-08-12 14:47:24 +00:00
os.py Support case insensitive treatment of os.environ keys on Windows and 1998-08-04 16:01:23 +00:00
packmail.py Put quotes around the filename, so spaces in filenames work. 1998-04-28 16:03:03 +00:00
pdb.doc Untabified and applied Richard Wolff's changes (plus my own reflowing 1998-09-17 15:01:38 +00:00
pdb.py When run as a script, don't pass a fake __main__ dictionary; use the 1998-10-15 01:38:23 +00:00
persist.py * ftplib.py: added abort() command (sends oob data). 1993-05-24 14:16:22 +00:00
pickle.py Jim Fulton writes: 1998-10-22 20:15:36 +00:00
pipes.py Convert all remaining *simple* cases of regex usage to re usage. 1997-10-22 21:00:49 +00:00
poly.py fix bug in poly.minus 1994-10-20 22:02:03 +00:00
popen2.py Mass check-in after untabifying all files that need it. 1998-03-26 21:13:24 +00:00
poplib.py There was a confusion in my checkin of the code to support list() with 1998-09-14 17:36:51 +00:00
posixfile.py Mass check-in after untabifying all files that need it. 1998-03-26 21:13:24 +00:00
posixpath.py Patch suggested by Perry Stoll -- os.path.normpath(".//x") returned 1998-09-08 22:28:06 +00:00
pprint.py Mass check-in after untabifying all files that need it. 1998-03-26 21:13:24 +00:00
profile.doc Merge alpha100 branch back to main trunk 1994-08-01 11:34:53 +00:00
profile.py After the previous changes, func_normalize() turned out to be redundant. 1998-09-21 17:40:47 +00:00
pstats.py Give in to Timmy's Tedious Tab Theorem. 1998-03-23 15:31:22 +00:00
pty.py New tty/pty modules by Steen; new urlparser. 1994-09-12 10:36:35 +00:00
py_compile.py Fix two bugs in the fstat() line, reported by Fredruk Lundh. 1998-10-07 14:06:03 +00:00
pyclbr.py Ever-so-slight improvementL the patterns to recognize import 1998-10-13 16:12:36 +00:00
Queue.py Replace all calls to acquire_lock() and release_lock() with acquire() 1998-04-29 14:29:32 +00:00
quopri.py A few lines were indented using spaces instead of tabs -- fix them. 1998-03-26 20:56:10 +00:00
random.py Added randrange to list of exported functions. 1998-07-31 13:40:05 +00:00
re.py The .subn() method wasn't setting _num_regs, which is used by the .groups() 1998-08-21 18:39:38 +00:00
reconvert.py Mass check-in after untabifying all files that need it. 1998-03-26 21:13:24 +00:00
regex_syntax.py Added "new" symbol defns for RE_ANSI_HEX and RE_NO_GNU_EXTENSIONS -- 1997-10-22 16:28:53 +00:00
regsub.py Store the current regex syntax along with the regular expression 1997-02-18 18:52:55 +00:00
repr.py use getattr() instead of eval(), fix string representations 1995-01-12 12:29:17 +00:00
rexec.py Get rid of the classes RModuleLoader and RModuleImporter -- these were 1998-09-21 14:53:26 +00:00
rfc822.py Don't use calculations on values gotten from tell(). Also use a 1998-07-21 14:24:04 +00:00
rlcompleter.py In completer(), return None instead of raising an IndexError when 1998-06-12 19:42:14 +00:00
robotparser.py Give in to tabnanny 1998-04-06 14:29:28 +00:00
sched.py Merge alpha100 branch back to main trunk 1994-08-01 11:34:53 +00:00
sgmllib.py Patch by Chris Herborth (posted to comp.lang.python)to make it behave 1998-08-24 20:59:13 +00:00
shelve.py Give in to tabnanny. 1998-04-06 14:14:25 +00:00
shutil.py Fix append() calls with more than 1 argument. 1998-10-07 13:18:17 +00:00
SimpleHTTPServer.py Mass check-in after untabifying all files that need it. 1998-03-26 21:13:24 +00:00
site.py Add built-in string variables 'quit' and 'exit' that display a hint on 1998-08-07 18:01:14 +00:00
smtplib.py Change interface to sendmail: if the destination address is a string 1998-08-13 19:57:46 +00:00
sndhdr.py sndhdr.py: restored lost file; audiodev.py: import platform specific 1994-01-14 16:46:14 +00:00
SocketServer.py Fixed the UDP server -- this never worked. Ray Loyzaga deserves 1998-06-16 02:27:33 +00:00
stat.py * Lib/linecache.py: don't crash on empty filename 1994-08-23 13:32:20 +00:00
statcache.py Use global statement instead of importing ourselves to get to global 1995-12-07 10:16:45 +00:00
string.py As Tim Peters points out, ``from string import *'' should not set re to None. 1998-04-20 14:01:00 +00:00
StringIO.py Raise the right exception (ValueError) for attempted I/O on closed StringIO 1998-08-18 17:43:08 +00:00
stringold.py As Tim Peters points out, ``from string import *'' should not set re to None. 1998-04-20 14:01:00 +00:00
sunau.py Small corrections to comments that were cloned from aifc; moreover 1998-04-23 21:40:02 +00:00
sunaudio.py Remove reference to obsolete module 'audio' 1992-06-03 16:47:49 +00:00
symbol.py Mass check-in after untabifying all files that need it. 1998-03-26 21:13:24 +00:00
tabnanny.py Print serious errors to stderr instead of stdout. 1998-09-14 16:22:21 +00:00
telnetlib.py Mass check-in after untabifying all files that need it. 1998-03-26 21:13:24 +00:00
tempfile.py The TemporaryFile() function has a security leak -- because the 1998-10-24 01:34:45 +00:00
threading_api.py The doc string for setDaemon() disagreed with the implementation. The 1998-08-07 19:15:20 +00:00
threading.py Get rid of tabnanny's last complaints. 1998-06-09 19:04:26 +00:00
toaiff.py * Mass change: get rid of all init() methods, in favor of __init__() 1993-12-17 15:25:27 +00:00
token.py Mass check-in after untabifying all files that need it. 1998-03-26 21:13:24 +00:00
tokenize.py Differentiate between NEWLINE token (an official newline) and NL token 1998-04-03 16:05:38 +00:00
traceback.py Add obvious needed else clause to format_exception(). 1998-03-18 17:48:06 +00:00
tty.py New tty/pty modules by Steen; new urlparser. 1994-09-12 10:36:35 +00:00
types.py Mass check-in after untabifying all files that need it. 1998-03-26 21:13:24 +00:00
tzparse.py Convert all remaining *simple* cases of regex usage to re usage. 1997-10-22 21:00:49 +00:00
urllib.py Changes by Eric Raymond: 1998-09-28 14:07:00 +00:00
urlopen.py urlopen: add basejoin() function. 1994-03-07 11:45:36 +00:00
urlparse.py Easy optimizations of urlparse for the common case of parsing an http URL. 1998-09-02 21:53:16 +00:00
user.py Mass check-in after untabifying all files that need it. 1998-03-26 21:13:24 +00:00
UserDict.py Mass check-in after untabifying all files that need it. 1998-03-26 21:13:24 +00:00
UserList.py Add pop method. 1998-06-30 15:40:05 +00:00
util.py Clarify comment. 1991-04-21 19:34:48 +00:00
uu.py Move 'import sys' to top of module, as noted by Tim Peters. 1998-10-22 16:18:25 +00:00
wave.py Small corrections to comments that were cloned from aifc; moreover 1998-04-23 21:40:02 +00:00
whatsound.py Turns out whatsound.py and sndhdr.py were identical modules. 1997-10-04 20:29:17 +00:00
whichdb.py Support byte-swapped dbhash (bsddb) files. Found by Ben Sayer. 1998-04-28 15:41:03 +00:00
whrandom.py Fixed a few lines that tabnanny complained about (one space before the 1998-08-10 20:07:53 +00:00
xdrlib.py Mass check-in after untabifying all files that need it. 1998-03-26 21:13:24 +00:00
xmllib.py Fixed a problem where xmllib didn't handle the tag 1998-10-19 13:28:26 +00:00
zmod.py New == syntax 1992-01-01 19:35:13 +00:00