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

Reply via email to