Commit Graph

83 Commits

Author SHA1 Message Date
Tim Peters 8484fbf0f6 SF bug 1003471: Python 1.5.2 security vulnerability
This was probably fixed in rev 1.32 of getpath.c, but there are so
many paths thru the code that invoke joinpath() it's not at all
obvious that it *is* fixed.  It doesn't help confidence that a crucial
precondition for calling joinpath() was neither documented nor verified.
It is now, and joinpath() will barf with a fatal error now rather than
overrun the buffer, if the precondition isn't met.

Note that this patch only changes the Windows flavor.  I attached another
patch to the bug report for the POSIX flavor (which I can't test
conveniently).
2004-08-07 19:12:27 +00:00
Thomas Heller 6019f9a65d Remove a stray single quote.
Will backport to release23-maint.
2003-08-18 17:53:33 +00:00
Mark Hammond 61bb35f440 Fix [ 583477 ] wrong dest size.
Note this code is not used by the core on Win32, but in a block used only
by Windows CE.
2003-01-29 22:38:29 +00:00
Neal Norwitz a8aed02f1e Make sure zip_path is null-terminated, since it's on the stack 2002-12-31 12:35:41 +00:00
Just van Rossum 52e14d640b PEP 302 + zipimport:
- new import hooks in import.c, exposed in the sys module
- new module called 'zipimport'
- various changes to allow bootstrapping from zip files

I hope I didn't break the Windows build (or anything else for that
matter), but then again, it's been sitting on sf long enough...

Regarding the latest discussions on python-dev: zipimport sets
pkg.__path__ as specified in PEP 273, and likewise, sys.path item such as
/path/to/Archive.zip/subdir/ are supported again.
2002-12-30 22:08:05 +00:00
Mark Hammond 2795dae20d Remove a strange single quote that didn't seem to upset the compilers! 2002-07-22 13:28:21 +00:00
Martin v. Löwis 6238d2b024 Patch #569753: Remove support for WIN16.
Rename all occurrences of MS_WIN32 to MS_WINDOWS.
2002-06-30 15:26:10 +00:00
Martin v. Löwis cdc4451222 Include <unistd.h> in Python.h. Fixes #500924. 2002-01-12 11:05:12 +00:00
Mark Hammond 19fdbfb5c4 Fix bug #410274 - sys.prefix isn't always set.
If after calculating sys.path we do not have sys.prefix set, we loop over all path entries checking if one can point to our home directory.
2001-09-07 14:08:01 +00:00
Neil Schemenauer 7d4bb9f179 Add -E command line switch (ignore environment variables like PYTHONHOME
and PYTHONPATH).
2001-07-23 16:30:27 +00:00
Mark Hammond 5edc627f66 Checkin updated version of patch #103933 . As Thomas says, fixes the bugs #131064, #129584, #127722. See the discussion in bug #131064 2001-02-23 11:38:38 +00:00
Mark Hammond 8bf9e3b943 Prevent possible buffer overflow exploits under Windows. As per (the very quick) patch Patch #101801. 2000-10-07 11:10:50 +00:00
Mark Hammond e61aca7d4a Patch for [ Bug #113828 ] getpythonregpath with null data in registry key
If there was a NULL registry key, Python could barf.

Also wraps some surrounding lines to 80 chars.
2000-09-10 09:14:53 +00:00
Guido van Rossum 8586991099 REMOVED all CWI, CNRI and BeOpen copyright markings.
This should match the situation in the 1.6b1 tree.
2000-09-01 23:29:29 +00:00
Thomas Wouters a534594fc7 ANSIfication: remove very-old-varargs code, fix function declarations so
they include prototypes.
2000-07-22 23:59:33 +00:00
Thomas Wouters 7889010731 Miscelaneous ANSIfications. I'm assuming here 'main' should take (int,
char**) and return an int even on PC platforms. If not, please fix
PC/utils/makesrc.c ;-P
2000-07-22 19:25:51 +00:00
Guido van Rossum ffcc3813d8 Change copyright notice - 2nd try. 2000-06-30 23:58:06 +00:00
Guido van Rossum fd71b9e9d4 Change copyright notice. 2000-06-30 23:50:40 +00:00
Guido van Rossum 1c44e28766 Trent Mick: familiar simple Win64 patches 2000-06-28 22:20:06 +00:00
Jeremy Hylton 847a9968e9 Patch from M.-A. Lemburg:
Python on UNIX now trusts PYTHONHOME unconditionally

Modules/getpath.c:

Landmark changed to os.py.

Setting PYTHONHOME now unconditionally sets sys.prefix
(and sys.exec_prefix). No further checks are done whether the
standard lib can be found in that location or not. This is in
sync with the PC subdir getpath implementations.

PC/getpathp.c:

Landmark changed to os.py.

PC/os2vacpp/getpathp.c:

Landmark changed to os.py.

Note: BAW's checkin on exceptions.c eliminates earlier concerns about
a bogus PYTHONHOME value leading to a core dump.  Instead it causes a
useless sys.path and prevents imports.
2000-05-26 21:49:07 +00:00
Guido van Rossum 88716bba55 Revamped path access again, by Mark Hammond, to be more robust in the
light of three different situations: (1) running from build; (2)
running from installed; (3) running without being able to find an
installation (e.g. as a COM object).  The system paths in the
repository are only used for (3); the path deduced from the
installation location are used otherwise.  PYTHONHOME overrides in all
cases.

Read the comments for more details.
2000-03-30 19:45:39 +00:00
Guido van Rossum e02e48be6f Changes to completely ignore the registry when it detects that you are
running out of the build directory.  This means that it will no longer
try to use an older version of the library when an older version has
been installed.
2000-03-29 01:49:47 +00:00
Guido van Rossum 24edfbb61d Back out of a recent policy change (Mark Hammond disagreed).
The registry always comes first and the default is always appended.
1998-08-11 20:35:56 +00:00
Guido van Rossum 43ff114d2b Sigh. More restructuring was needed.
Make an explicit test for whether the prefix is in fact the
source directory, and then don't use the registry.
1998-08-08 23:40:40 +00:00
Guido van Rossum c499572a98 This file's previous log message is bogus. The real change is that
when it gets the path from the registry, it no longer appends the
default path to the end (which would mostly be a duplication).
1998-08-08 20:05:31 +00:00
Guido van Rossum 67ab67218b Different version games:
- MS_DLL_ID is now set to "1.5" instead of "1.5.x" so Mark Hammond's
  extensions won't have to be changed.
- FILEVERSION and PRODUCTVERSION are set to 1,5,2,1.
  (The last number could be the build# or the alpha release# or so.)
1998-08-08 19:58:59 +00:00
Guido van Rossum 8b2b3ce4be Two changes:
(1) Use Py_GetPythonHome() instead of getenv("PYTHONHOME");

(2) Mark Hammond's patch to search for .pyc/.pyo landmark as well.
1998-07-27 13:48:07 +00:00
Guido van Rossum 42a9744d5f Fix some outdated comments (mostly by removing a large comment block
that was only causing confusing).  Add free(userpath) and
free(machinepath) statements to prevent some leaks.
1998-02-19 21:00:45 +00:00
Guido van Rossum 691d2adeef Allocate one byte extra in some cases. 1997-12-11 02:32:43 +00:00
Guido van Rossum 271f977686 Seem to be some changes related to DLL version from string resource,
again (Mark Hammond is the cause of all this).
1997-09-29 23:39:31 +00:00
Guido van Rossum eea1449a34 Much rewritten. Added Win32 registry stuff (from getpath_nt.c, which
is now obsolete), and changed the default path calculations.
$PYTHONPATH is now added as a prefix (like it's always been on Unix);
$PYTHONHOME takes precedence over the program pathname; and only one
landmark is needed.
1997-08-13 21:30:44 +00:00
Guido van Rossum 8f1b651980 Some changes to make it work on NT; add the directory where the binary
lives to the end of the path.

(Still to do: add $PYTHONPATH to the front instead of using it as is;
add the Win32 registry paths as in getpath_nt.c (which can then
retire).)
1997-08-13 19:55:43 +00:00
Guido van Rossum 1aa7e3a177 Jim Ahlstrom's contributions for DOS, OS/2, WIN3.1. 1997-05-19 14:16:21 +00:00