On Wed, 11 Nov 1998, Martin Kraemer wrote:
> On Tue, Nov 10, 1998 at 08:03:54PM +0300, Khimenko Victor wrote:
> > May be while Ralf is busy with documentation things someone could take a look
> > on subj. This is just "working demo", but it's working enough to be usable as
> > replacement for mod_ssl 2.1b8 ! PLEASE, take a look and make suggestions. IMO
>
> I like it. Can I use it in my own projects?
>
Oops. Completely forgot about copyright problem :-(( Add the following in
the ap_hook.c and use as permitted:
-- cut --
/* ====================================================================
* Copyright (c) 1998 Khimenko Victor. All rights reserved.
*
* Choose one of two licenses:
*
* ====================================================================
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following
* disclaimer in the documentation and/or other materials
* provided with the distribution.
*
* 3. All advertising materials mentioning features or use of this
* software must display the following acknowledgment:
* "This product includes software developed by
* Khimenko Victor <[EMAIL PROTECTED]> for use in the
* mod_ssl project (http://www.engelschall.com/sw/mod_ssl/)."
* except when used in mod_ssl-derived or Apache-derived products.
*
* 4. The names "mod_ssl" must not be used to endorse or promote
* products derived from this software without prior written
* permission. For written permission, please contact
* [EMAIL PROTECTED]
*
* 5. Products derived from this software may not be called "mod_ssl"
* nor may "mod_ssl" appear in their names without prior
* written permission of Ralf S. Engelschall.
*
* 6. Redistributions of any form whatsoever must retain the following
* acknowledgment:
* "This product includes software developed by
* Khimenko Victor <[EMAIL PROTECTED]> for use in the
* mod_ssl project (http://www.engelschall.com/sw/mod_ssl/)."
*
* THIS SOFTWARE IS PROVIDED BY KHIMENKO VICTOR ``AS IS'' AND ANY
* EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL KHIMENKO VICTOR OR
* HIS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
* OF THE POSSIBILITY OF SUCH DAMAGE.
* ====================================================================
*
* This is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This code is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License (http://www.gnu.org/copyleft/lgpl.html)
* for more details.
* =====================================================================
*/
-- cut --
> Pro's:
> * Strong prototyping & type checking
> (on a "by function" basis). => No need to pre-define the "allowed" signatures.
>
> * Elegant automatic wrapping of the called functions into inlined functions
> (prerequisite for the strong typechecking)
>
> Con's:
> * Should be run thru indent to conform to Ralf's coding style
> (no offense intended ;-)
>
> Questions:
> * In the following code snippet, we create a static ap_hook_start_##hook_name
> pointer "per module" (i.e., for each module trat includes the header).
> Shouldn't it be a global list that's shared between modules? And if yes, you
> can't initialize it to NULL.
> +static struct ap_hook_struct_##hook_name { \
> + ap_hook_func_##hook_name hook_addr; \
> + struct ap_hook_struct_##hook_name* next; \
> +} *ap_hook_start_##hook_name = NULL; \
>
No, it's not possible. Consider situation where mod_ssl and mod_perl are
hooked, for example (DSO case). We could not put variable in mod_ssl
since mod_perl should be loadable without mod_ssl and by the same
reason we could not put this variable in mod_perl. So we are forced to
put this variable in Apache core! And this is clearly unappropriate... But
current design is not ok for situation where you have two modules with a
lot of source files in each. May be we should have ap_define_global to
make definitions in .h file (with "extern __inline__" if inline is
supported and with just plain extern if inline is not supported) and
ap_define_realize to make instance for variable (and functions). There are
should be one more parameter (module name) to avoid name collizions, of
course... IMO this version should COMPLEMENT ap_define, not replace it...
What do you think ?
>
> > PLEASE, take a look... It was sended three times to list
> > but looks like noone even notice it :-((
>
> Yes, I saw you sent it but was too busy to have a closer look. Sorry if I'm too
> late with my response.
This is FIRST I'm got so far (except of Olaf's responce with noise
about .bz2 :-)
> Did you send it to [EMAIL PROTECTED] too?
Yes. Three times.
> In the Headers I received, only the developers who received the 2.1b9-SNAP
> package are mentioned.
>
It was sent in monday very early morning. Since I'm got no responces
(ANY responces) for two days I'm sent one more letter to developers...
______________________________________________________________________
Apache Interface to SSLeay (mod_ssl) www.engelschall.com/sw/mod_ssl/
Official Support Mailing List [EMAIL PROTECTED]
Automated List Manager [EMAIL PROTECTED]