httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ruediger Pluem <>
Subject Re: [PATCH] Bug 36816: balancer_manager doesn't work if worker name contains port
Date Mon, 10 Oct 2005 21:13:01 GMT

On 10/10/2005 05:43 PM, Jim Jagielski wrote:
> For consideration:


Thanks for your thoughts.
BTW: It was a little bit tricky to apply the patch as my Mozilla
seems to have changed things in the mail spaces / empty lines.
So I guess attached patches are easier to handle :-).

I think I found one big problem with the patch:

When we call ap_proxy_get_worker in line 1316 of proxy_util.c
(ap_proxy_pre_request), then the parameter url already contains
the complete URL we must call on the remote server. Example:

ProxyPass /mirror/foo

This would result in a worker named

Calling would be translated to

proxy: in the translate_name hook of mod_proxy.

Thus ap_proxy_get_worker would be called with the URL
which would lead to a no match. I guess instead of a simple strcasecmp
we need something like a "longest match" here since I think we cannot rely
on the order the workers got stored. Do you know if a "longest match" function
is already at hand somewhere in apr / apr-util or httpd?

BTW: A similar problem should exist with the current code as in this case
ap_proxy_get_worker tries to compare with
which also fails.

Other smaller problems that need to be solved:

1. Some style and output issues with the manager html interface (e.g.delete column scheme)
   I already did this and extended your patch with these things.
   Please have a look if you like the design :-).

2. The xml output is currently broken as it only works with schema and hostname.
   I am not quite sure if

   1. there is an xml schema already defined for this and needs to be adjusted
   2. we need to parse the worker name and replace some of the characters with
      xml entities.

   I think we need to fix this or if not at least a remark in the documentation
   should be made that the xml output is currently broken.



View raw message