Exasol in GitHub Actions Returns SSL_ERROR_SYSCALL Even with SSLCertificate=SSL_VERIFY_NONE

theory
SQL-Fighter

I'm attempting to use the Exasol 7.1 ODBC library to connect to a docker-db container in GitHub actions. I think Exasol is running fine and the client is configured, but I'm getting this error in the build:

# DBI connect('EXAHOST=127.0.0.1;EXAPORT=49153;Driver=Exasol;SSLCertificate=SSL_VERIFY_NONE','sys',...) failed: [EXASOL][EXASolution driver]Error in SSL_connect. SSL error code: 5 = SSL_ERROR_SYSCALL (SQL-HY000) [state was HY000 now 01002]
 
Note the use of`SSLCertificate=SSL_VERIFY_NONE in the connection string. What have I overlooked here? The GitHub action workflow is here, and uses this script to configure the client libraries. TIA!
1 ACCEPTED SOLUTION

Accepted Solutions

theory
SQL-Fighter

Bit of follow-up. Thanks to a comment from @littleK0i on an issue I opened in the exasol/docker-db project I learned that the Exasol 6 images listen on port 8888 instead of 8563. That was just want I needed to know to fix the issue in sqitchers/sqitch@a28daae.

View solution in original post

14 REPLIES 14

exa-Chris
Community Manager
Community Manager

Hi David, lets see if we can turn Theory into Practice. I will nudge internally, but as its already 19:00 over here in Germany, a response might take till Monday. Rgds Christian

Connecting Customers, Partners, Prospects and Exasolians is my passion. Apart from that I cycle, listen to music, and try to understand what all those technical discussions really mean...

theory
SQL-Fighter

LOL, that works, thanks Chris, have a good weekend.

mwellbro
Xpert

Hi @theory ,

absolutely not sure about this, but maybe changing the URI to something along the lines of:

  1. test.tc.dev.exasol.com/NOCERTCHECK:8563
  2. test.tc.dev.exasol.com:8563/NOCERTCHECK
  3. test.tc.dev.exasol.com:8563;fingerprint=NOCERTCHECK;

Source: EXASOL-2943

might help you ?

SSLCertificate=SSL_VERIFY_NONE should work as well ( according to the doc´s ... ) so it´s still strange....
If you curl a 7.1.1 instead of the current 7.1.2 driver it´s still runnng into the same error ?

Cheers ( & have a great weekend as well 🙂  ),
Malte

theory
SQL-Fighter

Thanks for the pointers, @mwellbro. After digging around EXASOL-2936, I tried moving SSLCertificate=SSL_VERIFY_NONE to the odbcinst.ini file, but that didn't work. So I put it back in my URL, and it started working! The only difference? I used ; instead of & in the URL's query string to add it. Bizarre, but hey, it looks nicer. Thanks for the help!

theory
SQL-Fighter

That said, although it works great when connecting to 7.0 and 7.1, it still fails when connecting to 6.x:

[EXASOL][EXASolution driver]Error in SSL_connect. SSL error code: 5 = SSL_ERROR_SYSCALL    (SQL-HY000) [state was HY000 now 01002]
[EXASOL][EXASolution driver]Exasol was not connected. (SQL-01002)

This is true whether I set SSLCertificate=SSL_VERIFY_NONE or not.

Is connecting to 6.x using the 7.1 ODBC driver supported?

theory
SQL-Fighter

I tried it with the 6.2 ODBC driver and got a new error (connecting to a 6.2 server):

[EXASOL][EXASolution driver]Error in socket read. (SQL-HY000)
[EXASOL][EXASolution driver]Error code was 0 (SQL-HY000) [state was HY000 now 08S01]
[EXASOL][EXASolution driver]Error receiving message from Exasol. Socket failure. (SQL-08S01)

😞

mwellbro
Xpert
@theory : thanks for the heads up !

exa-Pieterjan
Team Exasol
Team Exasol

Not sure if it'll fix your problem but may I suggest you try adding LegacyEncryption=Y or UseLegacyEncryption=Y

 

theory
SQL-Fighter

Same errors, sadly. 😞