Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
C
cpython
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
cpython
Commits
eabd9a13
Commit
eabd9a13
authored
May 13, 2003
by
Andrew M. Kuchling
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[Bug #729817] Document the rexec and Bastion modules as dead
parent
032bd0a9
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
17 additions
and
19 deletions
+17
-19
Doc/lib/libbastion.tex
Doc/lib/libbastion.tex
+5
-0
Doc/lib/librestricted.tex
Doc/lib/librestricted.tex
+7
-19
Doc/lib/librexec.tex
Doc/lib/librexec.tex
+5
-0
No files found.
Doc/lib/libbastion.tex
View file @
eabd9a13
...
...
@@ -4,7 +4,12 @@
\declaremodule
{
standard
}{
Bastion
}
\modulesynopsis
{
Providing restricted access to objects.
}
\moduleauthor
{
Barry Warsaw
}{
bwarsaw@python.org
}
\versionchanged
[Disabled module]
{
2.3
}
\begin{notice}
[warning]
The documentation has been left in place to help in reading old code
that uses the module.
\end{notice}
% I'm concerned that the word 'bastion' won't be understood by people
% for whom English is a second language, making the module name
...
...
Doc/lib/librestricted.tex
View file @
eabd9a13
\chapter
{
Restricted Execution
\label
{
restricted
}}
In general, Python programs have complete access to the underlying
operating system throug the various functions and classes, For
example, a Python program can open any file for reading and writing by
using the
\function
{
open()
}
built-in function (provided the underlying
operating system gives you permission!). This is exactly what you want
for most applications.
There exists a class of applications for which this ``openness'' is
inappropriate. Take Grail: a Web browser that accepts ``applets,''
snippets of Python code, from anywhere on the Internet for execution
on the local system. This can be used to improve the user interface
of forms, for instance. Since the originator of the code is unknown,
it is obvious that it cannot be trusted with the full resources of the
local machine.
\begin{notice}
[warning]
In Python 2.3 these modules have been disabled due to various known
and not readily fixable security holes. The modules are still
documented here to help in reading old code that uses the
\module
{
rexec
}
and
\module
{
Bastion
}
modules.
\end{notice}
\emph
{
Restricted execution
}
is the basic framework in Python that allows
for the segregation of trusted and untrusted code.
It
is based on the
for the segregation of trusted and untrusted code.
The framework
is based on the
notion that trusted Python code (a
\emph
{
supervisor
}
) can create a
``padded cell' (or environment) with limited permissions, and run the
untrusted code within this cell. The untrusted code cannot break out
...
...
@@ -66,10 +58,6 @@ environments:
\localmoduletable
\begin{seealso}
\seetitle
[http://www.python.org/doc/howto/rexec/]
{
Restricted Execution HOWTO
}
{
Andrew Kuchling's tutorial on the use of the restricted
execution facilities in Python.
}
\seetitle
[http://grail.sourceforge.net/]
{
Grail Home Page
}
{
Grail, an Internet browser written in Python, uses these
modules to support Python applets. More
...
...
Doc/lib/librexec.tex
View file @
eabd9a13
...
...
@@ -3,7 +3,12 @@
\declaremodule
{
standard
}{
rexec
}
\modulesynopsis
{
Basic restricted execution framework.
}
\versionchanged
[Disabled module]
{
2.3
}
\begin{notice}
[warning]
The documentation has been left in place to help in reading old code
that uses the module.
\end{notice}
This module contains the
\class
{
RExec
}
class, which supports
\method
{
r
_
eval()
}
,
\method
{
r
_
execfile()
}
,
\method
{
r
_
exec()
}
, and
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment