﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc	uname	nginx_version
2539	--with-http_v3_module changes the layout of the ngx_connection_s structure that can be used by modules, but does not change the signature	dmikhin@…		"Nginx compiled with v3 support has following signature:

{{{
./configure --with-http_v3_module && make -j8
egrep -ao '.,.,.,[01]{34}' objs/nginx
8,4,8,0000111111010111001110111111000110
}}}

Nginx compiled without v3 support will have the same signature:

{{{
./configure && make -j8
egrep -ao '.,.,.,[01]{34}' objs/nginx
8,4,8,0000111111010111001110101111000110
}}}

But nginx compiled with v3 support has different struct ngx_connection_s layout, it has additional 'quic' field - https://trac.nginx.org/nginx/browser/nginx/src/core/ngx_connection.h?rev=58afcd72446ff33811e773f1cabb7866a92a09a0#L153. Thus, if we compile a module for nginx without v3 support and try to load it into nginx with v3 support, the module will be successfully loaded because they have the same versions and signatures, but the module will behave badly due to different structure layouts."	defect	closed	major	nginx-1.26	http/3	1.25.x	fixed		dmikhin@…	Linux d334af5216ac 5.15.0-73-generic #80~20.04.1-Ubuntu SMP Wed May 17 14:58:14 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux	"nginx version: nginx/1.25.2
built by gcc 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.2) 
built with OpenSSL 1.1.1f  31 Mar 2020
TLS SNI support enabled
configure arguments: --with-http_v3_module"
