| Message ID | 20251112092743.23173-1-gert@greenie.muc.de |
|---|---|
| State | New |
| Headers | show |
| Series | [Openvpn-devel,v2] clean up environment variable handling in verify_user_pass_script | expand |
Hi, On Wed, Nov 12, 2025 at 10:27:37AM +0100, Gert Doering wrote: > From: Arne Schwabe <arne@rfc2549.org> > > The username environment variable is already set by the > set_verify_user_pass_env function before the verify_user_pass_script > function is called, so this call is not doing anything but might erroneously > made people think that this needs to be cleaned up. > > Also ensure that the password is clean from the env even in an error case. Resend by mistake, has long been merged. Sorry for the noise. gert
diff --git a/src/openvpn/ssl_verify.c b/src/openvpn/ssl_verify.c index 04ef27e..993d22c 100644 --- a/src/openvpn/ssl_verify.c +++ b/src/openvpn/ssl_verify.c @@ -1329,7 +1329,7 @@ } else { - setenv_str(session->opt->es, "username", up->username); + /* username env is already set by set_verify_user_pass_env */ setenv_str(session->opt->es, "password", up->password); } @@ -1377,10 +1377,6 @@ /* purge auth control filename (and file itself) for non-deferred returns */ key_state_rm_auth_control_files(&ks->script_auth); } - if (!session->opt->auth_user_pass_verify_script_via_file) - { - setenv_del(session->opt->es, "password"); - } done: if (tmp_file && strlen(tmp_file) > 0) @@ -1389,6 +1385,11 @@ } error: + if (!session->opt->auth_user_pass_verify_script_via_file) + { + setenv_del(session->opt->es, "password"); + } + argv_free(&argv); gc_free(&gc); return retval;