[CONC-432] Use GnuTLS for Windows builds instead of Schannel Created: 2019-08-05  Updated: 2020-03-16  Resolved: 2020-03-16

Status: Closed
Project: MariaDB Connector/C
Component/s: None
Affects Version/s: None
Fix Version/s: N/A

Type: Task Priority: Major
Reporter: Geoff Montee (Inactive) Assignee: Georg Richter
Resolution: Won't Fix Votes: 0
Labels: None

Issue Links:
Relates
relates to CONC-391 Unknown SSL error - MariaDB Closed
relates to CONC-433 Add CRL support in GnuTLS module Closed
relates to MDEV-13492 main.ssl_connect failed with 2026: U... Closed
relates to MDEV-13726 main.ssl_timeout, main.ssl_7937 fai... Closed
relates to CONC-417 Windows clients using Schannel often ... Closed

 Description   

Since Schannel is closed source, it can be pretty difficult to debug when it doesn't work properly. CONC-417 / MDEV-13492 is an example of a bug with an unknown cause that has been very difficult to debug.

We may want to consider using a different TLS library than Schannel.

We can't use OpenSSL in MariaDB Connector/C's packages right now, because OpenSSL's custom license is incompatible with MariaDB Connector/C's LGPL license. There are plans to relicense OpenSSL with the Apache License 2.0, which would allow us to use it in MariaDB Connector/C's packages, but that process has not been completed.

In contrast, GnuTLS is already licensed as LGPL, so it can be used in MariaDB Connector/C's packages already.

If we moved from Schannel to GnuTLS on Windows, some potential changes are listed below.

Losses:

Gains:

  • MariaDB Connector/C doesn't support password-protected private keys when built with Schannel, but it does support them when built with GnuTLS.

Generated at Thu Feb 08 03:05:16 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.