/
appendixc.tex
159 lines (148 loc) · 5.46 KB
/
appendixc.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
\chapter{Changes from Version (3.1.4)\label{app-changes}}
\indexii{Changes from}{version 3.1.4}
New Features
\begin{itemize}
\item
New \code{apache.register_cleanup()} method.
\item
New \code{apache.exists_config_define()} method.
\item
New file-based session manager class.
\item
Session cookie name can be specified.
\item
The maximum number of mutexes mod_python uses for session locking
can now be specifed at compile time using
\code{configure --with-max-locks}.
\item
New a version attribute in mod_python module.
\item
New test handler \code{testhandler.py} has been added.
\end{itemize}
Improvements
\begin{itemize}
\item
Autoreload of a module using \code{apache.import_module()} now works if
modification time for the module is different from the file.
Previously, the module was only reloaded if the the modification
time of the file was more recent. This allows for a more graceful
reload if a file with an older modification time needs to be
restored from backup.
\item
Iterable return values are now correctly published
\item
Fixed the publisher traversal security issue
\item
Objects hierarchy a la CherryPy can now be published.
\item
\code{mod_python.c} now logs reason for a 500 error
\item
Calls to \code{PyErr_Print} in \code{mod_python.c} are now followed by \code{fflush()}
\item
Using an empty value with PythonOption will unset a PythonOption key.
\item
\code{req.path_info} is now a read/write member.
\item
Improvements to FieldStorage allow uploading of large files. Uploaded
files are now streamed to disk, not to memory.
\item
Path to flex is now discovered at configuration time or can be
specifed using \code{configure --with-flex=/path/to/flex}.
\item
\code{sys.argv} is now initialized to \code{["mod_python"]} so that modules
like numarray and pychart can work properly.
\end{itemize}
Bug Fixes
\begin{itemize}
\item
Fixed memory leak which resulted from circular references starting
from the request object.
\item
Fixed memory leak resulting from multiple PythonOption directives.
\item
Fixed Multiple/redundant interpreter creation problem.
\item
Cookie attributes with attribute names prefixed with
\$ are now ignored. See Section \ref{pyapi-cookie} for more
information.
\item
Bug in setting up of config_dir from Handler directives fixed.
\item
mod_python.publisher will now support modules with the same name
but in different directories
\item
Fixed continual reloading of modules problem
\item
Fixed big marshalled cookies error.
\item
Fixed mod_python.publisher extension handling
\item
mod_python.publisher default index file traversal
\item
mod_python.publisher loading wrong module and giving no
warning/error
\item
\code{apply_fs_data()} now works with "new style" objects
\item
File descriptor fd closed after \code{ap_send_fd()} in \code{req_sendfile()}
\item
Bug in mem_cleanup in MemorySession fixed.
\item
Fixed bug in \code{_apache._global_lock()} which could cause a segfault
if the lock index parameter is greater number of mutexes created
at mod_python startup.
\item
Fixed bug where \code{local_ip} and \code{local_host} in connection object
were returning \code{remote_ip} and \code{remote_host} instead
\item
Fixed install_dso Makefile rule so it only installs the dso, not the
python files
\item
Potential deadlock in psp cache handling fixed
\item
Fixed bug where sessions are used outside <Directory> directive.
\item
Fixed compile problem on IRIX. \code{ln -s} requires both TARGET and LINK_NAME
on IRIX. ie. \code{ln -s TARGET LINK_NAME}
\item
Fixed \code{./configure} problem on SuSE Linux 9.2 (x86-64). Python libraries
are in lib64/ for this platform.
\item
Fixed \code{req.sendfile()} problem where \code{sendfile(filename)} sends the incorrect
number of bytes when filename is a symlink.
\item
Fixed problem where util.FieldStorage was not correctly checking the mime
types of POSTed entities
\item
Fixed \code{conn.local_addr} and \code{conn.remote_addr} for a better IPv6 support.
\item
Fixed \code{psp_parser.l} to properly escape \code{backslash-n}, \code{backslash-t}
and \code{backslash-r} character sequences.
\end{itemize}
\chapter{Changes from Previous Major Version (2.x)\label{app-changes}}
\indexii{Changes from}{version 2.x}
\begin{itemize}
\item
Mod_python 3.0 no longer works with Apache 1.3, only Apache 2.x is
supported.
\item
Mod_python no longer works with Python versions less than 2.2.1
\item
Mod_python now supports Apache filters.
\item
Mod_python now supports Apache connection handlers.
\item
Request object supports internal_redirect().
\item
Connection object has read(), readline() and write().
\item
Server object has get_config().
\item
\index{Httpdapy} \index{httpdapi}
Httpdapi handler has been deprecated.
\item
\index{ZPublisher}
Zpublisher handler has been deprecated.
\item
Username is now in req.user instead of req.connection.user
\end{itemize}