mod_substitute erratic behaviour

2010-10-21 Thread Nick Gearls
 mod_substitute, when triggered on the attached text with any 
substitution, screws up the message: it either completely mixes 
characters and truncates the text, or leads to an encoding error 
(detected by the browser).


Ex: s/e/x/n
Remark: when using the q parameter, it works. The n parameter has no 
impact.


I cannot reproduce that on any other text (big one, very long lines, etc.)

Any idea?

Nick

--
if(!window.Richfaces){window.Richfaces={};}
Richfaces.mergeStyles=function(userStyles,commonStyles){var i;for(i in userStyles){if(typeof 
userStyles[i]==object){this.mergeStyles(userStyles[i],commonStyles[i]);}else{if(commonStyles[i]){commonStyles[i]+=
 +userStyles[i];}else{commonStyles[i]=userStyles[i];}}}
return commonStyles;};Richfaces.getComputedStyle=function(eltId,propertyName){var 
elt=$(eltId);if(elt.nodeType!=Node.ELEMENT_NODE){return;}
if(elt.currentStyle){return elt.currentStyle[propertyName];}
if(document.defaultViewdocument.defaultView.getComputedStyle){var 
styles=document.defaultView.getComputedStyle(elt,null);if(styles){return 
styles.getPropertyValue(propertyName);}}
return;};Richfaces.getComputedStyleSize=function(eltId,propertyName){var 
value=Richfaces.getComputedStyle(eltId,propertyName);if(value){value=value.strip();value=value.replace(/px$/,);return
 parseFloat(value);}
return 0;};Richfaces.getWindowSize=function(){var 
myWidth=0,myHeight=0;if(typeof(window.innerWidth)=='number'){myWidth=window.innerWidth;myHeight=window.innerHeight;}else
 
if(document.documentElement(document.documentElement.clientWidth||document.documentElement.clientHeight)){myWidth=document.documentElement.clientWidth;myHeight=document.documentElement.clientHeight;}else
 
if(document.body(document.body.clientWidth||document.body.clientHeight)){myWidth=document.body.clientWidth;myHeight=document.body.clientHeight;}
return{width:myWidth,height:myHeight};};Richfaces.removePX=function(str){var 
pxIndex=str.indexOf(px)
if(pxIndex==-1)return str;return 
str.substr(0,pxIndex);};Richfaces.visitTree=function(root,callback){var 
node=root;if(!node){node=document;}
callback.call(this,node);var 
child=node.firstChild;while(child){Richfaces.visitTree(child,callback);child=child.nextSibling;}};Richfaces.getNSAttribute=function(name,element){if(element.getAttributeNS){var
 
attr=element.getAttributeNS('http://richfaces.ajax4jsf.org/rich',name);if(attr){return
 attr;}}
var attributes=element.attributes;var attrName=rich:+name;var 
attr=attributes[attrName];if(attr){return attr.nodeValue;}
return 
null;};Richfaces.VARIABLE_NAME_PATTERN=/^\s*[_,A-Z,a-z][\w,_\.]*\s*$/;Richfaces.getObjectValue=function(str,object){var
 a=str.split(.);var value=object[a[0]];var 
c=1;while(valueca.length)value=value[a[c++]];return(value?value:);}
Richfaces.evalMacro=function(template,object)
{var _value_=;if(Richfaces.VARIABLE_NAME_PATTERN.test(template))
{if(template.indexOf('.')==-1){_value_=object[template];if(!_value_)_value_=window[template];}
else{_value_=Richfaces.getObjectValue(template,object);if(!_value_)_value_=Richfaces.getObjectValue(template,window);}
if(_value_typeof 
_value_=='function')_value_=_value_(object);if(!_value_)_value_=;}
else{try{if(Richfaces.browser.isObjectEval){_value_=object.eval(template);}
else with(object){_value_=eval(template);}
if(typeof _value_=='function'){_value_=_value_(object);}}catch(e){LOG.warn(Exception: 
+e.Message+\n[+template+]);}}
return _value_;}
Richfaces.evalSimpleMacro=function(template,object)
{var 
value=object[template];if(!value){value=window[template];if(!value)value=;}
return value;}
Richfaces.getComponent=function(componentType,element)
{var attribute=richfacesComponent;var 
type=richfaces:+componentType;while(element.parentNode){if(element[attribute]element[attribute]==type)
return element.component;else
element=element.parentNode;}}
Richfaces.browser={isIE:(!window.opera/MSIE/.test(navigator.userAgent)),isIE6:(!window.opera/MSIE\s*[6][\d,\.]+;/.test(navigator.userAgent)),isSafari:/Safari/.test(navigator.userAgent),isOpera:!!window.opera,isObjectEval:(Richfaces.eval!=undefined),isFF2:(!window.opera/Firefox\s*[\/]2[\.]/.test(navigator.userAgent)),isFF3:(!window.opera/Firefox\s*[\/]3[\.]/.test(navigator.userAgent))};Richfaces.eval=function(template,object){var
 value='';try{with(object){value=eval(template);}}catch(e){LOG.warn('Exception: 
'+e.message+'\n['+template+']');}
return value;};Richfaces.interpolate=function(placeholders,context){for(var k in context){var 
v=context[k];var regexp=new 
RegExp(\\{+k+\\},g);placeholders=placeholders.replace(regexp,v);}
return 
placeholders;};if(!Richfaces.position)Richfaces.Position={};Richfaces.Position.setElementPosition=function(element,baseElement,jointPoint,direction,offset)
{var elementDim=Richfaces.Position.getOffsetDimensions(element);var 
baseElementDim=Richfaces.Position.getOffsetDimensions(baseElement);var 
windowRect=Richfaces.Position.getWindowViewport();var 

I added 2.0.64 and 2.2.17 to Bugzille httpd version list

2010-10-21 Thread Rainer Jung

Subject says it all.


Re: svn commit: r1025666 - in /httpd/httpd/trunk: CHANGES docs/manual/mod/mod_proxy.xml modules/proxy/mod_proxy.c modules/proxy/mod_proxy.h modules/proxy/mod_proxy_http.c

2010-10-21 Thread Graham Leggett

On 21 Oct 2010, at 7:26 AM, Ruediger Pluem wrote:


mod_proxy.h is public. Doesn't this require a bump?


It will, yes, but given the gratuitous number of bumps there were for  
mod_cache, I'm keen to try and group them for mod_proxy if I can.


I am wondering how much of mod_proxy.h needs to be public.

Regards,
Graham
--



Re: mod_proxy: optimising ProxyPass per directory

2010-10-21 Thread Igor Galić


 LocationMatch ^/foo(.*)
ProxyPass http://somewhere/$1
 /LocationMatch
 

Many many many many people have been asking how to implement
something like:

LocationMatch ^/projects/([^/]+)
   Require group well..that...stuff.
/LocationMatch


Could your idea be extended to be usable elsewhere as well?

 Regards,
 Graham
 --

i

-- 
Igor Galić

Tel: +43 (0) 664 886 22 883
Mail: i.ga...@brainsware.org
URL: http://brainsware.org/


Re: mod_proxy: optimising ProxyPass per directory

2010-10-21 Thread Graham Leggett

On 21 Oct 2010, at 3:11 PM, Igor Galić wrote:


LocationMatch ^/foo(.*)
  ProxyPass http://somewhere/$1
/LocationMatch



Many many many many people have been asking how to implement
something like:

LocationMatch ^/projects/([^/]+)
  Require group well..that...stuff.
/LocationMatch


Could your idea be extended to be usable elsewhere as well?


If the group stuff is defined per-directory, then it should Just  
Work(TM).


It is definitely worth smoking out these occurrences, as storing per- 
directory configs in the global per-server scope is very expensive.


Regards,
Graham
--



Re: mod_proxy: optimising ProxyPass per directory

2010-10-21 Thread Jim Jagielski
+1.


On Oct 20, 2010, at 7:43 PM, Graham Leggett wrote:

 Hi all,
 
 On sites with large numbers of ProxyPass directives, these directives are 
 matched in turn on every request, and this can take a lot of time, especially 
 when we've already done a location walk.
 
 A simple optimisation is to allow this existing syntax:
 
 Location /foo
  ProxyPass http://somewhere/foo
 /Location
 
 to simply be a single mod_proxy alias in a per-directory context.
 
 If this syntax is used, the need to walk the proxy alias list is eliminated, 
 and a significant amount of time is saved.
 
 This also has the side effect that ProxyPass inside LocationMatch starts 
 working properly (it was broken before):
 
 LocationMatch ^/foo(.*)
  ProxyPass http://somewhere/$1
 /LocationMatch
 
 In theory, the ProxyPass /foo http://somewhere/; and ProxyPassMatch 
 ^/foo(.*) http://somewhere/$1; syntaxes can be deprecated, as 
 Location/LocationMatch is way simpler to handle.
 
 Regards,
 Graham
 --
 httpd-mod_proxy-perlocation.patch



Re: Removing Limit and LimitExcept (was: svn commit: r1023227 - in /httpd/httpd/trunk: CHANGES server/core.c)

2010-10-21 Thread Jim Jagielski
++1.

On Oct 19, 2010, at 3:28 PM, Roy T. Fielding wrote:

 IMO, removing Limit and LimitExcept would require a bump to httpd 3.x,
 since it would break almost all existing configs and introduce security
 holes if the installer is not prepared to rewrite them.
 
 Deprecating Limit and LimitExcept can be done in 2.4.x, which means
 keeping their functionality intact and warning at startup that the
 feature is less good than the new directives.
 
 Roy
 



Re: Removing Limit and LimitExcept (was: svn commit: r1023227 - in /httpd/httpd/trunk: CHANGES server/core.c)

2010-10-21 Thread Jim Jagielski
All this debate makes me wonder how many people here still
*run* and *administer* web sites... How about putting yourself
in the shoes of the sys admin before willy-nilly recrafting
configs.


RE: Removing Limit and LimitExcept (was: svn commit: r1023227 - in /httpd/httpd/trunk: CHANGES server/core.c)

2010-10-21 Thread Plüm, Rüdiger, VF-Group
 

 -Original Message-
 From: Jim Jagielski 
 Sent: Donnerstag, 21. Oktober 2010 17:22
 To: dev@httpd.apache.org
 Subject: Re: Removing Limit and LimitExcept (was: svn commit: 
 r1023227 - in /httpd/httpd/trunk: CHANGES server/core.c)
 
 All this debate makes me wonder how many people here still
 *run* and *administer* web sites... How about putting yourself
 in the shoes of the sys admin before willy-nilly recrafting
 configs.
 

+1. I am one of them :-)

Regards

Rüdiger


Re: Removing Limit and LimitExcept (was: svn commit: r1023227 - in /httpd/httpd/trunk: CHANGES server/core.c)

2010-10-21 Thread Lars Eilebrecht
Jim Jagielski wrote:

 ++1.
 
 On Oct 19, 2010, at 3:28 PM, Roy T. Fielding wrote:
 
  IMO, removing Limit and LimitExcept would require a bump to httpd 3.x,
  since it would break almost all existing configs and introduce security
  holes if the installer is not prepared to rewrite them.
  
  Deprecating Limit and LimitExcept can be done in 2.4.x, which means
  keeping their functionality intact and warning at startup that the
  feature is less good than the new directives.
  
  Roy

Big +1 


cheers
-- 
Lars Eilebrecht
l...@eilebrecht.net


Re: Removing Limit and LimitExcept

2010-10-21 Thread William A. Rowe Jr.
On 10/21/2010 10:21 AM, Jim Jagielski wrote:
 All this debate makes me wonder how many people here still
 *run* and *administer* web sites... How about putting yourself
 in the shoes of the sys admin before willy-nilly recrafting
 configs.

I have, and was bit by the nonsensical behavior of Limit (attempting
to SetHandler only on specific methods), which is why I crusade to
eliminate it in its current form, entirely.

Limit PUT
SetHandler put-handler
/Limit

Funny thing, everything goes to put-handler.  The error logs at
loglevel debug have nothing to say about my stupidity as an
administrator.  Now how is that not totally broken and bogus?


Re: [vote] Release mod_ftp 1.0.0 as GA

2010-10-21 Thread William A. Rowe Jr.
On 10/7/2010 9:23 PM, William A. Rowe Jr. wrote:
 After some discussion on list about the numbering and quality of mod_ftp
 today, it seems this is an appropriate time to consider GA, candidate
 tarballs are up at http://httpd.apache.org/dev/dist/mod_ftp/ - so please
 vote...
 
  +/-1
  [  ] Release mod_ftp 1.0.0 as GA

I count; issac, wrowe as +1, no 0's, no -1's, however this is not enough for
a release.  This is the 14th day, and in spite of the activity around the
releases of httpd 2.0 and 2.2, we still need final resolution today in order
to clear out the pending issues at httpd so we might direct all focus on the
next httpd releases come this Hackathon on November 1 and 2.

Looking for one affirmative vote, closing this vote at days end.


Re: [vote] Release mod_ftp 1.0.0 as GA

2010-10-21 Thread Nick Kew
On Thu, 21 Oct 2010 13:46:56 -0500
William A. Rowe Jr. wr...@rowe-clan.net wrote:

 Looking for one affirmative vote, closing this vote at days end.

Haven't looked at mod_ftp at all, but I can do if it'll help.
But not on days end timescale!

-- 
Nick Kew


Re: svn commit: r1023387 - in /httpd/httpd/trunk/modules/cache: cache_util.c cache_util.h mod_cache.c mod_cache.h mod_disk_cache.c mod_disk_cache.h

2010-10-21 Thread NormW

On 21/10/2010 12:03 AM, Guenter Knauf wrote:

Hi Graham,
Am 17.10.2010 01:15, schrieb minf...@apache.org:

Author: minfrin
Date: Sat Oct 16 23:15:52 2010
New Revision: 1023387

URL: http://svn.apache.org/viewvc?rev=1023387view=rev
Log:
Complete the optimisation of Cache-Control header parsing. Make the
cache_control_t structure public so as to be available to mod_disk_cache.

Modified:
httpd/httpd/trunk/modules/cache/cache_util.c
httpd/httpd/trunk/modules/cache/cache_util.h
httpd/httpd/trunk/modules/cache/mod_cache.c
httpd/httpd/trunk/modules/cache/mod_cache.h
httpd/httpd/trunk/modules/cache/mod_disk_cache.c
httpd/httpd/trunk/modules/cache/mod_disk_cache.h

Modified: httpd/httpd/trunk/modules/cache/mod_disk_cache.h
URL:
http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/cache/mod_disk_cache.h?rev=1023387r1=1023386r2=1023387view=diff

==

--- httpd/httpd/trunk/modules/cache/mod_disk_cache.h (original)
+++ httpd/httpd/trunk/modules/cache/mod_disk_cache.h Sat Oct 16
23:15:52 2010
@@ -17,6 +17,7 @@
#ifndef MOD_DISK_CACHE_H
#define MOD_DISK_CACHE_H

+#include mod_cache.h
#include apr_file_io.h

/*
@@ -57,6 +58,8 @@ typedef struct {
/* Does this cached request have a body? */
int has_body;
int header_only;
+ /* The parsed cache control header */
+ cache_control_t control;
} disk_cache_info_t;

typedef struct {


this part of r1023387 breaks the NetWare build of htcacheclean.
That happens because mod_cache.h includes httpd.h which includes os.h
which has a redefine for exit(), and this requires a var defined in
mpm_netware.c - so this would require to link htcacheclean with
mpm_netware.c ...
Not sure but I guess this will break the Win32 build too since there we
have a similar exit() redefine.
Cant we put the structs all into a separate header, f.e. cache_structs.h
which does not include httpd.h?

Gün.

Can confirm issue with htcacheclean and NetWare, although resolution is 
outside my skill set.


Additionally, my picky compiler finds the following tweak desirable for 
its happiness:

--- httpd-trunk\modules\proxy\mod_proxy_http.c.orig 2010-10-21 
07:31:33.46875 +1000
+++ httpd-trunk\modules\proxy\mod_proxy_http.c  2010-10-22 09:04:17.12500 
+1000
@@ -1412,11 +1412,10 @@
 conn_rec *origin = backend-connection;
 apr_interval_time_t old_timeout = 0;
 proxy_dir_conf *dconf;
+int do_100_continue;

 dconf = ap_get_module_config(r-per_dir_config, proxy_module);

-int do_100_continue;
-
 do_100_continue = (worker-ping_timeout_set
 ap_request_has_body(r)
 (PROXYREQ_REVERSE == r-proxyreq)

Norm






Re: [vote] Release mod_ftp 1.0.0 as GA

2010-10-21 Thread William A. Rowe Jr.
On 10/21/2010 4:56 PM, Nick Kew wrote:
 On Thu, 21 Oct 2010 13:46:56 -0500
 William A. Rowe Jr. wr...@rowe-clan.net wrote:
 
 Looking for one affirmative vote, closing this vote at days end.
 
 Haven't looked at mod_ftp at all, but I can do if it'll help.
 But not on days end timescale!

Extending this is fine; extending it indefinitely isn't :)

How long would you like me to hold the vote open?  Happy to oblige.


Re: Removing Limit and LimitExcept

2010-10-21 Thread Roy T. Fielding
On Oct 21, 2010, at 11:16 AM, William A. Rowe Jr. wrote:

 On 10/21/2010 10:21 AM, Jim Jagielski wrote:
 All this debate makes me wonder how many people here still
 *run* and *administer* web sites... How about putting yourself
 in the shoes of the sys admin before willy-nilly recrafting
 configs.
 
 I have, and was bit by the nonsensical behavior of Limit (attempting
 to SetHandler only on specific methods), which is why I crusade to
 eliminate it in its current form, entirely.
 
 Limit PUT
SetHandler put-handler
 /Limit
 
 Funny thing, everything goes to put-handler.  The error logs at
 loglevel debug have nothing to say about my stupidity as an
 administrator.  Now how is that not totally broken and bogus?

Umm, so you tried to use the directive for something that it
does not do, never has done, and makes no sense to do ... RTFM.

  http://httpd.apache.org/docs/2.2/mod/core.html#limit
  http://httpd.apache.org/docs/2.2/mod/core.html#sethandler
  http://httpd.apache.org/docs/2.2/mod/mod_actions.html#script

It sounds like an excellent feature that almost exists.

I simply don't care how many mistaken configs there are in the
world when we are talking about breaking configs that are currently
correct, including the config we have in trunk and have
been shipping since Limit was introduced

  
http://svn.apache.org/repos/asf/httpd/httpd/trunk/docs/conf/extra/httpd-userdir.conf.in

So I am currently -1 on the whole idea.  I see no need to deprecate
Limit and LimitExcept.  I see considerable harm in removing them
entirely.  I see no harm in introducing new directives that will do
similar functionality in a better way, documenting those directives
as the preferred alternative, and modifying our configs accordingly.

When we get to 3.0, we can remove Limit and LimitExcept entirely.
If you want to move trunk to 3.0a right now, that's fine with me.

Roy