Exafunction / codeium.vim

Free, ultrafast Copilot alternative for Vim and Neovim
https://codeium.com
MIT License
4.3k stars 157 forks source link

Problem with Codeium Auth #148

Closed leCoq42 closed 1 year ago

leCoq42 commented 1 year ago

When trying to authenticate my Codium account in Neovim on MacOS 10.14.6 I get the following error messages:

"E474: Unidentified byte: curl: (60) SSL certificate problem: certificate has expired^@More details here: https://curl.haxx.se/docs/sslcerts.html^@^@curl performs SSL certificate verification by default, using a "bundle"^@ of Certificate Authority (CA) public keys (CA certs). If the default^@ bundle file isn't adequate, you can specify an alternate file^@ using the --cacert option.^@If this HTTPS server uses a certificate signed by a CA represented in^@ the bundle, the certificate verification probably failed due to a^@ problem w ith the certificate (it might be expired, or the name might^@ not match the domain name in the URL).^@If you'd like to turn off curl's verification of the certificate, use^@ the -k (or --insecure) option.^@HTTPS-proxy has similar options --proxy-cacert and --proxy-insecure.^@"

"E474: Failed to parse curl: (60) SSL certificate problem: certificate has expired^@More details here: https://curl.haxx.se/docs/sslcerts.html^@^@curl performs SSL certificate ver ification by default, using a "bundle"^@ of Certificate Authority (CA) public keys (CA certs). If the default^@ bundle file isn't adequate, you can specify an alternate file^@ us ing the --cacert option.^@If this HTTPS server uses a certificate signed by a CA represented in^@ the bundle, the certificate verification probably failed due to a^@ problem with the certificate (it might be expired, or the name might^@ not match the domain name in the URL).^@If you'd like to turn off curl's verification of the certificate, use^@ the -k (or --insecure) option.^@HTTPS-proxy has similar options --proxy-cacert and --proxy-insecure.^@"

Is this a known problem and/or is there a fix for this?

pqn commented 1 year ago

Seems related to https://stackoverflow.com/a/69998301/832056

Let me know if that works. A more permanent solution that doesn't require user intervention would require us to verify the checksum of the download, which we already do on other platforms.

psalm842 commented 1 year ago

@ME-Haan A simpler solution that worked for me is to modify the command.vim file located at <user home>\.local\share\nvim\plugged\codeium.vim\autoload\codeium

Modify line 94 from: let command = 'curl -sS ' . register_user_url . ' ' . to: let command = 'curl --ssl-no-revoke -sS ' . register_user_url . ' ' .

This worked for me. Also this is going to be a problem for many corporate users behind a proxy, as part of this issue can we set --ssl-no-revoke by default, or ask the user if it fails to try with ssl-no-revoke?

fortenforge commented 1 year ago

We can mention --ssl-no-revoke in the README. We definitely can't set it by default because (1) it's a windows-only flag, and (2) it's technically insecure to use.

The situation where curl is broken on a significant fraction of windows machines is unfortunate though.

psalm842 commented 1 year ago

Can we close this issue since #161 should resolve it?

fortenforge commented 1 year ago

It's not quite the same issue since the original poster was on a Mac and their issue would not be solved via --ssl-no-revoke.

Nevertheless I will close this due to staleness.