cpython/Lib
Guido van Rossum 7f7c3d0a9c Address SF bug #577530: del __builtins__ breaks out of rexec
Using the suggestion there: add_module() forces __builtin__ back; this
fixes r_exec, r_eval, r_execfile.  The interactive console had to be
fixed separately, because it doesn't use r_exec, but relies on the
'locals' dict having the right __builtins__.  Fixed this by
subclassing InteractiveConsole and overriding runcode(), which does
the exec.  This changes the banner output slightly: instead of
starting with *** RESTRICTED ***, a subtler (RestrictedConsole) is
printed before the first >>> prompt.

Also import readline (if it exists) when the interactive console is
used, for more convenient input editing and history.

This does not mean that rexec is now considered safe!  But for those
willing to take the risk, it's safer than before.  (Note that a safety
analysis of the code module would be wise if you plan to use the
interactive console for real -- I've only ever used it to play with
restricted mode.)

This should be backported to 2.2 and 2.1.
2002-09-15 06:00:43 +00:00
..
compiler Remove uses of string module and stat.ST_MODE 2002-06-06 18:30:10 +00:00
curses Patch #521670: Remove unused sys import. 2002-02-23 22:31:53 +00:00
distutils Use distutils.debug.DEBUG instead of distutils.core.DEBUG. 2002-09-11 16:31:53 +00:00
email Bump to 2.3.1 to pick up the missing file. 2002-09-12 03:44:50 +00:00
encodings Whitespace normalization. 2002-08-23 18:19:30 +00:00
hotshot Massive changes from SF 589982 (tempfile.py rewrite, by Zack 2002-08-09 16:38:32 +00:00
idlelib Initial revision 2002-09-14 23:25:29 +00:00
lib-old
lib-tk SF patch #581396, Canvas "select_item" always returns None 2002-07-23 02:52:58 +00:00
plat-aix3
plat-aix4
plat-atheos Patch #488073: AtheOS port. 2002-06-11 06:22:31 +00:00
plat-beos5
plat-freebsd2
plat-freebsd3
plat-freebsd4
plat-freebsd5
plat-generic
plat-irix5 Fix a typo in the mktemp -> mkstemp patch. 2002-08-10 00:17:59 +00:00
plat-irix6 Fix a typo in the mktemp -> mkstemp patch. 2002-08-10 00:17:59 +00:00
plat-linux1
plat-linux2 Regenerated for Linux 2.2.4. 2001-12-22 15:23:50 +00:00
plat-netbsd1
plat-next3
plat-os2emx Create and populate OS/2 EMX port platform specific library directory: 2002-02-22 11:06:30 +00:00
plat-riscos SF patch 493739 2 Bugfixes for 2.2c1 (RISC OS specific), from 2001-12-15 22:12:47 +00:00
plat-sunos4
plat-sunos5
plat-unixware7
site-packages
test Don't test whether surrogate sequences round-trip in UTF-8. 2.2.2 candidate. 2002-09-14 09:19:53 +00:00
xml New entries to track the DOM API growth. These match names exposed in 2002-08-09 14:57:55 +00:00
BaseHTTPServer.py Use is None rather than general boolean 2002-05-31 23:03:33 +00:00
Bastion.py
CGIHTTPServer.py Typo repair. Please include in any backports. 2002-08-20 20:07:10 +00:00
ConfigParser.py Remove uses of the string and types modules: 2002-06-03 15:58:32 +00:00
Cookie.py Apply SF 562987 modernizing Cookie to subclass from dict instead of UserDict 2002-06-26 15:19:01 +00:00
FCNTL.py
HTMLParser.py Simplify code to remove an unnecessary test. 2002-05-14 15:50:11 +00:00
MimeWriter.py Patch 560023 adding docstrings. 2.2 Candidate (after verifying modules were not updated after 2.2). 2002-05-29 16:18:42 +00:00
Queue.py Code modernization. Replace v=s[i]; del s[i] with single lookup v=s.pop(i) 2002-06-30 03:39:14 +00:00
SimpleHTTPServer.py SF 563203. Replaced 'has_key()' with 'in'. 2002-06-01 14:18:47 +00:00
SimpleXMLRPCServer.py
SocketServer.py Replace 0 with False to match working in documentation. SF 599681. 2002-08-25 16:36:49 +00:00
StringIO.py Remove uses of the string and types modules: 2002-06-03 15:58:32 +00:00
TERMIOS.py
UserDict.py Add pop() to UserDict. 2002-04-13 14:03:38 +00:00
UserList.py
UserString.py Moved inplace add and multiply methods from UserString to MutableString. 2002-08-09 01:37:06 +00:00
__future__.py
__phello__.foo.py
_strptime.py Many hopefully benign style clean ups. Still passes the test suite of 2002-08-29 16:24:50 +00:00
aifc.py Fix wanrings about unsigned hex constants. 2002-08-12 22:11:28 +00:00
anydbm.py SF 563203. Replaced 'has_key()' with 'in'. 2002-06-01 14:18:47 +00:00
asynchat.py Code modernization. Replace v=s[i]; del s[i] with single lookup v=s.pop(i) 2002-06-30 03:39:14 +00:00
asyncore.py Fiddle with compact_traceback(). 2002-09-13 14:09:26 +00:00
atexit.py The atexit module effectively turned itself off if sys.exitfunc already 2002-07-16 19:30:59 +00:00
audiodev.py
base64.py
bdb.py SF 563203. Replaced 'has_key()' with 'in'. 2002-06-01 14:18:47 +00:00
binhex.py
bisect.py
calendar.py SF 570727 indexer() class no longer needed since lists now support slicing 2002-06-20 03:38:12 +00:00
cgi.py Patch suggested by Hamish Lawson: add an __iter__() that returns 2002-09-11 18:20:34 +00:00
cgitb.py Massive changes from SF 589982 (tempfile.py rewrite, by Zack 2002-08-09 16:38:32 +00:00
chunk.py Partial introduction of bools where appropriate. 2002-04-07 06:36:23 +00:00
cmd.py Code modernization. Replace v=s[i]; del s[i] with single lookup v=s.pop(i) 2002-06-30 03:39:14 +00:00
code.py Convert a pile of obvious "yes/no" functions to return bool. 2002-04-04 22:55:58 +00:00
codecs.py PEP 293 implemention (from SF patch http://www.python.org/sf/432401) 2002-09-02 13:14:32 +00:00
codeop.py
colorsys.py
commands.py
compileall.py Replaced obsolete stat module constants with equivalent attributes 2002-06-01 19:51:15 +00:00
copy.py Make sure that *any* object whose id() is used as a memo key is kept 2002-08-12 20:20:08 +00:00
copy_reg.py _reduce(): Avoid infinite recursion in the pickler when self.__class__ 2001-12-27 16:27:28 +00:00
dbhash.py
difflib.py SF 563203. Replaced 'has_key()' with 'in'. 2002-06-01 14:18:47 +00:00
dircache.py Replaced obsolete stat module constants with equivalent attributes 2002-06-01 19:51:15 +00:00
dis.py Further SET_LINENO reomval fixes. See comments in patch #587933. 2002-08-30 13:09:51 +00:00
doctest.py SF 563203. Replaced 'has_key()' with 'in'. 2002-06-01 14:18:47 +00:00
dospath.py Replaced obsolete stat module constants with equivalent attributes 2002-06-01 19:51:15 +00:00
dumbdbm.py SF 563203. Replaced 'has_key()' with 'in'. 2002-06-01 14:25:41 +00:00
filecmp.py Replaced .keys() with dictionary iterators 2002-06-02 18:55:56 +00:00
fileinput.py tightening up a few except: clauses 2002-08-14 02:58:16 +00:00
fnmatch.py SF 563203. Replaced 'has_key()' with 'in'. 2002-06-01 14:18:47 +00:00
formatter.py Remove uses of the string and types modules: 2002-06-03 15:58:32 +00:00
fpformat.py
ftplib.py Fix a regression from the 1.68->1.69 checkin: 2002-06-03 10:41:45 +00:00
getopt.py Add encoding declaration. 2002-08-04 17:22:59 +00:00
getpass.py
gettext.py Patch by Tim to shut up the compiler's DeprecationWarnings on the 2002-08-14 15:09:12 +00:00
glob.py
gopherlib.py SF 563203. Replaced 'has_key()' with 'in'. 2002-06-01 14:18:47 +00:00
gzip.py Remove mention of deprecated xreadlines method. 2002-08-06 17:03:25 +00:00
heapq.py Fixed misspelling in comment. 2002-08-11 18:28:09 +00:00
hmac.py Remove uses of the string and types modules: 2002-06-03 15:58:32 +00:00
htmlentitydefs.py
htmllib.py Patch 560023 adding docstrings. 2.2 Candidate (after verifying modules were not updated after 2.2). 2002-05-29 16:18:42 +00:00
httplib.py Move code for reading chunked responses in helper function, 2002-09-03 20:49:06 +00:00
ihooks.py SF 563203. Replaced 'has_key()' with 'in'. 2002-06-01 14:18:47 +00:00
imaplib.py Whitespace normalization. 2002-07-16 21:35:23 +00:00
imghdr.py
imputil.py Close SF patch 523944: importing modules with foreign newlines. 2002-06-28 23:32:51 +00:00
inspect.py This is my patch 2002-08-15 14:59:02 +00:00
keyword.py
linecache.py Replaced obsolete stat module constants with equivalent attributes 2002-06-01 19:51:15 +00:00
locale.py eliminate unqualified except when checking for presence of LC_MESSAGES 2002-03-25 21:40:36 +00:00
macpath.py Replaced obsolete stat module constants with equivalent attributes 2002-06-01 19:51:15 +00:00
macurl2path.py
mailbox.py Undocumented feature: MHMailbox sets the msg object's _mh_msgno 2002-09-12 05:08:00 +00:00
mailcap.py Replaced .keys() with dictionary iterators 2002-06-02 18:55:56 +00:00
markupbase.py Remove uses of the string and types modules: 2002-06-03 15:58:32 +00:00
mhlib.py Replace .keys() with .iteritems(). Second review and test by Alex. 2002-06-04 02:17:04 +00:00
mimetools.py Massive changes from SF 589982 (tempfile.py rewrite, by Zack 2002-08-09 16:38:32 +00:00
mimetypes.py Apply diff3.txt (plus additional documentation) 2002-09-06 16:15:58 +00:00
mimify.py
multifile.py Code modernization. Replace v=s[i]; del s[i] with single lookup v=s.pop(i) 2002-06-30 03:39:14 +00:00
mutex.py Code modernization. Replace v=s[i]; del s[i] with single lookup v=s.pop(i) 2002-06-30 03:39:14 +00:00
netrc.py Replace boolean test with is None. 2002-06-01 16:07:16 +00:00
new.py Forgot to add this. It's part of patch 568629. 2002-06-16 01:22:13 +00:00
nntplib.py Remove uses of the string and types modules: 2002-06-03 15:58:32 +00:00
ntpath.py Replaced obsolete stat module constants with equivalent attributes 2002-06-01 19:51:15 +00:00
nturl2path.py
os.py Change UserDict to IterableUserDict 2002-09-07 04:48:03 +00:00
os2emxpath.py Replaced obsolete stat module constants with equivalent attributes 2002-06-01 19:51:15 +00:00
pdb.doc
pdb.py At Jim Fulton's request, increase the maxstring value of _saferepr to 2002-09-10 21:57:14 +00:00
pickle.py Patch #505705: Remove eval in pickle and cPickle. 2002-08-14 07:46:28 +00:00
pipes.py Massive changes from SF 589982 (tempfile.py rewrite, by Zack 2002-08-09 16:38:32 +00:00
popen2.py Remove uses of the string and types modules: 2002-06-03 15:58:32 +00:00
poplib.py Replace boolean test with is None. 2002-06-01 16:07:16 +00:00
posixfile.py
posixpath.py SF # 555779, import user doesn't work with CGIs 2002-09-05 21:08:25 +00:00
pprint.py Change the "__ private" names to "_ protected"; this has been a pain for 2002-07-08 12:28:06 +00:00
pre.py Fix bug #570057: Broken pre.subn() (and pre.sub()) 2002-06-27 19:59:27 +00:00
profile.doc
profile.py Replaced .keys() with dictionary iterators 2002-06-02 18:55:56 +00:00
pstats.py Replaced .keys() with dictionary iterators 2002-06-02 18:55:56 +00:00
pty.py Patch #581705: Catch OSError, termios.error in spawn. 2.2 bugfix candidate. 2002-07-28 09:42:57 +00:00
py_compile.py Added a main() function and support to run this module as a script. 2002-08-21 20:56:21 +00:00
pyclbr.py Rewritten using the tokenize module, which gives us a real tokenizer 2002-08-23 01:36:01 +00:00
pydoc.py Added the standard MacOSX location for documentation inside a framework 2002-08-23 08:40:42 +00:00
quopri.py import statements only raise ImportError, right? 2002-03-23 05:55:18 +00:00
random.py SF bug 594996: OverflowError in random.randrange 2002-08-16 03:41:39 +00:00
re.py Add 'engine' back. IDLE used this, others might have copied it from 2002-07-28 19:04:07 +00:00
reconvert.py
regex_syntax.py
regsub.py SF 563203. Replaced 'has_key()' with 'in'. 2002-06-01 14:18:47 +00:00
repr.py
rexec.py Address SF bug #577530: del __builtins__ breaks out of rexec 2002-09-15 06:00:43 +00:00
rfc822.py unquote(): Didn't properly de-backslash-ify. This patch (adapted from 2002-09-11 02:32:14 +00:00
rlcompleter.py Remove uses of the string and types modules: 2002-06-03 15:58:32 +00:00
robotparser.py Remove import of re, it is not used 2002-05-31 14:14:06 +00:00
sched.py
sets.py Sped _update(). 2002-08-29 15:13:50 +00:00
sgmllib.py Replace boolean test with is None. 2002-06-02 00:40:05 +00:00
shelve.py
shlex.py Replace boolean test with is None. 2002-06-02 00:40:05 +00:00
shutil.py shutil.copyfile(src,dst) was clobbering the file when the src and dst were 2002-09-08 20:43:59 +00:00
site.py Add an XXX comment and a pointer to a full bug report. 2002-07-25 20:13:03 +00:00
smtpd.py smtp_RCPT(): Removed a somewhat embarrassing debugging line, found by 2002-05-14 02:13:30 +00:00
smtplib.py smptlib did not handle empty addresses. 2002-09-05 01:14:07 +00:00
sndhdr.py
socket.py On Windows, make sure SocketType is the same as socket. (SF bug 2002-08-22 17:31:16 +00:00
sre.py
sre_compile.py made the code match the comments (1.5.2 compatibility) 2002-06-27 20:08:25 +00:00
sre_constants.py
sre_parse.py Replace boolean test with is None. 2002-06-02 00:40:05 +00:00
stat.py
statcache.py Replaced obsolete stat module constants with equivalent attributes 2002-06-01 19:51:15 +00:00
statvfs.py
string.py Remove uses of the string and types modules: 2002-06-03 15:58:32 +00:00
stringold.py
sunau.py
sunaudio.py
symbol.py
symtable.py Replaced .keys() with dictionary iterators 2002-06-02 18:55:56 +00:00
tabnanny.py Use string methods where possible, and remove import string 2002-05-31 14:13:04 +00:00
telnetlib.py Replaced boolean tests with is None. 2002-06-02 03:04:52 +00:00
tempfile.py Get rid of _once(); inlining it takes less code. :-) 2002-08-17 14:50:24 +00:00
textwrap.py Tweak wordsep_re again: this time to recognize an em-dash with 2002-08-22 21:28:00 +00:00
this.py Whitespace cleanup. 2002-02-08 20:41:34 +00:00
threading.py Docstring nits: The module is neither proposed nor new. 2002-08-14 19:25:42 +00:00
toaiff.py Fix a typo in the mktemp -> mkstemp patch. 2002-08-10 00:17:59 +00:00
token.py
tokenize.py Speed up the most egregious "if token in (long tuple)" cases by using 2002-08-24 06:54:19 +00:00
traceback.py This is my patch 2002-08-15 14:59:02 +00:00
tty.py
types.py SF patch 568629 by Oren Tirosh: types made callable. 2002-06-14 20:41:17 +00:00
tzparse.py
unittest.py Add a missing call to _strclass(). 2002-08-13 20:43:46 +00:00
urllib.py When testing for localhost/ first map to lower case. Spotted by Skip. 2002-09-12 20:14:04 +00:00
urllib2.py Remove ugly irregular spaces from in front of some comments. 2002-08-13 13:59:55 +00:00
urlparse.py amk's fix attached to 2002-03-18 13:06:00 +00:00
user.py SF # 555779, import user doesn't work with CGIs 2002-09-05 21:08:25 +00:00
uu.py Replaced obsolete stat module constants with equivalent attributes 2002-06-01 19:51:15 +00:00
warnings.py Ignore IOError exceptions when writing the message. 2002-09-11 13:22:35 +00:00
wave.py
weakref.py Whitespace normalization. 2002-07-16 21:35:23 +00:00
webbrowser.py Replaced boolean tests with is None. 2002-06-02 03:04:52 +00:00
whichdb.py catch the situation where Berkeley DB is used to emulate dbm(3) library 2002-08-02 17:12:15 +00:00
whrandom.py Guido sez to remove the deprecation warning for a year. 2002-04-11 20:57:30 +00:00
xdrlib.py Derive exception classes from Exception 2002-03-31 13:59:18 +00:00
xmllib.py SF 563203. Replaced 'has_key()' with 'in'. 2002-06-01 14:18:47 +00:00
xmlrpclib.py Code modernization. Replace v=s[i]; del s[i] with single lookup v=s.pop(i) 2002-06-30 03:39:14 +00:00
zipfile.py Avoid warnings about <<. external_attr is now an unsigned long. 2002-08-12 15:15:51 +00:00