sfackler/rust-openssl

Retire non-bindgen modes

davidben opened this issue · 1 comments

Originally, this crate used an extremely unsafe bindings strategy, copy-pasting OpenSSL type signatures and hoping they were correct, with such extreme unsafety that it risked memory errors that even C is capable of protecting against.

#1573 added an optional bindgen mode, which improved things, but the unsafe mode remains. As I understand it, this was out of trying to support older CentOS versions that did not have a new enough libclang? I'm not sure which CentOS version it was, but https://endoflife.date/centos says the last one that may be relevant is going EOL in a couple months.

alex commented

I like this, maintaining the handwritten bindings is annoying :-)

The main consideration I have is impact on build times, and the libclang requirement. I wish bindgen was a feature of rustc itself, but not today...