ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 

  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА














     АРХИВ :: Apache-Talk
Apache-Talk mailing list archive (apache-talk@lists.lexa.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [apache-talk] Re[2]: [apache-talk] обработка на стадии сое динения



On Sat, 6 Nov 2004, Roman Listov wrote:

> Saturday, November 6, 2004, 2:58:08 PM, you wrote:
>
> > On Sat, 6 Nov 2004, Roman Listov wrote:
>
> >>   Как я понимаю, перый обработчик, который вызывается в стандартном
> >>   апачевсом API происходит уже после получения запроса?
>
> > Да.
>
> >>   А как можно, кроме как патчить апач, получить управление сразу после
> >>   коннекта? Может ли это EAPI и если да, где бы почитать, как его
> >>   использовать, не посоветуете? Или в идеале набросок его
> >>   использования.
>
> > Нет, EAPI это не позвоялет. Нужно патчить.
>
> Я тут как раз почитал ридми
> EAPI adds the following additional
>  hook pointers to the module structure:
> ...
>  new_connection:
>      Called from within the internal new_connection() function, right
>      after the conn_rec structure for the new established connection was
>      created and before Apache starts processing the request with
>      ap_read_request().  It is mainly intended to be used to setup/run
>      connection dependent things like sending start headers for
>      on-the-fly compression, etc.
>
>   Но принципы использования этого хука все равно для меня
>   расплывчаты...

Виноват, ошибся. Я смотрел хуки "ap::", а это оказался хук типа фазы.
Как использовать, посмотри в самом конце pkg.sslmod/mod_ssl.c из mod_ssl:

    /* Extended API (forced to be enabled with mod_ssl) */

    ssl_hook_AddModule,       /* after modules was added to core     */
    ssl_hook_RemoveModule,    /* before module is removed from core  */
    ssl_hook_RewriteCommand,  /* configuration command rewriting     */
    ssl_hook_NewConnection,   /* socket connection open              */
    ssl_hook_CloseConnection  /* socket connection close             */
};

Обработчик имеет вид:
void ssl_hook_NewConnection(conn_rec *c);


Игорь Сысоев
http://sysoev.ru



 




Copyright © Lexa Software, 1996-2009.