Re: svn commit: r219372 - in /httpd/httpd/trunk: CHANGES include/ap_mmn.h modules/proxy/mod_proxy.c modules/proxy/mod_proxy.h

2005-07-18 Thread William A. Rowe, Jr.
At 07:57 PM 7/17/2005, Ian Holsman wrote:

>ok..
>I'll go fix the structure.
>I wasn't sure what the difference was.
>>A new structure member (at the end of an httpd-allocated structure)
>>or new function are minor bumps; which this patch falls under.
>>The user updating should not need to update their module, because
>>the expectations when such modules were built have not changed.

I should have pointed out that if the sizeof() is well known,
and we know of/expect developers to allocate it for themselves,
then we would have to have a major bump; as long as httpd has
an allocator for the structure (which observes the now-current
sizeof()) then we are fine :)

This really makes me pause and consider; we really need an accessor
to define the version/length of specific apache defined structures;
low-level modules can check if they need to know they are compatible.

Good change for Apache 2.2's API?

Bill  



Re: svn commit: r219372 - in /httpd/httpd/trunk: CHANGES include/ap_mmn.h modules/proxy/mod_proxy.c modules/proxy/mod_proxy.h

2005-07-18 Thread Mladen Turk

Bill Stoddard wrote:

William A. Rowe, Jr. wrote:


A new structure member (at the end of an httpd-allocated structure)


This one can be tricky to manage. Since every structure in httpd is 
accessable to modules, it is possible for a custom module to allocate 
structures and pass them back into the server. If the module allocates 
space for an old version of a structure and passes that pointer back 
into httpd, the results are, well, predictable in an unpredictable kind 
of way.




That's true if the module allocated struct can be used in the core
itself. I think the William is right about that, as well as you are :)

If the changed struct can be pushed back to the core and the rest of
modules, then we need a major module bump. In other case it's only the
minor, because the rest of the world will still have all the data
from the previous minor.


Regards,
Mladen.



Re: svn commit: r219372 - in /httpd/httpd/trunk: CHANGES include/ap_mmn.h modules/proxy/mod_proxy.c modules/proxy/mod_proxy.h

2005-07-18 Thread Bill Stoddard

William A. Rowe, Jr. wrote:

At 12:12 AM 7/17/2005, [EMAIL PROTECTED] wrote:


Author: ianh
Date: Sat Jul 16 22:12:10 2005
New Revision: 219372

URL: http://svn.apache.org/viewcvs?rev=219372&view=rev
Log:
This patch adds a new hook (request_status) that gets ran in proxy_handler
just before the final return.  This gives modules an opportunity to do
something based on the proxy status.
[...]
new hook -- so mmn bump.. i made it a major one, hope thats ok 



We only bump major when we -change- an existing API or drop an
API which is no longer supported.  E.g. anyone using the old
major might have been using something we no longer provide.

A new structure member (at the end of an httpd-allocated structure)


This one can be tricky to manage. Since every structure in httpd is accessable to modules, it is possible for 
a custom module to allocate structures and pass them back into the server. If the module allocates space for 
an old version of a structure and passes that pointer back into httpd, the results are, well, predictable in 
an unpredictable kind of way.


Bill



Re: svn commit: r219372 - in /httpd/httpd/trunk: CHANGES include/ap_mmn.h modules/proxy/mod_proxy.c modules/proxy/mod_proxy.h

2005-07-17 Thread Ian Holsman

William A. Rowe, Jr. wrote:

At 12:12 AM 7/17/2005, [EMAIL PROTECTED] wrote:


Author: ianh
Date: Sat Jul 16 22:12:10 2005
New Revision: 219372

URL: http://svn.apache.org/viewcvs?rev=219372&view=rev
Log:
This patch adds a new hook (request_status) that gets ran in proxy_handler
just before the final return.  This gives modules an opportunity to do
something based on the proxy status.
[...]
new hook -- so mmn bump.. i made it a major one, hope thats ok 



We only bump major when we -change- an existing API or drop an
API which is no longer supported.  E.g. anyone using the old
major might have been using something we no longer provide.



ok..
I'll go fix the structure.
I wasn't sure what the difference was.

A new structure member (at the end of an httpd-allocated structure)
or new function are minor bumps; which this patch falls under.
The user updating should not need to update their module, because
the expectations when such modules were built have not changed.

Bill






Re: svn commit: r219372 - in /httpd/httpd/trunk: CHANGES include/ap_mmn.h modules/proxy/mod_proxy.c modules/proxy/mod_proxy.h

2005-07-17 Thread William A. Rowe, Jr.
At 12:12 AM 7/17/2005, [EMAIL PROTECTED] wrote:
>Author: ianh
>Date: Sat Jul 16 22:12:10 2005
>New Revision: 219372
>
>URL: http://svn.apache.org/viewcvs?rev=219372&view=rev
>Log:
>This patch adds a new hook (request_status) that gets ran in proxy_handler
>just before the final return.  This gives modules an opportunity to do
>something based on the proxy status.
>[...]
>new hook -- so mmn bump.. i made it a major one, hope thats ok 

We only bump major when we -change- an existing API or drop an
API which is no longer supported.  E.g. anyone using the old
major might have been using something we no longer provide.

A new structure member (at the end of an httpd-allocated structure)
or new function are minor bumps; which this patch falls under.
The user updating should not need to update their module, because
the expectations when such modules were built have not changed.

Bill