QUIC: fixed binary upgrade from older versions

Before 63af971a1 (1.31.7), the NGINX_BPF_MAPS environment variable
was passed to the new binary on binary upgrade whenever the quic_bpf
module was built, even if "quic_bpf" was not enabled, with an empty
value if there were no QUIC BPF socket groups.

Since 63af971a1, such an empty value was treated as inherited maps,
and the new binary refused to start: with the "cannot be disabled
during binary upgrade" error if "quic_bpf" was not enabled, or with
a parsing error otherwise.

The fix is to ignore an empty value, which means there are no maps
to inherit.
This commit is contained in:
Ivan Ovchinnikov authored and Ivan Ovchinnikov committed 2026-09-29 14:39:10 -07:00
1 parent 63af971a1e
commit b862596041
1 file changed
+1 -1
+1 -1
View File
@@ -149,7 +149,7 @@ ngx_quic_bpf_create_conf(ngx_cycle_t *cycle)
* some module, i.e. perl
*/
env = (u_char *) getenv(NGX_QUIC_BPF_VARNAME);
if (env != NULL) {
if (env != NULL && *env != '\0') {
len = ngx_strlen(env);
bcf->env = ngx_pnalloc(cycle->pool, len + 1);
if (bcf->env == NULL) {