<div dir="ltr">Hello,<div><br></div><div>Could you explain the engine management in the openssl 1.0.2e?</div><div><br></div><div>I load an engine via openssl config specifying the path using the dynamic_path directive and provide some engine-specific directives. </div><div><br></div><div>When I call the dgst command </div><div><br></div><div>dgst -sha1 -engine myengine -keyform engine -sign mykey -out signature</div><div><br></div><div>I see that the ENGINE_free function is not called after the setup_engine() call from line 220 of dgst.c. It's the 4th call to the ENGINE_free function, there was a call to ENGINE_free for my engine and 2 calls to ENGINE_free to the dynamic engine.</div><div><br></div><div>Here I get the fields struct_ref = 4, funct_ref = 3, and it seems strange to me.</div><div><br></div><div>It also seems to me that it should be a call to ENGINE_free at the end of openssl app call to free the resources (e.g. engine error strings), but there is no one.</div><div><br></div><div>Could you explain my mistakes?</div><div><br></div><div>Thank you!<br clear="all"><div><br></div>-- <br><div class="gmail_signature">SY, Dmitry Belyavsky</div>
</div></div>