
guy at trigger
Nov 24, 2002, 6:24 PM
Post #1 of 1
(4482 views)
Permalink
|
|
Observations on teh effects of recent changes
|
|
Hello, I still having difficulty with requests being backhanded multiple times with the current CVS vesion, so I had a look at the recent code changes. First let me admit, I am a neophyte C programmer, but some of the recent changes, and the differences I am seeing in my logs, gave me an idea. Some of the changes (as shown below) attempt to prevent the adding of "backhand:" multiple times to the URI. I was seeing this in my logs, logged lines with many "backhand:" up until Friday morning when I switched to the CVS version. I also turned off SelfRedirect at this point, this may explain it also. Now I see only 1 flag added onto the URI, but this does not stop it from being backhanded multiple times. I realize that the lines below are in the "else" section of a block and the test for the "BackhandProxied" by header should have already verified that it had not been backhanded before, but this seems to not be the case. The fact that multiple "backhand:" flags can get added and require an enclosing test, I would have thought that the (r->handler = "backhand-redirection";) and the (r->content_type = "backhand/redirect";) lines should also be protected with an IF test *BEFORE* the flag is added to the URI to prevent the request from being backhanded again? === old mod_backhand.c === r->uri = ap_pstrcat(r->pool, "backhand:", r->uri, NULL); r->filename = ap_pstrdup(r->pool, r->uri); ========================== === new mod_backhand.c === if(strncmp(r->uri, "backhand:", 9)) r->uri = ap_pstrcat(r->pool, "backhand:", r->uri, NULL) if(strncmp(r->filename, "backhand:", 9)) r->filename = ap_pstrcat(r->pool, "backhand:", r->filename, NULL); r->handler = "backhand-redirection"; ========================== Does this make any sense? I also noticed one other thing, in the server-status snapshots I posted on the m_b_h users list, the source IP was showing the internal nodes address, rather than the actual machine that was making the request. The actual address (216.101.97.18) showed up on 1 request, but the cascaded requests all show the node addresses (10.1.1.2X). Hmmm the address seems to be getting trashed. Dennis Cartier P.S. I am posting this to the development list as it is more development related, and I thought you might like to see something other than the Nigerian money scam for a change :) --- The man with tremendous wealth is a paradox: he has to be smart enough to get it, yet stupid enough to want it. - Chesterton
|