Checkout Tools
  • last updated 3 hours ago
Constraints: committers
Constraints: files
Constraints: dates
Added links in Request member docs to server object and connection object.

  1. … 2 more files in changeset.
Bumped version strings in preparation for 3.3.1 release.

  1. … 2 more files in changeset.
Preparation for tagging 3.3.0b.

Bumped version strings.

Changed prerequisites to python 2.3.4 and apache 2.0.54.

  1. … 3 more files in changeset.
(MODPYTHON-170) Added req._request_rec, server._server_rec and

conn._conn_rec semi private members for getting accessing to underlying

Apache struct as a Python CObject. These can be used for use in

implementing SWIG bindings for lower level APIs of Apache. These members

should be regarded as experimental and there are no guarantees that they

will remain present in this specific form in the future.

  1. … 5 more files in changeset.
(MODPYTHON-143) Have the handler root fallback to be the document root when

handler directives are used in Location directive or in root context of

VirtualHost or actual server. This handler root is what is used as the

first place to look for a module when using apache.import_module() or when

it is necessary to expand a path prefixed by '~/'.

  1. … 2 more files in changeset.
(MODPYTHON-128) The apache.stat() function, which is a wrapper for the

apr_stat() function, should still return a valid finfoobject when the

target of the apr_stat() call does not exist. This is instead of raising

an exception. This is necessary as otherwise there is no way of replacing

req.finfo with a finfoobject where req.finfo.filetype is APR_NOFILE. An

exception will only be raised now if a truly unexpected problem arises.

Callers of apache.stat() need to check finfo.filetype for APR_NOFILE if

they need to know if target existed or not.

  1. … 2 more files in changeset.
(MODPYTHON-129) Changed how return status of stacked handlers registered

against PythonHandler phase are interpreted. Subsequent stacked content

handlers are now executed when apache.DECLINED is returned as well as when

apache.OK is returned.

  1. … 4 more files in changeset.
The attribute req.used_path_info is now modifiable and can be set from

within handlers. This is equivalent to having used the AcceptPathInfo


  1. … 4 more files in changeset.
(MODPYTHON-195) Fix potential Win32 resource leaks in parent Apache process

when process restarts occur.

  1. … 3 more files in changeset.
(MODPYTHON-191) Session class will no longer accept a normal cookie if a

signed cookie was expected.

(MODPYTHON-200) Fixed problem whereby signed and marshalled cookies could

not be used at the same time. When expecting marshalled cookie, any signed,

but not marshalled cookies will be returned as normal cookies.

  1. … 8 more files in changeset.
Remove superfluous connobject server attribute.

  1. … 1 more file in changeset.
(MODPYTHON-125) When assigning to req.handler, should allow it to be set

to None to reset it.

  1. … 3 more files in changeset.
Bump version strings.

  1. … 1 more file in changeset.
The request object add_handler() function should allow None to be supplied

as the optional path argument and have it be interpreted as if the argument

was never supplied in the first place.

  1. … 2 more files in changeset.
(MODPYTHON-143) Fix module cache debug output whereby it dies when no

modules in per request cache. Also update output so it lists children as

paths instead of magic module name. Also distinguish friends from children,

friends being modules that were imported as part of the execution of the

request handler and not module import and therefore aren't included in

dependency checks to determine if module should be reloaded.

  1. … 2 more files in changeset.
(MODPYTHON-93) Added clear(), __delitem__() and __setitem__() methods. The

__setitem__() method is an alias for add_field() and thus is additative

unlike a traditional dictionary.

  1. … 3 more files in changeset.
(MODPYTHON-143) Dump out information about modules touched by a request when

an exception occurs in the importing of the modules or in executing the

handler and the exception isn't caught and is resulting in an internal

server error response.

  1. … 2 more files in changeset.
(MODPYTHON-93) Fix up issues whereby quick lookup table onto list of form

fields isn't update when add_field() is used after first time that a lookup

of table is performed. The changes also allow direct changes to the list of

fields to be made with the lookup table being invalidated so that it will

be rebuilt the next time it is required.

  1. … 2 more files in changeset.
(MODPYTHON-193) Added new req.hlist.location attribute so that value to a

Location/LocationMatch directive can be determined. Also fixed crash when

req.hlist is accessed from inside a filter and do some restructuring of how

errors are logged and displayed back to browser.

  1. … 7 more files in changeset.
(MODPYTHON-196) Added log_error() methods to server and connection objects.

Also removed some unused variables which were causing compiler warnings.

  1. … 8 more files in changeset.
(MODPYTHON-128) Removed apache.lstat() due to apr_lstat() having being

deprecated in Apache 2.2. Similar outcome can be had by supplying

APR_FINFO_LINK flag with arguments to apache.stat().

  1. … 5 more files in changeset.
(MODPYTHON-194) Fixed potential memory leak when thread state objects weren't

cleared before they were being deleted.

  1. … 3 more files in changeset.
(MODPYTHON-180) Publisher would wrongly output a warning about nothing to

publish if req.write() or req.sendfile() used and data not flushed, and

then published function returned None.

  1. … 4 more files in changeset.
(MODPYTHON-171) Reverted changes which resulted in automatic normalisation

of path assigned to req.filename. This is because req.filename is sometimes

used to pass values which isn't strictly a path between handlers. For example

when setting up proxy-server module. Doing normalisation in this case would

thus cause these handlers to fail as extraneous leading slash could be

added to req.filename.

  1. … 3 more files in changeset.
(MODPYTHON-184) Fix memory leak in apache.make_table(). This was used by

util.FieldStorage class so affected all code using forms.

  1. … 2 more files in changeset.
(MODPYTHON-128) Changed req.finfo to be an object where fields of underlying

fields of apr_finfo_t structure are accessed as object attributes. Tuple

style access is still maintained for backward compatability. The req.finfo

attribute is now also writable and can be assigned with the result of calling

new functions apache.stat() and apache.lstat().

  1. … 10 more files in changeset.
(MODPYTHON-165) Exported functions from mod_python module to be used in

other third party modules for Apache. The purpose of these functions is to

allow those other modules to access the mechanics of how mod_python creates

interpreters, thereby allowing other modules to also embed Python and for

there not to be a conflict with mod_python.

  1. … 2 more files in changeset.
(MODPYTHON-143) Made the new importer the default. Now have to use the

PythonOption 'mod_python.legacy.importer' to specify names of interpreters

or '*' for all interpreters, if you want to use old importer. Now possible

to set PythonOption 'mod_python.importer.path' to specify a search path

for modules. Ie., like PythonPath, but only for the new importer. Feature

whereby possible to use '~/' as prefix to explicit module name to the

apache.import_module() function now reinstated. This allows a way of importing

module easily from directory for which the handler directive was specified.

The PythonOption 'mod_python.import.search_handler_root' has been dropped

as same thing can be achieved using 'mod_python.importer.path' option or

by explicit importation from handler root. Added two new functions

apache.modules_graph() and apache.request_modules_graph() which return as

a string a DOT graph definition of relationship between all modules imported

or just those specific to the current request. These functions are only

present when new importer is being used.

  1. … 4 more files in changeset.
Bumped version strings.

  1. … 1 more file in changeset.
When handler directives are used within Directory or DirectoryMatch

directives where wildcards or regular expressions are used, the handler

directory will now be correctly set to the shortest directory matched by

the directory pattern, whereas previously it was being left as the

pattern which meant that modules located with that directory weren't

able to be loaded.

  1. … 7 more files in changeset.