I can't log in : ssl3_get_record: wrong version

Bug report

The following error occurred, I can not log in.
I use this tool in business, I am very troubled because I can not refer to the document.

Error message:
write EPROTO 16792:error:1408F10B:SSL routines:ssl3_get_record:wrong version number:c:\projects\electron\vendor\node\deps\openssl\openssl\ssl\record\ssl3_record.c:252:
Status code:

Developer Tools Console

C:\Users\t_hiraishi.T-HIRAISHI-PC\AppData\Local\inkdrop\app-3.25.3\resources\app.asar\node_modules\debug\src\common.js:115 Log in failure: write EPROTO 14960:error:1408F10B:SSL routines:ssl3_get_record:wrong version number:c:\projects\electron\vendor\node\deps\openssl\openssl\ssl\record\ssl3_record.c:252:
 undefined undefined Objectcode: (...)config: (...)errno: (...)message: (...)rawStack: (...)request: (...)response: (...)status: (...)syscall: (...)get code: () => {…}arguments: (...)caller: (...)length: 0name: ""__proto__: ƒ ()[[FunctionLocation]]: C:\Users\t_hiraishi.T-HIRAISHI-PC\AppData\Local\inkdrop\app-3.25.3\resources\electron.asar\renderer\api\remote.js:139[[Scopes]]: Scopes[5]set code: (value) => {…}get config: () => {…}arguments: (...)caller: (...)length: 0name: ""__proto__: ƒ ()[[FunctionLocation]]: C:\Users\t_hiraishi.T-HIRAISHI-PC\AppData\Local\inkdrop\app-3.25.3\resources\electron.asar\renderer\api\remote.js:139[[Scopes]]: Scopes[5]set config: (value) => {…}get errno: () => {…}set errno: (value) => {…}get message: () => {…}set message: (value) => {…}get rawStack: () => {…}set rawStack: (value) => {…}get request: () => {…}set request: (value) => {…}get response: () => {…}set response: (value) => {…}get status: () => {…}set status: (value) => {…}get syscall: () => {…}set syscall: (value) => {…}__proto__: Object
debug @ C:\Users\t_hiraishi.T-HIRAISHI-PC\AppData\Local\inkdrop\app-3.25.3\resources\app.asar\node_modules\debug\src\common.js:115

Info

  • Platform: Windows
  • Platform version: 10
  • App Version: 3.25.3

Reproduce

  1. Yesterday, the tool displayed a message whose session has expired and was logged out.
  2. After that, I tried to log in, I encountered this error.
  • I have not changed the network setting of my PC.

I tried

  • I have read and dealt with the following troubleshooting document:
    https://docs.inkdrop.app/manual/troubleshooting
    • I restarted my computer.
    • I Configure Web Proxy. (However, I have never set up a proxy using this file.)
  • I also attempted to turn off the proxy setting in order to separate whether this is a proxy server problem of my company based on the contents of the error log. But, even if I set this configuration file (config.cson) unset, even if turning off the proxy setting of Windows, the proxy setting did not turn off. I turned off the company’s VPN and connected it, this tool seemed to be acquiring the address of the proxy server from somewhere, and I got an error saying it did not reach the proxy server. This problem may be a problem of my environment, but I am not separated whether it is a tool problem or not.

About the solution:

  • I usually need to work with a network of companies that need to go through the proxy server.
  • If this problem is caused by the proxy server, if I temporarily turn off the proxy server and I can use login and tools via the general network, I will provisionally can avoid the problem.
  • If it takes time to investigate and solve this problem, I would be happy if I know how to turn off the proxy setting of this application.

Hi Takahiro-san,

Thank you for the report.
According to the error message, I guess your proxy server is using old version of TLS (such as TLSv1.0) which is obsolete.
Recently Inkdrop has upgraded Electron from 1.x to 3.x which runs on node 10.2, no longer supporting obsolete SSL protocols.
Please check if your proxy server supports newer protocols like TLSv1.2.

1 Like

Hi Takuya-san,

Thanks for the quick response. I will confirm this to the server administrator of my company.

As I commented, I would like to be able to take notes for now. I want to turn off the proxy at login, but I do not know how to do it. Could you tell me? There is no setting of config.cson and there is no proxy setting of Windows.

Also, as far as TLS is concerned, can not I use note sync as long as I use a proxy?

Basically the app doesn’t care about proxy server unless you configured it.
That’s why you have to tell the app about the proxy in config.cson.
Please restart the app to make sure that the app reloads your config without proxy settings.

If it still doesn’t work, maybe there is another problem, such as, your network is preventing the app from connecting to our server without going through the proxy server?

You can investigate the issue by making a simple node program like this:

var request = require('request');
request('https://api.inkdrop.app/', function (error, response, body) {
  console.log('error:', error); // Print the error if one occurred
  console.log('statusCode:', response && response.statusCode); // Print the response status code if a response was received
  console.log('body:', body); // Print the HTML for the Google homepage.
});

Run it with node >= 10.2.

Hope that helps.

I restarted the application, but it still does not work.
Are there caches left?

The current state is as follows:

I don’t mean you run the code on console of the app. Please make a script file with that code and run it with nodejs on your terminal. For example, make test.js and run it with a command node test.js. You will get the same error if it is nodejs’ problem.

Also please make sure following environment variables are not set:

HTTP_PROXY
HTTPS_PROXY

If still getting the error, I’m afraid that I don’t know why it is not working. Sorry.

Thank you very much.

The following system environment variables are registered and it was possible to temporarily resolve the problem by deleting it.

Also please make sure following environment variables are not set:

HTTP_PROXY
HTTPS_PROXY

I was able to log in, and I got out of the worst situation.
I understand that Inkdrop also refers to Windows environment variables.

Apparently this seems to be an environmental problem, so I will fix this topic.

But I am confused. Now I am in the following state, but I can login and sync again:

  • I am connected to VPN.
  • Windows proxy setting is ON.
  • There is no proxy setting in config.cson.
  • Environment variables are not set. (As it is deleted)

In this state, Inkdrop does not recognize the proxy setting and oubound request is blocked by the company’s network. Or, even if the proxy setting is recognized, I thought that “ssl3_get_record: wrong version” would occur because the proxy server does not support the new TLS version.

I understood that the network problem is very delicate.

Good to hear that!
Again,

Without the proxy settings in config.cson and environment variables, the app just tries to connect to our server directly. I believe it does not use Windows proxy settings.
So I guess your VPN is not blocking the app’s requests.

I’m behind corporate proxy as well and I can’t do anything about getting them to upgrade their SSL/TLS.

I’m having the same error logging in with Inkdrop 3.25.3.
Luckily, I still have an old copy of Inkdrop 3.24.

I logged in using Inkdrop 3.24, then upgrade to 3.25.3.
The syncing seems to work. So this seems to only affect login?

I’m just afraid that the next when Inkdrop asks me to login again I’ll have to redo the same thing as described above.

This appears to be a problem in the underlying axios library:

I will try updating axios@0.19.0-beta.1.

@Yan_Sern What is your platform?

Released v3.25.4 which uses axios@0.19.0-beta.1. Thanks for reporting.

1 Like

Turned out that axios@0.19.0-beta.1 is unstable. Should revert it…

The same “unexpected error” happened during logging in behind a corporate firewall for me as well. This happens when I add proxy servers settings in config.cson file.

Define http(s)_proxy to ENV Add proxy settings in config.cson Actual Behavior
No No Timeout
Yes No Timeout
No Yes Unexpected error
Yes Yes Unexpected error

Here’s a result of tiny test program to connect to api.inkdrop.app. The result shows a connection to your server doesn’t reproduce an error with node.js 12.4.0, although behind the same proxy server.

@Rino_Matsuura
Hi Rino-san,

I actually reverted axios to 0.18 but it seems like they recently have released 0.19.
Can you please try this binary built with axios@0.19?

https://inkdrop-dist.s3-ap-northeast-1.amazonaws.com/tmp/Inkdrop-4.0.0-Mac-patch-1.zip

[Problem resolved]
I could successfully login without an error behind a corporate proxy using the binary built with axios@0.19.
(The proxy settings is added in config.cson.)

Thank you very much!

3 Likes

v4.0.1 built with axios@0.19 is out! Thanks again for reporting.