Re: svn commit: r1103315 - /httpd/httpd/trunk/modules/filters/mod_deflate.c

2011-05-26 Thread Ruediger Pluem


On 05/27/2011 06:11 AM, Justin Erenkrantz wrote:
> On Tue, May 24, 2011 at 8:53 PM, Ruediger Pluem  wrote:

>> Thanks. IMHO this is a design flaw in the DAV provider API in conjunction
>> with the current filter API:
>>
>>  dav_error * (*deliver)(const dav_resource *resource,
>>   ap_filter_t *output);
>>
>> deliver is usually called with r->output_filters as a second parameter and
>> thus makes a copy of the contents of r->output_filters and hence does not
>> notice if r->output_filters changes during the process of pushing content 
>> thru
>> the filter chain by multiple calls to ap_pass_brigade.
>> My idea would be to change the DAV API to either
>>
>> dav_error * (*deliver)(const dav_resource *resource,
>>   request_rec *r);
>>
>> and using r->output_filters in the implementations of the deliver method in
>> the dav_providers or
>>
>> dav_error * (*deliver)(const dav_resource *resource,
>>   ap_filter_t **output);
>>
>> and using *output in the implementations of the deliver method in
>> the dav_providers and calling deliver with &(r->output_filters) as second 
>> parameter.
>>
>> BTW: Same thing applies to deliver_report and merge.
> 
> Sure - changing APIs like this is one way to solve it; but that's not
> a legitimate option for 2.2.x.  When this was discussed on

That's the beauty of your solution: It can be backported to 2.2.x.
But it only solves the issue for mod_deflate and not for other filters.
But in the light of an upcoming 2.4.x which makes these kind of API changes
impossible again for a long time I wanted to start a discussion about
how to fix this in a general way for all filters.

> dev@subversion, I know Greg was reluctant to see the mod_dav APIs
> revved after so long.  =)  -- justin

I am open for other proposals, e.g. to fix the filter API, but I haven't
found an approach that I like yet.

Regards

Rüdiger



Re: svn commit: r1103315 - /httpd/httpd/trunk/modules/filters/mod_deflate.c

2011-05-26 Thread Justin Erenkrantz
On Tue, May 24, 2011 at 8:53 PM, Ruediger Pluem  wrote:
> On 05/24/2011 07:41 PM, Justin Erenkrantz wrote:
>> On Mon, May 23, 2011 at 8:08 PM, Ruediger Pluem  wrote:
>>> Indeed this sounds like a general problem, but
>>> ap_remove_output_filter does adjust r->output_filters if f->r is set and the
>>> filter is the first one in the chain.
>>> Which responses exactly suffer from this behaviour?
>>
>> Use "SetOutputFilter DEFLATE" and issue a GET request for a file w/o
>> Accept-Encoding headers to Subversion (via mod_dav).  You'll see that
>> mod_deflate tries to remove itself, but mod_dav keeps invoking it.
>> It's at the point where most companies who support Subversion refuse
>> to support mod_deflate/gzip due to this issue.
>
> Thanks. IMHO this is a design flaw in the DAV provider API in conjunction
> with the current filter API:
>
>  dav_error * (*deliver)(const dav_resource *resource,
>                           ap_filter_t *output);
>
> deliver is usually called with r->output_filters as a second parameter and
> thus makes a copy of the contents of r->output_filters and hence does not
> notice if r->output_filters changes during the process of pushing content thru
> the filter chain by multiple calls to ap_pass_brigade.
> My idea would be to change the DAV API to either
>
> dav_error * (*deliver)(const dav_resource *resource,
>                           request_rec *r);
>
> and using r->output_filters in the implementations of the deliver method in
> the dav_providers or
>
> dav_error * (*deliver)(const dav_resource *resource,
>                           ap_filter_t **output);
>
> and using *output in the implementations of the deliver method in
> the dav_providers and calling deliver with &(r->output_filters) as second 
> parameter.
>
> BTW: Same thing applies to deliver_report and merge.

Sure - changing APIs like this is one way to solve it; but that's not
a legitimate option for 2.2.x.  When this was discussed on
dev@subversion, I know Greg was reluctant to see the mod_dav APIs
revved after so long.  =)  -- justin


Access tuning module "mod_vlimit"

2011-05-26 Thread MATSUMOTO Ryosuke
Hi all,

This is MATSUMOTO Ryosuke.
I am apache module developer in Japan.

My best access tuning module is "mod_vlimit".
mod_vlimit allows “Apache HTTP Server” administrators to limit the number
of simultaneous connections(ex, perl php)  from all clients to the
file or directory.

Mod_vlimit do NOT need to use mod_status.

The distribution page is http://modules.apache.org/search.php?id=2570.

It would be greatly appreciated that it gives the impression to me.

Best Regards,


Get Parameter from httpd.conf

2011-05-26 Thread Niko Goutte

Hi,

I am currently implementing a module and for each HTTP GET request, I need to 
check its validity from another server.
I want to put these specific IP/Port parameters into httpd.conf.
Thus, each time a receive a GET request:
1/ I get specific IP/Port server values from httpd.conf.
2/ My module connects to distant server and gets all information.
3/ Then, my module is able to answer to its request.

Can someone explain me how to do this ?
What should I write in the httpd.conf and how I can get these values from my 
module ?

Thank you,
Nicolas.
  

Access tuning module "mod_vlimit"

2011-05-26 Thread MATSUMOTO Ryosuke
Hi all,

This is MATSUMOTO Ryosuke.
I am apache module developer in Japan.

My best access tuning module is "mod_vlimit".

mod_vlimit allows “Apache HTTP Server” administrators to limit the
number of simultaneous connections(ex, perl php)  from all clients to
the file or directory.

Mod_vlimit do NOT need to use mod_status.

The distribution page is http://modules.apache.org/search.php?id=2570.

It would be greatly appreciated that it gives the impression to me.

Best Regards


RE: 2.2.19 (and probably earlier) won't let you make non-ssl vhosts on 443?

2011-05-26 Thread Plüm, Rüdiger, VF-Group
 

> -Original Message-
> From: Rainer Jung [mailto:rainer.j...@kippdata.de] 
> Sent: Donnerstag, 26. Mai 2011 11:43
> To: dev@httpd.apache.org
> Cc: us...@httpd.apache.org
> Subject: Re: 2.2.19 (and probably earlier) won't let you make 
> non-ssl vhosts on 443?
> 
> On 26.05.2011 11:10, Issac Goldstand wrote:
> > I just upgraded a machine from 2.2.8 to 2.2.19 and suddenly Apache
> > wouldn't let me run non-SSL vhosts on port 443.  A snippet 
> like below:
> > 
> > 
> > DocumentRoot /home/foo/httpdocs
> > ServerName foo
> > 
> > allow from all
> > Options +Indexes
> > 
> > 
> > 
> > Suddenly caused the following fatal startup error to be logged:
> > [error] Server should be SSL-aware but has no certificate configured
> > [Hint: SSLCertificateFile] ((null):0)
> > 
> > Was this an intentional decision made some while ago that I 
> just didn't
> > know about or is it a bug?
> > 
> > (I'd personally only expect to see that with an explicit 
> SSLEngine On
> > and no certificate/key files configured)
> 
> Could it be this entry from the 2.2.12 changelog:
> 
>   *) Set Listen protocol to "https" if port is set to 443 and 
> no proto is
>  specified (as documented but not implemented). PR 46066
>  [Dan Poirier ]
> 

Yes thats it: http://svn.apache.org/viewvc?view=revision&revision=727769

You should use

Listen a.b.c.d:443 http

instead of 

Listen a.b.c.d:443

to fix this.

Regards

Rüdiger



Re: 2.2.19 (and probably earlier) won't let you make non-ssl vhosts on 443?

2011-05-26 Thread Rainer Jung
On 26.05.2011 11:10, Issac Goldstand wrote:
> I just upgraded a machine from 2.2.8 to 2.2.19 and suddenly Apache
> wouldn't let me run non-SSL vhosts on port 443.  A snippet like below:
> 
> 
> DocumentRoot /home/foo/httpdocs
> ServerName foo
> 
> allow from all
> Options +Indexes
> 
> 
> 
> Suddenly caused the following fatal startup error to be logged:
> [error] Server should be SSL-aware but has no certificate configured
> [Hint: SSLCertificateFile] ((null):0)
> 
> Was this an intentional decision made some while ago that I just didn't
> know about or is it a bug?
> 
> (I'd personally only expect to see that with an explicit SSLEngine On
> and no certificate/key files configured)

Could it be this entry from the 2.2.12 changelog:

  *) Set Listen protocol to "https" if port is set to 443 and no proto is
 specified (as documented but not implemented). PR 46066
 [Dan Poirier ]

Regards,

Rainer


An rfc2397 filter for httpd (data URI scheme)

2011-05-26 Thread Graham Leggett

Hi all,

Would anyone object to adding a simple filter able to encode rfc2397  
to httpd?


http://tools.ietf.org/html/rfc2397
http://en.wikipedia.org/wiki/Data_URI_scheme

Regards,
Graham
--



Re: graceful restart detection in prefork mode

2011-05-26 Thread Petr Hracek
Configuration is:
Timeout 300
KeepAlive Off
KeepAliveTimeout 5
MaxKeepAliveRequests 100
StartServers 5
MaxClients 150
MinSpareServers 2
MaxSpareServers 8
MaxRequestsPerChild 0
#MinSpareThreads 25
#MaxSpareThreads 150
#ThreadsPerChild 25


2011/5/26 Petr Hracek :
> No KeepAliveTimeout is 5
>
> 2011/5/26 MATSUMOTO Ryosuke :
>> How do you configure "KeepAliveTimeout"?
>> KeepAliveTimeout value is 15(sec) as default.
>> The number of seconds Apache will wait for a subsequent request before
>> closing the connection.
>>
>> 2011/5/26 MATSUMOTO Ryosuke 
>>>
>>> GracefulShutdownTimeout valiue is zero as defualt.
>>> Setting this value to zero means that the server will wait indefinitely
>>> until all remaining requests have been fully served.
>>>
>>> 2011/5/26 Petr Hracek 

 It is not configured yet.
 I suggest that GracefulShutdownTimeout 0 as default is OK, right?

 2011/5/26 MATSUMOTO Ryosuke :
 > Hi,
 > How do you configure "GracefulShutdownTimeout"?
 > 2011/5/26 Petr Hracek 
 >>
 >> Dear developers,
 >>
 >> My situation is following:
 >> In my Apache2 running in prefork mode I have following situation.
 >>
 >> Whole pages (except loging page) are run over https (port 443) and
 >> authentication is done over my own module.
 >> When the most users are looking on the pages (https) then I would like
 >> to reload configuration of my apache over command
 >> apache2ctl -k graceful
 >>
 >> I suggest that new users will see new configuration and old users will
 >> have their session till they will not logout.
 >>
 >> But unfortunatelly all sessions are closed and as new as old users
 >> have to login again for other work.
 >>
 >> Is there any solution for that like detection for gracefull restart?
 >> Do you now any idea how to do that?
 >>
 >> My apache2 which is delivered by SUSE is pretty old (I know).
 >> linux:~ # httpd2 -l
 >> Compiled in modules:
 >>  core.c
 >>  prefork.c
 >>  http_core.c
 >>  mod_so.c
 >> linux:~ # httpd2 -V
 >> Server version: Apache/2.2.3
 >> Server built:   Apr 14 2010 11:41:47
 >> Server's Module Magic Number: 20051115:3
 >> Server loaded:  APR 1.2.2, APR-Util 1.2.2
 >> Compiled using: APR 1.2.2, APR-Util 1.2.2
 >> Architecture:   32-bit
 >> Server MPM:     Prefork
 >>  threaded:     no
 >>    forked:     yes (variable process count)
 >> Server compiled with
 >>  -D APACHE_MPM_DIR="server/mpm/prefork"
 >>  -D APR_HAS_SENDFILE
 >>  -D APR_HAS_MMAP
 >>  -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
 >>  -D APR_USE_SYSVSEM_SERIALIZE
 >>  -D APR_USE_PTHREAD_SERIALIZE
 >>  -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
 >>  -D APR_HAS_OTHER_CHILD
 >>  -D AP_HAVE_RELIABLE_PIPED_LOGS
 >>  -D DYNAMIC_MODULE_LIMIT=128
 >>  -D HTTPD_ROOT="/srv/www"
 >>  -D SUEXEC_BIN="/usr/sbin/suexec2"
 >>  -D DEFAULT_PIDLOG="/var/run/httpd2.pid"
 >>  -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
 >>  -D DEFAULT_LOCKFILE="/var/run/accept.lock"
 >>  -D DEFAULT_ERRORLOG="/var/log/apache2/error_log"
 >>  -D AP_TYPES_CONFIG_FILE="/etc/apache2/mime.types"
 >>  -D SERVER_CONFIG_FILE="/etc/apache2/httpd.conf"
 >> linux:~ #
 >>
 >> Thank you in advance.
 >> --
 >> Best Regards / S pozdravem
 >> Petr Hracek
 >
 >



 --
 Best Regards / S pozdravem
 Petr Hracek
>>>
>>
>>
>
>
>
> --
> Best Regards / S pozdravem
> Petr Hracek
>



-- 
Best Regards / S pozdravem
Petr Hracek


Re: graceful restart detection in prefork mode

2011-05-26 Thread Petr Hracek
No KeepAliveTimeout is 5

2011/5/26 MATSUMOTO Ryosuke :
> How do you configure "KeepAliveTimeout"?
> KeepAliveTimeout value is 15(sec) as default.
> The number of seconds Apache will wait for a subsequent request before
> closing the connection.
>
> 2011/5/26 MATSUMOTO Ryosuke 
>>
>> GracefulShutdownTimeout valiue is zero as defualt.
>> Setting this value to zero means that the server will wait indefinitely
>> until all remaining requests have been fully served.
>>
>> 2011/5/26 Petr Hracek 
>>>
>>> It is not configured yet.
>>> I suggest that GracefulShutdownTimeout 0 as default is OK, right?
>>>
>>> 2011/5/26 MATSUMOTO Ryosuke :
>>> > Hi,
>>> > How do you configure "GracefulShutdownTimeout"?
>>> > 2011/5/26 Petr Hracek 
>>> >>
>>> >> Dear developers,
>>> >>
>>> >> My situation is following:
>>> >> In my Apache2 running in prefork mode I have following situation.
>>> >>
>>> >> Whole pages (except loging page) are run over https (port 443) and
>>> >> authentication is done over my own module.
>>> >> When the most users are looking on the pages (https) then I would like
>>> >> to reload configuration of my apache over command
>>> >> apache2ctl -k graceful
>>> >>
>>> >> I suggest that new users will see new configuration and old users will
>>> >> have their session till they will not logout.
>>> >>
>>> >> But unfortunatelly all sessions are closed and as new as old users
>>> >> have to login again for other work.
>>> >>
>>> >> Is there any solution for that like detection for gracefull restart?
>>> >> Do you now any idea how to do that?
>>> >>
>>> >> My apache2 which is delivered by SUSE is pretty old (I know).
>>> >> linux:~ # httpd2 -l
>>> >> Compiled in modules:
>>> >>  core.c
>>> >>  prefork.c
>>> >>  http_core.c
>>> >>  mod_so.c
>>> >> linux:~ # httpd2 -V
>>> >> Server version: Apache/2.2.3
>>> >> Server built:   Apr 14 2010 11:41:47
>>> >> Server's Module Magic Number: 20051115:3
>>> >> Server loaded:  APR 1.2.2, APR-Util 1.2.2
>>> >> Compiled using: APR 1.2.2, APR-Util 1.2.2
>>> >> Architecture:   32-bit
>>> >> Server MPM:     Prefork
>>> >>  threaded:     no
>>> >>    forked:     yes (variable process count)
>>> >> Server compiled with
>>> >>  -D APACHE_MPM_DIR="server/mpm/prefork"
>>> >>  -D APR_HAS_SENDFILE
>>> >>  -D APR_HAS_MMAP
>>> >>  -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
>>> >>  -D APR_USE_SYSVSEM_SERIALIZE
>>> >>  -D APR_USE_PTHREAD_SERIALIZE
>>> >>  -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
>>> >>  -D APR_HAS_OTHER_CHILD
>>> >>  -D AP_HAVE_RELIABLE_PIPED_LOGS
>>> >>  -D DYNAMIC_MODULE_LIMIT=128
>>> >>  -D HTTPD_ROOT="/srv/www"
>>> >>  -D SUEXEC_BIN="/usr/sbin/suexec2"
>>> >>  -D DEFAULT_PIDLOG="/var/run/httpd2.pid"
>>> >>  -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
>>> >>  -D DEFAULT_LOCKFILE="/var/run/accept.lock"
>>> >>  -D DEFAULT_ERRORLOG="/var/log/apache2/error_log"
>>> >>  -D AP_TYPES_CONFIG_FILE="/etc/apache2/mime.types"
>>> >>  -D SERVER_CONFIG_FILE="/etc/apache2/httpd.conf"
>>> >> linux:~ #
>>> >>
>>> >> Thank you in advance.
>>> >> --
>>> >> Best Regards / S pozdravem
>>> >> Petr Hracek
>>> >
>>> >
>>>
>>>
>>>
>>> --
>>> Best Regards / S pozdravem
>>> Petr Hracek
>>
>
>



-- 
Best Regards / S pozdravem
Petr Hracek


Re: 2.2.19 (and probably earlier) won't let you make non-ssl vhosts on 443?

2011-05-26 Thread Issac Goldstand
On 26/05/2011 12:16, Reindl Harald wrote:
>
> Am 26.05.2011 11:10, schrieb Issac Goldstand:
>> I just upgraded a machine from 2.2.8 to 2.2.19 and suddenly Apache
>> wouldn't let me run non-SSL vhosts on port 443.  A snippet like below:
>>
>> 
>> DocumentRoot /home/foo/httpdocs
>> ServerName foo
>> 
>> allow from all
>> Options +Indexes
>> 
>> 
>>
>> Suddenly caused the following fatal startup error to be logged:
>> [error] Server should be SSL-aware but has no certificate configured
>> [Hint: SSLCertificateFile] ((null):0)
>>
>> Was this an intentional decision made some while ago that I just didn't
>> know about or is it a bug?
>>
>> (I'd personally only expect to see that with an explicit SSLEngine On
>> and no certificate/key files configured)
> 443 == https
>
> why anybody should use it for http?
> there are thousands of other ports (81, 82, 83, 8080...)
>

Maybe they have some sort of funky config where something in front of
Apache is doing the SSL, and for some odd reason it's important for them
for the vhost to run on 443 regardless.

People have funny ideas sometimes.

I'm not saying that it's intelligent thinging, but regardless the point
is that it breaks compatibility of config files inside the same minor
version of Apache which is... not so good.

  Issac


Re: 2.2.19 (and probably earlier) won't let you make non-ssl vhosts on 443?

2011-05-26 Thread Reindl Harald


Am 26.05.2011 11:10, schrieb Issac Goldstand:
> I just upgraded a machine from 2.2.8 to 2.2.19 and suddenly Apache
> wouldn't let me run non-SSL vhosts on port 443.  A snippet like below:
> 
> 
> DocumentRoot /home/foo/httpdocs
> ServerName foo
> 
> allow from all
> Options +Indexes
> 
> 
> 
> Suddenly caused the following fatal startup error to be logged:
> [error] Server should be SSL-aware but has no certificate configured
> [Hint: SSLCertificateFile] ((null):0)
> 
> Was this an intentional decision made some while ago that I just didn't
> know about or is it a bug?
> 
> (I'd personally only expect to see that with an explicit SSLEngine On
> and no certificate/key files configured)

443 == https

why anybody should use it for http?
there are thousands of other ports (81, 82, 83, 8080...)



signature.asc
Description: OpenPGP digital signature


2.2.19 (and probably earlier) won't let you make non-ssl vhosts on 443?

2011-05-26 Thread Issac Goldstand
I just upgraded a machine from 2.2.8 to 2.2.19 and suddenly Apache
wouldn't let me run non-SSL vhosts on port 443.  A snippet like below:


DocumentRoot /home/foo/httpdocs
ServerName foo

allow from all
Options +Indexes



Suddenly caused the following fatal startup error to be logged:
[error] Server should be SSL-aware but has no certificate configured
[Hint: SSLCertificateFile] ((null):0)

Was this an intentional decision made some while ago that I just didn't
know about or is it a bug?

(I'd personally only expect to see that with an explicit SSLEngine On
and no certificate/key files configured)

  Issac


Re: RFC: aliasing/overriding virtualhosts/setting blocks

2011-05-26 Thread Issac Goldstand
On 26/05/2011 11:28, Rainer Jung wrote:
> On 24.05.2011 10:23, Issac Goldstand wrote:
>
>> My third thought was similar.  Create a new settings container, and
>> allow that to be used as a macro anywhere else:
>>
>> 
>> SomeOption
>> SomeOtherOption
>> 
>>
>> ...
>> (anywhere else in httpd.conf)
>> ApplyNamedSettings Name
> Do you know about mod_macro?
>
> http://www.cri.ensmp.fr/~coelho/mod_macro/
>
> It exists since a long time and is pretty stable. Might need some update
> for 2.3/2.4.
>
>

Nope, but it's exactly what I had in mind :) 

I knew it was worth waiting out for more answers before I jumped in to this.

  Issac


Re: graceful restart detection in prefork mode

2011-05-26 Thread MATSUMOTO Ryosuke
How do you configure "KeepAliveTimeout"?

KeepAliveTimeout value is 15(sec) as default.

The number of seconds Apache will wait for a subsequent request before
closing the connection.

2011/5/26 MATSUMOTO Ryosuke 

> GracefulShutdownTimeout valiue is zero as defualt.
>
> Setting this value to zero means that the server will wait indefinitely
> until all remaining requests have been fully served.
>
>
> 2011/5/26 Petr Hracek 
>
>> It is not configured yet.
>> I suggest that GracefulShutdownTimeout 0 as default is OK, right?
>>
>> 2011/5/26 MATSUMOTO Ryosuke :
>> > Hi,
>> > How do you configure "GracefulShutdownTimeout"?
>> > 2011/5/26 Petr Hracek 
>> >>
>> >> Dear developers,
>> >>
>> >> My situation is following:
>> >> In my Apache2 running in prefork mode I have following situation.
>> >>
>> >> Whole pages (except loging page) are run over https (port 443) and
>> >> authentication is done over my own module.
>> >> When the most users are looking on the pages (https) then I would like
>> >> to reload configuration of my apache over command
>> >> apache2ctl -k graceful
>> >>
>> >> I suggest that new users will see new configuration and old users will
>> >> have their session till they will not logout.
>> >>
>> >> But unfortunatelly all sessions are closed and as new as old users
>> >> have to login again for other work.
>> >>
>> >> Is there any solution for that like detection for gracefull restart?
>> >> Do you now any idea how to do that?
>> >>
>> >> My apache2 which is delivered by SUSE is pretty old (I know).
>> >> linux:~ # httpd2 -l
>> >> Compiled in modules:
>> >>  core.c
>> >>  prefork.c
>> >>  http_core.c
>> >>  mod_so.c
>> >> linux:~ # httpd2 -V
>> >> Server version: Apache/2.2.3
>> >> Server built:   Apr 14 2010 11:41:47
>> >> Server's Module Magic Number: 20051115:3
>> >> Server loaded:  APR 1.2.2, APR-Util 1.2.2
>> >> Compiled using: APR 1.2.2, APR-Util 1.2.2
>> >> Architecture:   32-bit
>> >> Server MPM: Prefork
>> >>  threaded: no
>> >>forked: yes (variable process count)
>> >> Server compiled with
>> >>  -D APACHE_MPM_DIR="server/mpm/prefork"
>> >>  -D APR_HAS_SENDFILE
>> >>  -D APR_HAS_MMAP
>> >>  -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
>> >>  -D APR_USE_SYSVSEM_SERIALIZE
>> >>  -D APR_USE_PTHREAD_SERIALIZE
>> >>  -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
>> >>  -D APR_HAS_OTHER_CHILD
>> >>  -D AP_HAVE_RELIABLE_PIPED_LOGS
>> >>  -D DYNAMIC_MODULE_LIMIT=128
>> >>  -D HTTPD_ROOT="/srv/www"
>> >>  -D SUEXEC_BIN="/usr/sbin/suexec2"
>> >>  -D DEFAULT_PIDLOG="/var/run/httpd2.pid"
>> >>  -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
>> >>  -D DEFAULT_LOCKFILE="/var/run/accept.lock"
>> >>  -D DEFAULT_ERRORLOG="/var/log/apache2/error_log"
>> >>  -D AP_TYPES_CONFIG_FILE="/etc/apache2/mime.types"
>> >>  -D SERVER_CONFIG_FILE="/etc/apache2/httpd.conf"
>> >> linux:~ #
>> >>
>> >> Thank you in advance.
>> >> --
>> >> Best Regards / S pozdravem
>> >> Petr Hracek
>> >
>> >
>>
>>
>>
>> --
>> Best Regards / S pozdravem
>> Petr Hracek
>>
>
>


Re: RFC: aliasing/overriding virtualhosts/setting blocks

2011-05-26 Thread Rainer Jung
On 24.05.2011 10:23, Issac Goldstand wrote:
> A feature that I've kinda wanted for a long time has been the ability to
> alias and/or extend existing virtualhosts.  Previously, this was just a
> minor pain that usually just came up when setting up a website with dual
> http and https.  It was a bit more of a pain if the virtualhost config
> needed substantially more than servername, documentroot and maybe logs
> and scriptalias.
> 
> Lately I've started adding native IPv6 support to many of my websites,
> and given that now I occasionally have to manage the same config lines 4
> times, the annoyance factor's gotten big enough to get me to stop
> whining and start coding.
> 
> I had 4 ideas so far, and wanted to hear some feedback.
> 
> The first idea is Lua, but IMHO (and I imagine that a LOT of you will
> disagree), lua configs aren't really going anywhere (and won't until not
> only we start using it in the default configs, but also downstream
> vendors keep it in THEIR default configs).
> 
> My second idea was to add a feature allowing you to "tag" a virtualhost
> with a unique string.  Later you can "import" all of those settings into
> somewhere else.  An example would be:
> 
> 
> ...
> 
> ApplyNamedSetting name
> ...

I like the next more, but in light of your reply to "include" I'm not
sure what you get w.r.t. maintainability compared with includes.

> or maybe the tagging would be with a directive like:
> 
> TagNamedSetting name
> 
> My third thought was similar.  Create a new settings container, and
> allow that to be used as a macro anywhere else:
> 
> 
> SomeOption
> SomeOtherOption
> 
> 
> ...
> (anywhere else in httpd.conf)
> ApplyNamedSettings Name

Do you know about mod_macro?

http://www.cri.ensmp.fr/~coelho/mod_macro/

It exists since a long time and is pretty stable. Might need some update
for 2.3/2.4.

> My fourth idea was to allow nested virtualhosts (innermost ones get
> settings from outer ones merged in), but I didn't like it as much
> because my gut says it's not a simple enough solution (KISS).
> 
> 
> 
> ServerName bla
> DocumentRoot /foo
> 
> SSLEngine On
> ...
> 
> 
> 
> 
> 
> Thoughts?

That sounds more like a grouping container for VirtualHost, e.g.



SomeOption
SomeOtherOption


ServerName bla
DocumentRoot /foo

SSLEngine On
...




But then again very soon you end up with different orthogonal feature
sets you want to assign to vhosts and a simple grouping will no longe
suffice (feature sets A and B can lead to vhosts needing A, needing B,
needing A+B or none). So I think including per VHost still makes more
sense and macros are even better, because they let you parametrize the
included part and thus often the config gets more compact.

Regards,

Rainer


Re: graceful restart detection in prefork mode

2011-05-26 Thread MATSUMOTO Ryosuke
GracefulShutdownTimeout valiue is zero as defualt.

Setting this value to zero means that the server will wait indefinitely
until all remaining requests have been fully served.

2011/5/26 Petr Hracek 

> It is not configured yet.
> I suggest that GracefulShutdownTimeout 0 as default is OK, right?
>
> 2011/5/26 MATSUMOTO Ryosuke :
> > Hi,
> > How do you configure "GracefulShutdownTimeout"?
> > 2011/5/26 Petr Hracek 
> >>
> >> Dear developers,
> >>
> >> My situation is following:
> >> In my Apache2 running in prefork mode I have following situation.
> >>
> >> Whole pages (except loging page) are run over https (port 443) and
> >> authentication is done over my own module.
> >> When the most users are looking on the pages (https) then I would like
> >> to reload configuration of my apache over command
> >> apache2ctl -k graceful
> >>
> >> I suggest that new users will see new configuration and old users will
> >> have their session till they will not logout.
> >>
> >> But unfortunatelly all sessions are closed and as new as old users
> >> have to login again for other work.
> >>
> >> Is there any solution for that like detection for gracefull restart?
> >> Do you now any idea how to do that?
> >>
> >> My apache2 which is delivered by SUSE is pretty old (I know).
> >> linux:~ # httpd2 -l
> >> Compiled in modules:
> >>  core.c
> >>  prefork.c
> >>  http_core.c
> >>  mod_so.c
> >> linux:~ # httpd2 -V
> >> Server version: Apache/2.2.3
> >> Server built:   Apr 14 2010 11:41:47
> >> Server's Module Magic Number: 20051115:3
> >> Server loaded:  APR 1.2.2, APR-Util 1.2.2
> >> Compiled using: APR 1.2.2, APR-Util 1.2.2
> >> Architecture:   32-bit
> >> Server MPM: Prefork
> >>  threaded: no
> >>forked: yes (variable process count)
> >> Server compiled with
> >>  -D APACHE_MPM_DIR="server/mpm/prefork"
> >>  -D APR_HAS_SENDFILE
> >>  -D APR_HAS_MMAP
> >>  -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
> >>  -D APR_USE_SYSVSEM_SERIALIZE
> >>  -D APR_USE_PTHREAD_SERIALIZE
> >>  -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
> >>  -D APR_HAS_OTHER_CHILD
> >>  -D AP_HAVE_RELIABLE_PIPED_LOGS
> >>  -D DYNAMIC_MODULE_LIMIT=128
> >>  -D HTTPD_ROOT="/srv/www"
> >>  -D SUEXEC_BIN="/usr/sbin/suexec2"
> >>  -D DEFAULT_PIDLOG="/var/run/httpd2.pid"
> >>  -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
> >>  -D DEFAULT_LOCKFILE="/var/run/accept.lock"
> >>  -D DEFAULT_ERRORLOG="/var/log/apache2/error_log"
> >>  -D AP_TYPES_CONFIG_FILE="/etc/apache2/mime.types"
> >>  -D SERVER_CONFIG_FILE="/etc/apache2/httpd.conf"
> >> linux:~ #
> >>
> >> Thank you in advance.
> >> --
> >> Best Regards / S pozdravem
> >> Petr Hracek
> >
> >
>
>
>
> --
> Best Regards / S pozdravem
> Petr Hracek
>


Re: graceful restart detection in prefork mode

2011-05-26 Thread Petr Hracek
It is not configured yet.
I suggest that GracefulShutdownTimeout 0 as default is OK, right?

2011/5/26 MATSUMOTO Ryosuke :
> Hi,
> How do you configure "GracefulShutdownTimeout"?
> 2011/5/26 Petr Hracek 
>>
>> Dear developers,
>>
>> My situation is following:
>> In my Apache2 running in prefork mode I have following situation.
>>
>> Whole pages (except loging page) are run over https (port 443) and
>> authentication is done over my own module.
>> When the most users are looking on the pages (https) then I would like
>> to reload configuration of my apache over command
>> apache2ctl -k graceful
>>
>> I suggest that new users will see new configuration and old users will
>> have their session till they will not logout.
>>
>> But unfortunatelly all sessions are closed and as new as old users
>> have to login again for other work.
>>
>> Is there any solution for that like detection for gracefull restart?
>> Do you now any idea how to do that?
>>
>> My apache2 which is delivered by SUSE is pretty old (I know).
>> linux:~ # httpd2 -l
>> Compiled in modules:
>>  core.c
>>  prefork.c
>>  http_core.c
>>  mod_so.c
>> linux:~ # httpd2 -V
>> Server version: Apache/2.2.3
>> Server built:   Apr 14 2010 11:41:47
>> Server's Module Magic Number: 20051115:3
>> Server loaded:  APR 1.2.2, APR-Util 1.2.2
>> Compiled using: APR 1.2.2, APR-Util 1.2.2
>> Architecture:   32-bit
>> Server MPM:     Prefork
>>  threaded:     no
>>    forked:     yes (variable process count)
>> Server compiled with
>>  -D APACHE_MPM_DIR="server/mpm/prefork"
>>  -D APR_HAS_SENDFILE
>>  -D APR_HAS_MMAP
>>  -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
>>  -D APR_USE_SYSVSEM_SERIALIZE
>>  -D APR_USE_PTHREAD_SERIALIZE
>>  -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
>>  -D APR_HAS_OTHER_CHILD
>>  -D AP_HAVE_RELIABLE_PIPED_LOGS
>>  -D DYNAMIC_MODULE_LIMIT=128
>>  -D HTTPD_ROOT="/srv/www"
>>  -D SUEXEC_BIN="/usr/sbin/suexec2"
>>  -D DEFAULT_PIDLOG="/var/run/httpd2.pid"
>>  -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
>>  -D DEFAULT_LOCKFILE="/var/run/accept.lock"
>>  -D DEFAULT_ERRORLOG="/var/log/apache2/error_log"
>>  -D AP_TYPES_CONFIG_FILE="/etc/apache2/mime.types"
>>  -D SERVER_CONFIG_FILE="/etc/apache2/httpd.conf"
>> linux:~ #
>>
>> Thank you in advance.
>> --
>> Best Regards / S pozdravem
>> Petr Hracek
>
>



-- 
Best Regards / S pozdravem
Petr Hracek


Re: graceful restart detection in prefork mode

2011-05-26 Thread MATSUMOTO Ryosuke
Hi,

How do you configure "GracefulShutdownTimeout"?

2011/5/26 Petr Hracek 

> Dear developers,
>
> My situation is following:
> In my Apache2 running in prefork mode I have following situation.
>
> Whole pages (except loging page) are run over https (port 443) and
> authentication is done over my own module.
> When the most users are looking on the pages (https) then I would like
> to reload configuration of my apache over command
> apache2ctl -k graceful
>
> I suggest that new users will see new configuration and old users will
> have their session till they will not logout.
>
> But unfortunatelly all sessions are closed and as new as old users
> have to login again for other work.
>
> Is there any solution for that like detection for gracefull restart?
> Do you now any idea how to do that?
>
> My apache2 which is delivered by SUSE is pretty old (I know).
> linux:~ # httpd2 -l
> Compiled in modules:
>  core.c
>  prefork.c
>  http_core.c
>  mod_so.c
> linux:~ # httpd2 -V
> Server version: Apache/2.2.3
> Server built:   Apr 14 2010 11:41:47
> Server's Module Magic Number: 20051115:3
> Server loaded:  APR 1.2.2, APR-Util 1.2.2
> Compiled using: APR 1.2.2, APR-Util 1.2.2
> Architecture:   32-bit
> Server MPM: Prefork
>  threaded: no
>forked: yes (variable process count)
> Server compiled with
>  -D APACHE_MPM_DIR="server/mpm/prefork"
>  -D APR_HAS_SENDFILE
>  -D APR_HAS_MMAP
>  -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
>  -D APR_USE_SYSVSEM_SERIALIZE
>  -D APR_USE_PTHREAD_SERIALIZE
>  -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
>  -D APR_HAS_OTHER_CHILD
>  -D AP_HAVE_RELIABLE_PIPED_LOGS
>  -D DYNAMIC_MODULE_LIMIT=128
>  -D HTTPD_ROOT="/srv/www"
>  -D SUEXEC_BIN="/usr/sbin/suexec2"
>  -D DEFAULT_PIDLOG="/var/run/httpd2.pid"
>  -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
>  -D DEFAULT_LOCKFILE="/var/run/accept.lock"
>  -D DEFAULT_ERRORLOG="/var/log/apache2/error_log"
>  -D AP_TYPES_CONFIG_FILE="/etc/apache2/mime.types"
>  -D SERVER_CONFIG_FILE="/etc/apache2/httpd.conf"
> linux:~ #
>
> Thank you in advance.
> --
> Best Regards / S pozdravem
> Petr Hracek
>


graceful restart detection in prefork mode

2011-05-26 Thread Petr Hracek
Dear developers,

My situation is following:
In my Apache2 running in prefork mode I have following situation.

Whole pages (except loging page) are run over https (port 443) and
authentication is done over my own module.
When the most users are looking on the pages (https) then I would like
to reload configuration of my apache over command
apache2ctl -k graceful

I suggest that new users will see new configuration and old users will
have their session till they will not logout.

But unfortunatelly all sessions are closed and as new as old users
have to login again for other work.

Is there any solution for that like detection for gracefull restart?
Do you now any idea how to do that?

My apache2 which is delivered by SUSE is pretty old (I know).
linux:~ # httpd2 -l
Compiled in modules:
  core.c
  prefork.c
  http_core.c
  mod_so.c
linux:~ # httpd2 -V
Server version: Apache/2.2.3
Server built:   Apr 14 2010 11:41:47
Server's Module Magic Number: 20051115:3
Server loaded:  APR 1.2.2, APR-Util 1.2.2
Compiled using: APR 1.2.2, APR-Util 1.2.2
Architecture:   32-bit
Server MPM: Prefork
  threaded: no
forked: yes (variable process count)
Server compiled with
 -D APACHE_MPM_DIR="server/mpm/prefork"
 -D APR_HAS_SENDFILE
 -D APR_HAS_MMAP
 -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
 -D APR_USE_SYSVSEM_SERIALIZE
 -D APR_USE_PTHREAD_SERIALIZE
 -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
 -D APR_HAS_OTHER_CHILD
 -D AP_HAVE_RELIABLE_PIPED_LOGS
 -D DYNAMIC_MODULE_LIMIT=128
 -D HTTPD_ROOT="/srv/www"
 -D SUEXEC_BIN="/usr/sbin/suexec2"
 -D DEFAULT_PIDLOG="/var/run/httpd2.pid"
 -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
 -D DEFAULT_LOCKFILE="/var/run/accept.lock"
 -D DEFAULT_ERRORLOG="/var/log/apache2/error_log"
 -D AP_TYPES_CONFIG_FILE="/etc/apache2/mime.types"
 -D SERVER_CONFIG_FILE="/etc/apache2/httpd.conf"
linux:~ #

Thank you in advance.
-- 
Best Regards / S pozdravem
Petr Hracek


Re: [PATCH] New default sort order in Apache-Test-1.36 (WAS: test framework and latest Fedora)

2011-05-26 Thread Rainer Jung
Hi Fred,

On 26.05.2011 02:15, Fred Moyer wrote:
> +1
> 
> Do you have commit privileges on Apache-Test?

Surprise, yes :)

Committed as r1127812.

Regards,

Rainer

> On Fri, May 20, 2011 at 1:51 PM, Rainer Jung  wrote:
>> I noticed, that the SMOKE change in 1.36 also introduced a new sorting
>> behaviour. In the change the test suite was running by default using the
>> repeat order, that means the tests were ordered alpabetically.
>>
>> Now the default order is random.
>>
>> Furthermore the -order=rotate (A B C A B C) is gone, and -order=repeat
>> now behaves like previously -order=rotate (it seems it previously was A
>> A B B C C).
>>
>> I suggest:
>>
>> - keep behaviour and name of repeat as it is now
>> - don't try to reimplement old repeat, because it might be tricky in
>> combination with the new way iterations are done (SMOKE)
>> - switch back to the new *repeat* (=old rotate) as the default for
>> non-SMOKE tests, i.e. run the tests by default in sorted order and only
>> do random if -order=random is explicitely given.
>> - stay with random as default for SMOKE
>>
>> The following one line change should do that:
>>
>> Index: Apache-Test/lib/Apache/TestSort.pm
>> ===
>> --- Apache-Test/lib/Apache/TestSort.pm  (revision 1125303)
>> +++ Apache-Test/lib/Apache/TestSort.pm  (working copy)
>> @@ -54,7 +54,7 @@
>>  sub run {
>> my($self, $list, $args) = @_;
>>
>> -my $order = $args->{order} || 'random';
>> +my $order = $args->{order} || 'repeat';
>> if ($order =~ /^\d+$/) {
>> #dont want an explicit -seed option but env var can be a pain
>> #so if -order is number assume it is the random seed
>>
>>
>> Furthermore the READMEs and Changelog should get updated:
>>
>> ´Index: README
>> ===
>> --- README  (revision 1125303)
>> +++ README  (working copy)
>> @@ -77,18 +77,20 @@
>>
>>  It's also possible that a test will pass when it's run after a
>>  particular test, but if moved to run after a different state it may
>> -fail. For this reason it's important to ran the randomization smoking
>> -testing with -order=random option.
>> +fail. For this reason by default the tests run in random order.
>>
>>  Since it's important to be able to reproduce the problem with the
>>  random testing, whenever -order=random is used, the used seed is
>>  printed to STDERR. Which can be then fed into the future tests with:
>>  via APACHE_TEST_SEED environment variable.
>>
>> +By adding the option -order=repeat, the tests will be run in
>> +alphabetical order.
>> +
>>  Combining these two important smoke testing techiques, one can run
>>  tests with:
>>
>> -t/SMOKE -times=N -order=(repeat|rotate|random)
>> +t/SMOKE -times=N -order=(repeat|random)
>>
>>  For example, to run the mod_rewrite tests 5 times, one would:
>>
>> @@ -98,8 +100,7 @@
>>  modes:
>>
>>  - randomize all tests
>> -- repeat the same test N times in sequence
>> -- rotate the whole tests suite N times
>> +- repeat the whole tests suite N times
>>
>>  For configuration options and default settings run:
>>
>> Index: Apache-Test/README
>> ===
>> --- Apache-Test/README  (revision 1125303)
>> +++ Apache-Test/README  (working copy)
>> @@ -203,18 +203,15 @@
>>
>>  run all tests 10 times in a random order (the seed is autogenerated
>>  and reported)
>> -% t/TEST -times=10 -order=random
>> +% t/SMOKE -times=10 -order=random
>>
>>  run all tests 10 times in a random order using the seed obtained from
>>  the previous random run (e.g. 2352211):
>> -% t/TEST -times=10 -order=2352211
>> +% t/SMOKE -times=10 -order=2352211
>>
>> -rotate all tests 10 times (a, b, c, a, b, c)
>> -% t/TEST -times=10 -order=rotate
>> +repeat all tests 10 times (a, b, c, a, b, c)
>> +% t/SMOKE -times=10 -order=repeat
>>
>> -repeat all tests 10 times (a, a, b, b, c, c)
>> -% t/TEST -times=10 -order=repeat
>> -
>>  When certain tests fail when running with -times option, you want to
>>  find out the minimal sequence of tests that lead to the
>>  failure. Apache::TestSmoke helps to ease this task, simply run:
>> Index: Apache-Test/Changes
>> ===
>> --- Apache-Test/Changes (revision 1125303)
>> +++ Apache-Test/Changes (working copy)
>> @@ -8,6 +8,9 @@
>>
>>  =item 1.37-dev
>>
>> +Run t/TEST tests by default in alphabetical order and
>> +only t/SMOKE tests by default in random order.
>> +
>>  Add t_file_watch_for to Apache::TestUtil [Torsten Foertsch]
>>
>>  Add $boolean parameter to Apache::TestHandler::ok and
>> Apache::TestHandler::ok1
>>
>> Regards,
>>
>> Rainer