You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
If I compile with HAVE_CIPHER_CHACHA20=1 and have the rest of the ciphers/codecs explicitly disabled, there is a segfault when I explicitly set the cipher (PRAGMA cipher = 'chacha20') which I believe is caused by a cipher/codec index mismatch.
Specifically, while codecDescriptorTable has dummy descriptors to make sure that the indices remain the same no matter what ciphers/codecs are compiled in, globalCodecParameterTable does not have such dummy entries to account for non-existent ciphers/codecs.
Additionally, if I set chacha20 as the default cipher at build time (although it's currently already the build-time default) and don't specify the cipher via the pragma, then the issue does not occur.
The text was updated successfully, but these errors were encountered:
codecDescriptorTable is a small static table that is created and filled at compile time. Dummy entries for disabled cipher schemes are created, so that no re-numbering of cipher schemes is necessary, and entries can be accessed simply by using the numeric cipher id.
Of the cipher scheme parameter table globalCodecParameterTable a copy is created for each database connection. Therefore entries and subtables for disabled cipher schemes are not created at all. However, this requires extra logic to access the correct table entries, if cipher schemes are actually disabled.
Obviously, this extra logic is currently not implemented correctly. And I have to admit that I didn't test disabling cipher schemes as regularly as I probably should, because most users use the default configuration with all cipher schemes enabled.
Thanks for reporting the issue. I will provide a fix soon.
If I compile with
HAVE_CIPHER_CHACHA20=1
and have the rest of the ciphers/codecs explicitly disabled, there is a segfault when I explicitly set the cipher (PRAGMA cipher = 'chacha20'
) which I believe is caused by a cipher/codec index mismatch.Specifically, while
codecDescriptorTable
has dummy descriptors to make sure that the indices remain the same no matter what ciphers/codecs are compiled in,globalCodecParameterTable
does not have such dummy entries to account for non-existent ciphers/codecs.Additionally, if I set chacha20 as the default cipher at build time (although it's currently already the build-time default) and don't specify the cipher via the pragma, then the issue does not occur.
The text was updated successfully, but these errors were encountered: