scylladb / cpp-rust-driver

API-compatible rewrite of https://github.com/scylladb/cpp-driver as a wrapper for Rust driver.
GNU Lesser General Public License v2.1
13 stars 11 forks source link

Add SSL/TLS support #70

Closed Gor027 closed 1 year ago

Gor027 commented 1 year ago

Pre-review checklist

This PR is dependent upon #69

This PR adds SSL/TLS support to the driver. Integration tests that are enabled in the C++ driver and are actually run during Jenkins builds, are also enabled for the cpp-rust-driver. One of the reasons that the SSL tests are disabled for cpp-driver is that during the setup scylla-ccm fails while trying to start a Scylla cluster. So, to make sure the SSL properly works, I have also run the integration tests on a Cassandra cluster.

Gor027 commented 1 year ago

V2:

The SSL support is reimplemented, this time based on the openssl-sys crate which provides rust bindings for the original OpenSSL library. With this approach, it is possible to mirror the behavior of the SSL-related functions more closely. As before, the functionality was tested manually on ScyllaDB (some integration tests are enabled), and it was also tested on a Cassandra cluster.

Gor027 commented 1 year ago

After logging support is merged into the master, the error checking/reporting functionality can be added to the SSL-related functions.