Re: svn commit: r219372 - in /httpd/httpd/trunk: CHANGES include/ap_mmn.h modules/proxy/mod_proxy.c modules/proxy/mod_proxy.h
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
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
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
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
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