Hello Roman,
Thank you. Noted about the mailing list.

My function will be called from / inline in ngx_http_ssl_servername.
ngx_http_ssl_servername itself is registered as a SNI TSL extensions
callback like this:

#ifdef SSL_CTRL_SET_TLSEXT_HOSTNAME

    if (SSL_CTX_set_tlsext_servername_callback(conf->ssl.ctx,
                                               ngx_http_ssl_servername)
        == 0)
    {
        ngx_log_error(NGX_LOG_WARN, cf->log, 0,
            "nginx was built with SNI support, however, now it is linked "
            "dynamically to an OpenSSL library which has no tlsext support,
"
            "therefore SNI is not available");
    }

#endif
./src/http/modules/ngx_http_ssl_module.c

Regards,
Gabriel

On Wed, Feb 7, 2024 at 11:29 AM Roman Arutyunyan <a...@nginx.com> wrote:

> Hi,
>
> On Mon, Feb 05, 2024 at 11:24:39PM +0200, Clima Gabriel wrote:
> > Hello everyone,
> >
> > (the code is probably clearer and attached below)
>
> Please note that this mailing list is not for development question.
> We have a separate list nginx-de...@nginx.org for this.
>
> > This function modifies what ngx_connection_t->data points to.
> > ngx_connection_t->data is initially *ngx_http_connection_t.
> > The *ngx_http_connection_t is assigned to
> > ngx_http_v3_session_t->http_connection
> > And the *ngx_http_v3_session_t assigned to ngx_connection_t->data.
> >
> > Result: before ngx_connection_t->data is *ngx_http_connection_t
> >                after ngx_connection_t->data is *ngx_http_v3_session_t
> >
> > My question is: what is the proper way to find out what c->data is at any
> > given time? I need to know this because I'm writing a function which uses
> > the ngx_http_connection_t to obtain the hostname of the request, and it
> may
> > be invoked before or after the ngx_http_v3_init_session.
>
> There's no way to tell what object is referenced by c->data without taking
> context into consideration.  Similarly you can't do that for HTTP/1 as
> well.
>
> You need to know what's the current connection stage to tell this.
> ngx_http_v3_init_session() is called right before initializing QUIC
> streams for
> the session.
>
> When exactly do you call your function?
>
> [..]
>
> --
> Roman Arutyunyan
> _______________________________________________
> nginx mailing list
> nginx@nginx.org
> https://mailman.nginx.org/mailman/listinfo/nginx
>
_______________________________________________
nginx mailing list
nginx@nginx.org
https://mailman.nginx.org/mailman/listinfo/nginx

Reply via email to