OpenSSL problems

When i try to run curl i get error:

curl https://upwork-usw2-desktopapp.upwork.com/webapp/scripts/main.js
curl: (35) OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to upwork-usw2-desktopapp.upwork.com:443

How can i fix this.
i’ve noticed this when i was tying to use UpWork Desktop App, so i reported it and they told me to run that script. i did and showed them the error and they told me the issue is on my side.

Can you curl https://manjaro.org:443?

Sure i got HTML blob

OpenSSL works then. :slight_smile:

Ok, so can you curl this and share the results:

curl https://upwork-usw2-desktopapp.upwork.com/webapp/scripts/main.js

just so i know if the problem is on my side or not…

curl https://upwork-usw2-desktopapp.upwork.com/webapp/scripts/main.js -o testfile
works just fine

ls -hl ./testfile 
-rw-r--r-- 1 nachlese users 697K 27. Apr 06:34 ./testfile

So something is wrong with my OpenSSL. because i get an error when i try to do that.

Maybe this output from doing the transfer via wget is helpful?
A certificate is loaded from /etc/ssl/certs/ca-certificates.crt

LANG=C wget https://upwork-usw2-desktopapp.upwork.com/webapp/scripts/main.js
--2021-04-27 06:51:10--  https://upwork-usw2-desktopapp.upwork.com/webapp/scripts/main.js
Loaded CA certificate '/etc/ssl/certs/ca-certificates.crt'
Resolving upwork-usw2-desktopapp.upwork.com (upwork-usw2-desktopapp.upwork.com)... 104.18.89.237, 104.18.90.237
Connecting to upwork-usw2-desktopapp.upwork.com (upwork-usw2-desktopapp.upwork.com)|104.18.89.237|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 712818 (696K) [application/x-javascript]
Saving to: 'main.js'

main.js                                    100%[=====================================================================================>] 696.11K   971KB/s    in 0.7s    

2021-04-27 06:51:11 (971 KB/s) - 'main.js' saved [712818/712818]

or you run it like this - with the -v option - the really verbose output should contain a clue as to where and why it fails

curl https://upwork-usw2-desktopapp.upwork.com/webapp/scripts/main.js -O -v

I am not sure i understand you, but here is the results i got…

[chawila@devTool ~]$ curl https://upwork-usw2-desktopapp.upwork.com/webapp/scripts/main.js -O -v
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0*   Trying 146.112.252.240:443...
*   Trying ::ffff:146.112.56.241:443...
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0* Connected to upwork-usw2-desktopapp.upwork.com (146.112.252.240) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*  CAfile: /etc/ssl/certs/ca-certificates.crt
*  CApath: none
} [5 bytes data]
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
} [512 bytes data]
* OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to upwork-usw2-desktopapp.upwork.com:443 
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
* Closing connection 0
curl: (35) OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to upwork-usw2-desktopapp.upwork.com:443

everything looks the same for me - until and beyond this point:

for me, it continues with another TLS handshake - instead of the error you get

* TLSv1.3 (IN), TLS handshake, Server hello (2):
{ [122 bytes data]
* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):
{ [19 bytes data]
* TLSv1.3 (IN), TLS handshake, Certificate (11):
{ [2984 bytes data]
* TLSv1.3 (IN), TLS handshake, CERT verify (15):
{ [264 bytes data]
* TLSv1.3 (IN), TLS handshake, Finished (20):
{ [52 bytes data]
* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):
} [1 bytes data]
* TLSv1.3 (OUT), TLS handshake, Finished (20):
} [52 bytes data]
* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384
* ALPN, server accepted to use h2 


and more output after that …

It appears that the connection is interrupted or otherwise broken or unreliable
midway during the TLS handshake.
I do not have the knowledge to tell what the reason might be.

Sorry - this is beyond my knowledge

Thanks for the effort…
hopefully someone will help

Don’t you think it is anything to do with ISP?.
because i come from Ubuntu, i used Ubuntu for few years, then suddenly i started to get problem with Internet. (Like i would get an error saying not internet connection even when i’m browsing the same internet with my phone)

So that’s how came to Manjaro community

Cave!
This is just my guess!
This, to me, looks like something in between you and your target
is interrupting the connection attempt.

I do not think that this is due to software on your end - and the other end works as well,
as evidenced by me succeeding to get the file
and as evidenced by you being able to get files from other locations (earlier in this thread).

I have no real idea how or why this would or could happen for this specific location.

… not necessarily your ISP - there is a lot of network after them which they do not control

oh - I saw one difference between what you got and what I got:

You have IPv6 active
and the connection was attempted through that (so it looks to me)

I don’t have IPv6 active at all.
Only IPv4.

Maybe there is a clue?
Try disabling IPv6 - if you do not need it.

Perhaps things could change as well if you use a different nameserver
like 1.1.1.1 or 8.8.8.8 or any other
just not the one provided by your ISP …

Disabled IPv6, and still didn’t work.

then i changed the nameserver in sudo vim /etc/resolv.conf and then i got:

Could not resolve host: upwork-usw2-desktopapp.upwork.com


wget uses gnutls, can you try if that works?

I’m a newbie, so do you want me to try?

wget "https://upwork-usw2-desktopapp.upwork.com/webapp/scripts/main.js" -O /dev/null

The way you change dns servers used by NetworkManager is not by editing /etc/resolv.conf

It is done by changing the “Method” tab from “Automatic DHCP” to “Automatic DHCP - Addresses only”
and then putting your nameservers, separated by comma and no whitespace in between
in the “DNS Servers” field

For IPv6, I use the “Method” “Ignore” instead of “Disabled” - don’t know whether that makes a difference.

Ok, here is the results: