--- mod_python-3.3.1/src/mod_python.c~ 2006-11-09 07:21:23.000000000 +0100 +++ mod_python-3.3.1/src/mod_python.c 2013-05-05 21:57:30.378136612 +0200 @@ -561,8 +561,8 @@ #if !defined(OS2) && !defined(WIN32) && !defined(BEOS) && !defined(NETWARE) if (!geteuid()) { - chown(fname, unixd_config.user_id, -1); - unixd_set_global_mutex_perms(mutex[n]); + chown(fname, ap_unixd_config.user_id, -1); + ap_unixd_set_global_mutex_perms(mutex[n]); } #endif } --- mod_python-3.3.1/src/serverobject.c~ 2006-12-03 05:36:37.000000000 +0100 +++ mod_python-3.3.1/src/serverobject.c 2013-05-05 22:53:26.721477649 +0200 @@ -191,7 +191,7 @@ {"server_hostname", T_STRING, OFF(server_hostname)}, {"port", T_SHORT, OFF(port)}, {"error_fname", T_STRING, OFF(error_fname)}, - {"loglevel", T_INT, OFF(loglevel)}, + {"loglevel", T_INT, OFF(log.level)}, {"is_virtual", T_INT, OFF(is_virtual)}, /* XXX implement module_config ? */ /* XXX implement lookup_defaults ? */ @@ -288,7 +288,9 @@ static PyObject *my_generation(serverobject *self, void *objname) { - return PyInt_FromLong((long)ap_my_generation); + ap_generation_t mpm_generation; + ap_mpm_query(AP_MPMQ_GENERATION, &mpm_generation); + return PyInt_FromLong((long)mpm_generation); } static PyObject *restart_time(serverobject *self, void *objname) --- mod_python-3.3.1/src/connobject.c.orig 2013-05-05 23:03:40.876114437 +0200 +++ mod_python-3.3.1/src/connobject.c 2013-05-05 23:10:10.889444946 +0200 @@ -286,8 +286,10 @@ /* XXX vhost_lookup_data? */ /* XXX client_socket? */ {"local_addr", T_OBJECT, 0, RO}, + {"client_addr", T_OBJECT, 0, RO}, {"remote_addr", T_OBJECT, 0, RO}, - {"remote_ip", T_STRING, OFF(remote_ip), RO}, + {"client_ip", T_STRING, OFF(client_ip), RO}, + {"remote_ip", T_STRING, OFF(client_ip), RO}, {"remote_host", T_STRING, OFF(remote_host), RO}, {"remote_logname", T_STRING, OFF(remote_logname), RO}, {"aborted", T_INT, 0, RO}, @@ -414,8 +416,11 @@ else if (strcmp(name, "local_addr") == 0) { return makesockaddr(self->conn->local_addr); } + else if (strcmp(name, "client_addr") == 0) { + return makesockaddr(self->conn->client_addr); + } else if (strcmp(name, "remote_addr") == 0) { - return makesockaddr(self->conn->remote_addr); + return makesockaddr(self->conn->client_addr); } else if (strcmp(name, "notes") == 0) { Py_INCREF(self->notes); --- mod_python-3.3.1/src/requestobject.c~ 2006-12-03 05:36:37.000000000 +0100 +++ mod_python-3.3.1/src/requestobject.c 2013-06-21 00:41:47.635302626 +0200 @@ -1230,7 +1230,12 @@ follow requires, e.g. "requires role terminator". */ - const apr_array_header_t *reqs_arr = ap_requires(self->request_rec); + const apr_array_header_t *reqs_arr = +#if AP_SERVER_MAJORVERSION_NUMBER > 2 || AP_SERVER_MINORVERSION_NUMBER >= 3 + NULL; +#else + ap_requires(self->request_rec); +#endif require_line *reqs; int i, ti = 0;