On Mon, Sep 14, 2020 at 9:52 PM Matt Caswell <m...@openssl.org> wrote:
> > And that is the point - this is not how the existing CTX functions work > > (ignoring the OPENSSL_CTX stuff). > > Do you have some concrete examples of existing functions that don't work > this way? > SSL_new() BIO_new_ssl() BIO_new_ssl_connect() BIO_new_bio_pair() etc And all the existing method using functions which are also factories. But I get the point - if there is only one argument is it logically coming first or last - obviously it can be seen both ways. IMO, we absolutely MUST have the ability to delete parameters (for > example ENGINEs). If we can do that, then I don't see why we can't add > parameters. > No - that doesn't follow. It is perfectly reasonable to have an ENGINE typedef that remains and is passed as NULL as usual - and in fact most of the top-level ENGINE stuff handles NULL as meaning no engine usage so that would remain consistent. There is no absolute requirement to delete a parameter for this or other purposes. If you want to reorder parameters I would argue it should be a new function name and not an _ex version. Tim.