Skip to content

In 0.12, the API depends on the version of Botan used at compile time #156

Description

@teythoon

I think that this is unfortunate because any downstream user now has to resort to conditional compilation (and directly depend on botan-sys in order to use the botan_ffi_YYYYMMDD features) if they want to opportunistically support algorithms that are only found in newer versions of Botan, e.g. X448.

I'd much rather see the API be independent from the Botan version, and have it return an error at runtime if the algorithm is not available.

This is based on Sequoia's experience with rust-openssl (where the API depends on the version and variant of OpenSSL in use), where we have to both use conditional compilation and runtime detection at the call sites. In contrast, the Nettle bindings we use (and maintain), provide a uniform API and return errors at run time.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions