Uploaded image for project: 'Couchbase .NET client library'
  1. Couchbase .NET client library
  2. NCBC-1296

PlatformNotSupportedException thrown when using libcurl <= 7.29.0 and OpenSSL

    XMLWordPrintable

Details

    • Task
    • Resolution: Won't Fix
    • Major
    • backlog-2.0, .backlog
    • 2.4.0-dp3, 2.4.0
    • docs
    • None

    Description

      On a host that has curl built without OpenSSL, N1QL query throws following exception.

      System.PlatformNotSupportedException: The libcurl library in use (7.29.0) and its SSL backend ("NSS/3.21 Basic ECC") do not support custom handling of certificates. A libcurl built with OpenSSL is required.

       

      This is due to https://github.com/couchbase/couchbase-net-client/blob/master/Src/Couchbase/N1QL/QueryClient.cs#L393, which calls System.Net.Http.HttpClient.PostAsync that requires libcurl with OpenSSL.

       

      Workaround is to upgrade libcurl to later than 7.29.0.

      On CentOS, since 7.29.0 is the latest, download and install

      ftp://ftp.pbone.net/mirror/ftp5.gwdg.de/pub/opensuse/repositories/home:/Scott_Cantor/CentOS_7/x86_64/libcurl-openssl-7.43.0-1.1.x86_64.rpm

      with yum. Example is 

       

      'yum install libcurl-openssl-7.43.0-1.1.x86_64.rpm'

      which will install a single file /opt/shibboleth/lib64/libcurl.so.4.3.0 and a symbolic link.

      Then replace /usr/lib64/libcurl.so.4.3.0 with /opt/shibboleth/lib64/libcurl.so.4.3.0 or do whatever symbolic link that will invoke new libcurl.so.4.3.0

       

       

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            Unassigned Unassigned
            jaekwon.park Jae Park [X] (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes

                PagerDuty