Hi,

I have caused more than enough chatter about this patch, hopefully this is
the last comment

I previously wrote:

>
> We should not repeatedly load providers in each SIGHUP loop without
> unloading them in some uninit() call. That would require saving pointers to
> these explicitly loaded providers, unfortunately...
>

I want to suggest an alternative: act on this option only the first time,
not in every SIGHUP loop. The reason being it's not easy to support
changing of loaded providers in the default libctx during every SIGHUP in a
good way:

OpenSSL will parse its config file only once and cannot be convinced to do
it again at SIGHUP. Also it will attempt to do the automatic provider
loading only once (the so-called fallback to default). That means, running
with "--providers foo" and doing a SIGHUP with that option removed from the
config file will result in no providers if we unload "foo". If we do not
unload it on SIGHUP, it will always be loaded contrary to user intent, as
well as leak memory due to multiple loads.

Just document that "--providers" will be parsed once and the program has to
be restarted to change it.

There are other approaches like swapping the default libctx, but not worth
the trouble, IMO.

Selva

>
_______________________________________________
Openvpn-devel mailing list
Openvpn-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openvpn-devel

Reply via email to