On Mon, Dec 19, 2005 at 05:40:14PM -0700, Sean Gabriel Heacock wrote:
> On Sat, 2005-12-17 at 17:03 +0100, Leen Besselink wrote:
> > And yes, it doesn't compile.
>
Morning,
> This sounds like what was changed in 2.0.53 - try this patch... or I
> will, when I finally get a chance.
>
> http://home.xnull.de/work/gentoo/apache/dist/2.0/patches/10_all_peruser-0.1.6-brigadefix.patch
>
> I'm hoping to get this stuff done over Christmas, since my clients and
> customers should be leaving me alone for a few days :)
As I e-mailed before apr_recv is an undefined function in 2.2, actually in APR.
I just had a look and found the srclib/apr/CHANGES-file, part of it is shown at
the bottom of this e-mail. Why didn't I think of that sooner ? So I changed
apr_recv to apr_socket_recv and now it compiles:
$ ./httpd -v
Server version: Apache/2.2.0
Server built: Dec 20 2005 08:49:37
$ ./httpd -l
Compiled in modules:
core.c
mod_authn_file.c
mod_authn_default.c
mod_authz_host.c
mod_authz_groupfile.c
mod_authz_user.c
mod_authz_default.c
mod_auth_basic.c
mod_include.c
mod_filter.c
mod_log_config.c
mod_env.c
mod_setenvif.c
peruser.c
http_core.c
mod_mime.c
mod_status.c
mod_autoindex.c
mod_asis.c
mod_cgi.c
mod_negotiation.c
mod_dir.c
mod_actions.c
mod_userdir.c
mod_alias.c
mod_so.c
from srclib/apr/CHANGES:
*) The following deprecated interfaces have been removed:
apr_accept -> apr_socket_accept
apr_allocator_get_mutex -> apr_allocator_mutex_get
apr_allocator_get_owner -> apr_allocator_owner_get
apr_allocator_set_max_free -> apr_allocator_max_free_set
apr_allocator_set_mutex -> apr_allocator_mutex_set
apr_allocator_set_owner -> apr_allocator_owner_set
apr_atomic_add -> apr_atomic_add32
apr_atomic_cas -> apr_atomic_cas32
apr_atomic_dec -> apr_atomic_dec32
apr_atomic_inc -> apr_atomic_inc32
apr_atomic_read -> apr_atomic_read32
apr_atomic_set -> apr_atomic_set32
apr_bind -> apr_socket_bind
apr_compare_groups -> apr_gid_compare
apr_compare_users -> apr_uid_compare
apr_connect -> apr_socket_connect
apr_current_userid -> apr_uid_current
apr_explode_localtime -> apr_time_exp_lt
apr_explode_time -> apr_time_exp_tz
apr_filename_of_pathname -> apr_filepath_name_get
apr_file_set_inherit -> apr_file_inherit_set
apr_file_unset_inherit -> apr_file_inherit_unset
apr_getsocketopt -> apr_socket_opt_get
apr_get_groupid -> apr_gid_get
apr_get_groupname -> apr_gid_name_get
apr_get_home_directory -> apr_uid_homepath_get
apr_get_userid -> apr_uid_get
apr_get_username -> apr_uid_name_get
apr_group_name_get -> apr_gid_name_get
apr_implode_gmt -> apr_time_exp_gmt_get
apr_is_fnmatch -> apr_fnmatch_test
apr_listen -> apr_socket_listen
apr_lstat -> apr_stat
apr_pool_get_abort -> apr_pool_abort_get
apr_pool_get_parent -> apr_pool_parent_get
apr_pool_set_abort -> apr_pool_abort_set
apr_pool_sub_make -> apr_pool_create_ex
apr_proc_other_child_read -> apr_proc_other_child_alert
apr_recv -> apr_socket_recv
apr_recvfrom -> apr_socket_recvfrom
apr_send -> apr_socket_send
apr_sendfile -> apr_socket_sendfile
apr_sendto -> apr_socket_sendto
apr_sendv -> apr_socket_sendv
apr_setsocketopt -> apr_socket_opt_set
apr_shutdown -> apr_socket_shutdown
apr_signal_get_description -> apr_signal_description_get
apr_sockaddr_ip_set -> apr_sockaddr_info_get
apr_sockaddr_port_get -> (access directly)
apr_sockaddr_port_set -> apr_sockaddr_info_get
apr_socket_create_ex -> apr_socket_create
apr_socket_set_inherit -> apr_socket_inherit_set
apr_socket_unset_inherit -> apr_socket_inherit_unset
FNM_NOMATCH -> APR_FNM_NOMATCH
FNM_NOESCAPE -> APR_FNM_NOESCAPE
FNM_PATHNAME -> APR_FNM_PATHNAME
FNM_PERIOD -> APR_FNM_PERIOD
FNM_CASE_BLIND -> APR_FNM_CASE_BLIND
MAX_SECONDS_TO_LINGER -> APR_MAX_SECONDS_TO_LINGER
The following interfaces have function argument changes:
apr_mmap_dup
apr_socket_create
The following header files have been removed:
apr_compat.h
--- httpd-2.2.0~/server/mpm/experimental/peruser/peruser.c 2005-12-17
11:43:10.000000000 +0100
+++ httpd-2.2.0/server/mpm/experimental/peruser/peruser.c 2005-12-20
08:49:08.000000000 +0100
@@ -678,7 +678,7 @@
if (die_now) return APR_SUCCESS;
/* apr_thread_mutex_lock(pipe_of_death_mutex); */
- ret = apr_recv(lr->sd, &pipe_read_char, &n);
+ ret = apr_socket_recv(lr->sd, &pipe_read_char, &n);
if (APR_STATUS_IS_EAGAIN(ret))
{
/* It lost the lottery. It must continue to suffer
@@ -886,10 +886,8 @@
net = filter->ctx;
net->in_ctx = apr_palloc(conn->pool, sizeof(*net->in_ctx));
net->in_ctx->b = bb;
-/*
net->in_ctx->tmpbb = apr_brigade_create(net->in_ctx->b->p,
net->in_ctx->b->bucket_alloc);
-*/
}
}
_DBG("leaving (DECLINED)", 0);
_______________________________________________
Peruser mailing list
[email protected]
http://www.telana.com/mailman/listinfo/peruser