Niels Möller nisse@lysator.liu.se writes:
Suggestion: Make dst_length an input parameter as well (similar to, e.g., the rsa_decrypt functions). If decoding would produce more bytes than there is space for, decoding fails.
I think I'd like to do this change. It seems to be a rather important usecase to decode base64 input where the binary data is of known size, e.g., an ed25519 key or signature. Question is if it's to much breakage to change the semantics of existing functions, rather than inventing new names.
I've pushed changes like this to the branch https://git.lysator.liu.se/nettle/nettle/-/tree/base16-base64-decode-api.
Any opinions on the api change? It's not ideal with an input/output size argument, but it's not that uncommon, and it is consistent with nettle's rsa_decrypt.
A related question: What about the nettle_armor interface, can that be deleted? It is defined in nettle-meta.h, with function types defined in nettle-types.h (with comment claiming that they are experimental).
Now deleted. I also deleted the unused base64_encode_group (was previously used by the now deleted openpgp code).
Regards, /Niels