meganz / sdk

MEGA C++ SDK
BSD 2-Clause "Simplified" License
1.33k stars 510 forks source link

How do I change TLSv1.3 to TLSv1.2 in curl? | onRequestTemporaryError #2573

Open luisr1vas opened 3 years ago

luisr1vas commented 3 years ago

Hello! I have a problem with TLS 1.3 version because it does not work with a VPN that installs a local certificate on the device.

I explain the inconvenience;

In the Mega application for Android (current version 4.0.2) I see in the registry that it uses TLS 1.2 and it works perfectly with an ad blocker (AdGuard). Example:

[06:52:19][MAX] cs cURL: TLSv1.2 (IN), TLS handshake, Server hello (2): (net.cpp:1764)
[06:52:19][MAX] cs cURL: TLSv1.2 (IN), TLS handshake, Certificate (11): (net.cpp:1764)
[06:52:19][MAX] cs cURL: TLSv1.2 (IN), TLS handshake, Server key exchange (12): (net.cpp:1764)
[06:52:19][MAX] cs cURL: TLSv1.2 (IN), TLS handshake, Server finished (14): (net.cpp:1764)
[06:52:19][MAX] cs cURL: TLSv1.2 (OUT), TLS handshake, Client key exchange (16): (net.cpp:1764)
[06:52:19][MAX] cs cURL: TLSv1.2 (OUT), TLS change cipher, Change cipher spec (1): (net.cpp:1764)
[06:52:19][MAX] cs cURL: TLSv1.2 (OUT), TLS handshake, Finished (20): (net.cpp:1764)
[06:52:20][MAX] cs cURL: TLSv1.2 (IN), TLS change cipher, Change cipher spec (1): (net.cpp:1764)
[06:52:20][MAX] cs cURL: TLSv1.2 (IN), TLS handshake, Finished (20): (net.cpp:1764)
[06:52:20][MAX] cs cURL: SSL connection using TLSv1.2 / ECDHE-RSA-AES256-GCM-SHA384 (net.cpp:1764)
[06:52:20][MAX] cs cURL: ALPN, server did not agree to a protocol (net.cpp:1764)
[06:52:20][MAX] cs cURL: Server certificate: (net.cpp:1764)
[06:52:20][MAX] cs cURL:  subject: CN=*.api.mega.co.nz (net.cpp:1764)
[06:52:20][MAX] cs cURL:  start date: Dec  6 00:00:00 2020 GMT (net.cpp:1764)
[06:52:20][MAX] cs cURL:  expire date: Dec  6 23:59:59 2021 GMT (net.cpp:1764)
[06:52:20][MAX] cs cURL:  issuer: C=GB; ST=Greater Manchester; L=Salford; O=Sectigo Limited; CN=Sectigo RSA Domain Validation Secure Server CA (net.cpp:1764)
[06:52:20][MAX] cs cURL:  SSL certificate verify result: unable to get local issuer certificate (20), continuing anyway. (net.cpp:1764)
[06:52:20][MAX] cs cURL:     public key hash: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx (net.cpp:1764)
[06:52:20][DEB] Setting curl socket 92 to 3 (net.cpp:2614)
[06:52:20][MAX] cs cURL: We are completely uploaded and fine (net.cpp:1764)
[06:52:20][DEB] Setting curl socket 92 to 1 (net.cpp:2614)
[06:52:20][MAX] cs cURL: Mark bundle as not supporting multiuse (net.cpp:1764)
[06:52:20][MAX] cs Header: HTTP/1.1 200 OK (net.cpp:2489)
[06:52:20][MAX] cs Header: Content-Type: application/json (net.cpp:2489)
[06:52:20][MAX] cs Header: Access-Control-Allow-Origin: * (net.cpp:2489)
[06:52:20][MAX] cs Header: Access-Control-Allow-Headers: Content-Type, MEGA-Chrome-Antileak (net.cpp:2489)
[06:52:20][MAX] cs Header: Access-Control-Expose-Headers: Original-Content-Length (net.cpp:2489)
[06:52:20][MAX] cs Header: Access-Control-Max-Age: 86400 (net.cpp:2489)
[06:52:20][MAX] cs Header: Original-Content-Length: 946 (net.cpp:2489)
[06:52:20][MAX] cs Header: Content-Length: 946 (net.cpp:2489)
[06:52:20][MAX] cs Header: Connection: keep-alive (net.cpp:2489)
[06:52:20][MAX] cs cURL: Connection #0 to host 66.203.125.11 left intact (net.cpp:1764)

Whereas if I compile the sdk (recent version) and use the sample libraries for Android and use vpn (AdGuard to remove app ads) it throws me the following error:


onRequestTemporaryError: Request failed, retrying request.getParamType(): 0

AndroiMegaApi: megaapi_impl.cpp:16394: Request (GET_PUBLIC_NODE) starting
AndroiMegaApi: net.cpp:1940: Resolving IPv4 address for g.api.mega.co.nz
AndroiMegaApi: net.cpp:1133: c-ares info received
AndroiMegaApi: net.cpp:1227: c-ares error. code: 11
AndroiMegaApi: net.cpp:1267: Unable to get the IP for g.api.mega.co.nz
AndroiMegaApi: megaclient.cpp:2041: Retrying cs request in 1 ds
AndroiMegaApi: net.cpp:1813: Error in c-ares. Reinitializing...
AndroiMegaApi: http.cpp:309: Using hardcoded MEGA DNS servers: 2001:678:25c:2215::554,89.44.169.136,2001:678:25c:2215::559,89.44.169.141,2a0b:e40:3::14,66.203.127.16,2a0b:e40:3::16,66.203.127.14
AndroiMegaApi: net.cpp:1940: Resolving IPv4 address for g.api.mega.co.nz
AndroiMegaApi: net.cpp:1133: c-ares info received
AndroiMegaApi: net.cpp:1141: Received a valid IP for g.api.mega.co.nz: 66.203.125.11
AndroiMegaApi: net.cpp:1299: Name resolution finished
AndroiMegaApi: net.cpp:1377: cs POST target URL: https://g.api.mega.co.nz/cs?id=qzbcxdydgw&ak=z9l30ZAB&v=2&&lang=es
AndroiMegaApi: net.cpp:1388: cs Sending 26: [{"a":"g","p":"Bfw2xRyJ"}]
AndroiMegaApi: net.cpp:1408: Using the IP of the hostname: 66.203.125.11
AndroiMegaApi: net.cpp:2697: Set cURL timeout[2] to 4483 from 0(ms) at ds: 4483
AndroiMegaApi: net.cpp:725: Informing cURL of timeout reached for 2 at 4483
AndroiMegaApi: net.cpp:1764: cs cURL:   Trying 66.203.125.11:443...
AndroiMegaApi: net.cpp:1764: cs cURL: TCP_NODELAY set
AndroiMegaApi: net.cpp:2604: Adding curl socket 179 to 2
AndroiMegaApi: net.cpp:2697: Set cURL timeout[2] to 4485 from 199(ms) at ds: 4483
AndroiMegaApi: net.cpp:1764: cs cURL: Connected to 66.203.125.11 () port 443 (#0)
AndroiMegaApi: net.cpp:1764: cs cURL: ALPN, offering http/1.1
AndroiMegaApi: net.cpp:1764: cs cURL: TLSv1.3 (OUT), TLS handshake, Client hello (1):
AndroiMegaApi: net.cpp:2614: Setting curl socket 179 to 1
AndroiMegaApi: net.cpp:725: Informing cURL of timeout reached for 2 at 4485
AndroiMegaApi: net.cpp:2697: Set cURL timeout[2] to 4603 from 11778(ms) at ds: 4485
AndroiMegaApi: net.cpp:725: Informing cURL of timeout reached for 2 at 4603
AndroiMegaApi: net.cpp:1764: cs cURL: Operation timed out after 12034 milliseconds with 0 out of 0 bytes received
AndroiMegaApi: net.cpp:1764: cs cURL: Closing connection 0
AndroiMegaApi: net.cpp:2591: Removing socket 179
AndroiMegaApi: net.cpp:2108: cs CURLMSG_DONE with error 28: Timeout was reached
AndroiMegaApi: net.cpp:2172: CURLMSG_DONE with HTTP status: 0 from g.api.mega.co.nz - 66.203.125.11
AndroiMegaApi: net.cpp:2227: cs REQ_FAILURE. Status: 0  Content-Length: -1  buffer? 0  bufferSize: 0
AndroiMegaApi: megaclient.cpp:2041: Retrying cs request in 2 ds
AndroiMegaApi: net.cpp:1936: Resolving IPv6 address for g.api.mega.co.nz
AndroiMegaApi: net.cpp:1940: Resolving IPv4 address for g.api.mega.co.nz
AndroiMegaApi: net.cpp:1133: c-ares info received
AndroiMegaApi: net.cpp:1141: Received a valid IP for g.api.mega.co.nz: 2a0b:e46:1:100::12
AndroiMegaApi: net.cpp:1299: Name resolution finished
AndroiMegaApi: net.cpp:1377: cs POST target URL: https://g.api.mega.co.nz/cs?id=qzbcxdydgw&ak=z9l30ZAB&v=2&&lang=es
AndroiMegaApi: net.cpp:1388: cs Sending 26: [{"a":"g","p":"Bfw2xRyJ"}]
AndroiMegaApi: net.cpp:1408: Using the IP of the hostname: [2a0b:e46:1:100::12]
AndroiMegaApi: net.cpp:2697: Set cURL timeout[2] to 4657 from 0(ms) at ds: 4657
AndroiMegaApi: net.cpp:1330: Waiting for the completion of the c-ares request
AndroiMegaApi: net.cpp:1133: c-ares info received
AndroiMegaApi: net.cpp:1141: Received a valid IP for g.api.mega.co.nz: 66.203.125.15
AndroiMegaApi: net.cpp:1247: Request already sent using a previous DNS response
AndroiMegaApi: net.cpp:725: Informing cURL of timeout reached for 2 at 4657
AndroiMegaApi: net.cpp:1764: cs cURL:   Trying 2a0b:e46:1:100::12:443...
AndroiMegaApi: net.cpp:1764: cs cURL: TCP_NODELAY set
AndroiMegaApi: net.cpp:2604: Adding curl socket 178 to 2
AndroiMegaApi: net.cpp:2697: Set cURL timeout[2] to 4659 from 200(ms) at ds: 4657
AndroiMegaApi: net.cpp:1764: cs cURL: connect to 2a0b:e46:1:100::12 port 443 failed: Network is unreachable
AndroiMegaApi: net.cpp:2591: Removing socket 178
AndroiMegaApi: net.cpp:1764: cs cURL: Failed to connect to 2a0b:e46:1:100::12 port 443: Network is unreachable
AndroiMegaApi: net.cpp:1764: cs cURL: Closing connection 1

I clarify that the libraries that I have compiled work perfectly if I do not use the AdGuard application. (I can use all SDK MEGA without problem).

I have also added this and it doesn't work:

megaApi.reconnect(); 
...
megaApi.retryPendingConnections();
...
megaApi.setPublicKeyPinning (false);
...
megaApi.retrySSLerrors (true);
..

Will there be any settings directly in megaApi that I am missing?

mattw-mega commented 3 years ago

Hi, thanks for explaining that you are using AdGuard. Are you using any VPN along with that (but not in the other case?). I can see that in your first example you've connected to MEGA on an ipv4 address, which is normal. And in the second example, the c-ares library is not able to do a DNS lookup to get MEGA's address. You're getting c-ares error 11 back: #define ARES_ECONNREFUSED 11. And when the MEGA library tries to use the hardcoded list of servers, you get "network unreachable". I suspect you have a VPN running which is interfering with the DNS lookups? thanks

luisr1vas commented 3 years ago

Hi, thanks for explaining that you are using AdGuard. Are you using any VPN along with that (but not in the other case?). I can see that in your first example you've connected to MEGA on an ipv4 address, which is normal. And in the second example, the c-ares library is not able to do a DNS lookup to get MEGA's address. You're getting c-ares error 11 back: #define ARES_ECONNREFUSED 11. And when the MEGA library tries to use the hardcoded list of servers, you get "network unreachable". I suspect you have a VPN running which is interfering with the DNS lookups? thanks

Hi, I appreciate your answer to the problem, the AdGuard application filters the network locally, therefore it does not use any VPN or connects to a remote network, the app asks to install a "CA" certificate to filter HTTPS connections.

(All the logs I will provide use network filtering with AdGuard)

Regarding the MEGA code, I noticed that the libraries compiled at "https://github.com/meganz/android" do not use OpenSSL:

This is the MEGA application for Android (4.0.2) (I am not compiling the code, I just use the application directly from Google Play):

[06:52:12][DEB] cURL version: 7.67.0 (net.cpp:203)
[06:52:12][DEB] SSL version: BoringSSL (net.cpp:208)
[06:52:12][DEB] libz version: 1.2.11 (net.cpp:232)
[06:52:12][DEB] IPv6 enabled: 1 (net.cpp:251)
[06:52:12][DEB] DNS servers: 127.0.0.1 (net.cpp:467)
[DEB] MediaInfo version: 1710 (mediafileattribute.cpp:72)
[DEB] MegaClient Worker threads running: 1 (utils.cpp:2399)
[DEB] User-Agent: MEGAAndroid/4.0.2_359 (Linux 4.19.87-20939239 aarch64) MegaClient/3.8.3/64 (megaclient.cpp:1272)
[DEB] Cryptopp version: 820 (megaclient.cpp:1273)

This is the compiled code from: "https://github.com/meganz/sdk/tree/master/examples/android/ExampleApp/app/src/main/jni"

(NOTE: I am not using megachat, just code that is already written).

I/AndroiMegaApi: net.cpp:203: cURL version: 7.67.0
I/AndroiMegaApi: net.cpp:208: SSL version: OpenSSL/1.1.1d
I/AndroiMegaApi: net.cpp:232: libz version: 1.2.11
I/AndroiMegaApi: net.cpp:251: IPv6 enabled: 1
I/AndroiMegaApi: net.cpp:275: Initializing OpenSSL locking callbacks
I/AndroiMegaApi: net.cpp:467: DNS servers: 127.0.0.1
I/AndroiMegaApi: mediafileattribute.cpp:72: MediaInfo version: 1710
I/AndroiMegaApi: utils.cpp:2399: MegaClient Worker threads running: 1
I/AndroiMegaApi: megaclient.cpp:1272: User-Agent:  (Linux 4.19.87-20939239 aarch64) MegaClient/3.8.3/64
I/AndroiMegaApi: megaclient.cpp:1273: Cryptopp version: 820
I/AndroiMegaApi: net.cpp:203: cURL version: 7.67.0
I/AndroiMegaApi: net.cpp:208: SSL version: OpenSSL/1.1.1d
I/AndroiMegaApi: net.cpp:232: libz version: 1.2.11
I/AndroiMegaApi: net.cpp:251: IPv6 enabled: 1
I/AndroiMegaApi: net.cpp:275: Initializing OpenSSL locking callbacks
I/AndroiMegaApi: net.cpp:467: DNS servers: 127.0.0.1
I/AndroiMegaApi: mediafileattribute.cpp:72: MediaInfo version: 1710
I/AndroiMegaApi: utils.cpp:2399: MegaClient Worker threads running: 1
I/AndroiMegaApi: megaclient.cpp:1272: User-Agent:  (Linux 4.19.87-20939239 aarch64) MegaClient/3.8.3/64
I/AndroiMegaApi: megaclient.cpp:1273: Cryptopp version: 820
I/AndroiMegaApi: megaapi_impl.cpp:11581: Unknown language code: es_es
I/AndroiMegaApi: megaapi_impl.cpp:11581: Unknown language code: es_e
I/AndroiMegaApi: megaapi_impl.cpp:11581: Unknown language code: es_
I/AndroiMegaApi: megaapi_impl.cpp:27245:  Running tcp server: 4445 TLS=0
I/AndroiMegaApi: megaapi_impl.cpp:27328: TCP server started on port 4445
I/AndroiMegaApi: megaapi_impl.cpp:27332: Starting uv loop ...
I/AndroiMegaApi: megaapi_impl.cpp:27200: MegaTCPServer::start. port = 4445, returning 1
I/AndroiMegaApi: megaapi_impl.cpp:16434: Request (RETRY_PENDING_CONNECTIONS) starting
I/AndroiMegaApi: net.cpp:799: Reinitializing the network layer
I/AndroiMegaApi: net.cpp:467: DNS servers: 127.0.0.1
I/AndroiMegaApi: megaapi_impl.cpp:16465: Request (RETRY_PENDING_CONNECTIONS) finished

I/AndroiMegaApi: megaapi_impl.cpp:16434: Request (GET_PUBLIC_NODE) starting
I/AndroiMegaApi: net.cpp:1940: Resolving IPv4 address for g.api.mega.co.nz
I/AndroiMegaApi: net.cpp:1133: c-ares info received
I/AndroiMegaApi: net.cpp:1227: c-ares error. code: 11
I/AndroiMegaApi: net.cpp:1267: Unable to get the IP for g.api.mega.co.nz
I/AndroiMegaApi: megaclient.cpp:1935: Retrying cs request in 1 ds
I/AndroiMegaApi: net.cpp:1813: Error in c-ares. Reinitializing...
I/AndroiMegaApi: http.cpp:309: Using hardcoded MEGA DNS servers: 2001:678:25c:2215::554,89.44.169.136,2001:678:25c:2215::559,89.44.169.141,2a0b:e40:3::14,66.203.127.16,2a0b:e40:3::16,66.203.127.14
I/AndroiMegaApi: net.cpp:1940: Resolving IPv4 address for g.api.mega.co.nz
I/AndroiMegaApi: net.cpp:1133: c-ares info received
I/AndroiMegaApi: net.cpp:1141: Received a valid IP for g.api.mega.co.nz: 66.203.125.11
I/AndroiMegaApi: net.cpp:1299: Name resolution finished
I/AndroiMegaApi: net.cpp:1377: cs POST target URL: https://g.api.mega.co.nz/cs?id=kagrlmkupl&ak=z9l30ZAB&v=2&&lang=es
I/AndroiMegaApi: net.cpp:1388: cs Sending 26: [{"a":"g","p":"5LoihK6D"}]
I/AndroiMegaApi: net.cpp:1408: Using the IP of the hostname: 66.203.125.11
I/AndroiMegaApi: net.cpp:2697: Set cURL timeout[2] to 2236772 from 0(ms) at ds: 2236772
I/AndroiMegaApi: net.cpp:725: Informing cURL of timeout reached for 2 at 2236772
I/AndroiMegaApi: net.cpp:1764: cs cURL:   Trying 66.203.125.11:443...
I/AndroiMegaApi: net.cpp:1764: cs cURL: TCP_NODELAY set
I/AndroiMegaApi: net.cpp:2604: Adding curl socket 226 to 2
I/AndroiMegaApi: net.cpp:2697: Set cURL timeout[2] to 2236774 from 199(ms) at ds: 2236772
I/AndroiMegaApi: net.cpp:1764: cs cURL: Connected to 66.203.125.11 () port 443 (#0)
I/AndroiMegaApi: net.cpp:1764: cs cURL: ALPN, offering http/1.1
I/AndroiMegaApi: net.cpp:1764: cs cURL: TLSv1.3 (OUT), TLS handshake, Client hello (1):
I/AndroiMegaApi: net.cpp:2614: Setting curl socket 226 to 1
I/AndroiMegaApi: net.cpp:725: Informing cURL of timeout reached for 2 at 2236774
I/AndroiMegaApi: net.cpp:2697: Set cURL timeout[2] to 2236775 from 81(ms) at ds: 2236774
I/AndroiMegaApi: net.cpp:725: Informing cURL of timeout reached for 2 at 2236775
I/AndroiMegaApi: net.cpp:2697: Set cURL timeout[2] to 2236893 from 11778(ms) at ds: 2236775

I have noticed several things:

When they updated the minSDK for android that would be 21, this problem started, previously I was compiling the libraries equal to or lower than sdk-3.7.1 and without problem, it does not present the problem with the AdGuard application.

in the log I see that the dns changes when filtering is used:

Using AdGuard:

I/AndroiMegaApi: net.cpp: 467: DNS servers: 127.0.0.1

Not using AdGuard: I/AndroiMegaApi: net.cpp: 450: DNS Servers: 200.21.200.10,200.21.200.80

mattw-mega commented 3 years ago

Well, I'm not too familiar with android's networking myself, but the change in your DNS address seems to be the root of the problem. 127.0.0.1 is the loopback address, does android even respond to itself for DNS requests like that? From your logs, it would seem not. The other address seems to be your ISP's DNS servers. Perhaps AdGuard has a setting you can change for DNS lookup?

luisr1vas commented 3 years ago

The mega app also makes the dns change and using AdGuard filtering it works flawlessly:

[00:03:23][DEB] [clientApp]: Open link url (OpenLinkActivity.java::onCreate:111)
[00:03:23][DEB] [clientApp]: BackgroundRequestListener:onRequestStart: GET_ATTR_USER (MegaApplication.java::onRequestStart:293)
[00:03:23][DEB] [clientApp]: BackgroundRequestListener:onRequestFinish: GET_ATTR_USER____-2___25 (MegaApplication.java::onRequestFinish:304)
[00:03:23][DEB] [clientApp]: BackgroundRequestListener:onRequestStart: USE_HTTPS_ONLY (MegaApplication.java::onRequestStart:293)
[00:03:23][DEB] [clientApp]: BackgroundRequestListener:onRequestFinish: USE_HTTPS_ONLY____0___0 (MegaApplication.java::onRequestFinish:304)
[00:03:23][DEB] [clientApp]: Network state: CONNECTED (NetworkStateReceiver.java::onReceive:48)
[00:03:23][DEB] [clientApp]: Previous IP:  (NetworkStateReceiver.java::onReceive:56)
[00:03:23][DEB] [clientApp]: Current IP: fe80::fc8e:73c:2899:bc69%tun0 (NetworkStateReceiver.java::onReceive:57)
[00:03:23][DEB] [clientApp]: Reconnecting... (NetworkStateReceiver.java::onReceive:64)
[00:03:23][DEB] [clientApp]: getDbHandler (DatabaseHandler.java::getDbHandler:306)
[00:03:23][INF] Request (RETRY_PENDING_CONNECTIONS) starting (megaapi_impl.cpp:16422)
[00:03:23][DEB] [clientApp]: getPreferences (DatabaseHandler.java::getPreferences:1593)
[00:03:23][DEB] Reinitializing the network layer (net.cpp:799)
[00:03:23][DEB] [clientApp]: Schedule failed as CU not enabled (JobUtil.java::scheduleCameraUploadJob:62)
[00:03:23][DEB] [clientApp]: Net available: Broadcast to ManagerActivity (MegaApplication.java::networkAvailable:222)
[00:03:23][DEB] [clientApp]: EmojiCompat initialized (MegaApplication.java::onInitialized:822)
[00:03:23][DEB] [clientApp]: BackgroundRequestListener:onRequestStart: RETRY_PENDING_CONNECTIONS (MegaApplication.java::onRequestStart:293)
[00:03:23][DEB] [clientApp]: onRequestStart (CHAT): RETRY_PENDING_CONNECTIONS (MegaApplication.java::onRequestStart:1221)
[00:03:23][DEB] [clientApp]: onRequestFinish (CHAT): RETRY_PENDING_CONNECTIONS_-11 (MegaApplication.java::onRequestFinish:1230)
[00:03:23][DEB] [clientApp]: onCreate() (FileLinkActivityLollipop.java::onCreate:142)
[00:03:23][DEB] [clientApp]: getDbHandler (DatabaseHandler.java::getDbHandler:306)
[00:03:23][DEB] DNS servers: 127.0.0.1 (net.cpp:467)
[00:03:23][INF] Request (RETRY_PENDING_CONNECTIONS) finished (megaapi_impl.cpp:16453)
[00:03:23][DEB] [clientApp]: Refresh session - sdk (FileLinkActivityLollipop.java::onCreate:165)
[00:03:23][DEB] [clientApp]: Event received: null (GlobalListener.java::onEvent:160)
[00:03:23][DEB] [clientApp]: BackgroundRequestListener:onRequestFinish: RETRY_PENDING_CONNECTIONS____0___0 (MegaApplication.java::onRequestFinish:304)
[00:03:23][DEB] [clientApp]: onCreate (LoginActivityLollipop.java::onCreate:158)
[00:03:23][DEB] [clientApp]: getDbHandler (DatabaseHandler.java::getDbHandler:306)
[00:03:23][DEB] [clientApp]: There is an intent! VisibleFragment: 6001 (LoginActivityLollipop.java::onCreate:196)
[00:03:23][DEB] [clientApp]: visibleFragment: 6001 (LoginActivityLollipop.java::showFragment:263)
[00:03:23][DEB] [clientApp]: Show LOGIN_FRAGMENT (LoginActivityLollipop.java::showFragment:267)
[00:03:23][DEB] [clientApp]: onAttach (LoginFragmentLollipop.java::onAttach:1692)
[00:03:23][DEB] [clientApp]: onAttach Activity (LoginFragmentLollipop.java::onAttach:1709)
[00:03:23][DEB] [clientApp]: getDbHandler (DatabaseHandler.java::getDbHandler:306)
[00:03:23][DEB] [clientApp]: getDbHandler (DatabaseHandler.java::getDbHandler:306)
[00:03:23][DEB] [clientApp]: onCreate (LoginFragmentLollipop.java::onCreate:217)
[00:03:23][INF] [clientApp]: App enters foreground (MegaApplication.java::onActivityStarted:249)
[00:03:23][DEB] [clientApp]: onCreateView (LoginFragmentLollipop.java::onCreateView:228)
[00:03:23][DEB] [clientApp]: Credentials NOT null (LoginFragmentLollipop.java::onCreateView:238)
[00:03:23][DEB] [clientApp]: getChatSettings (DatabaseHandler.java::getChatSettings:1684)
[00:03:23][DEB] [clientApp]: action is: ACTION_OPEN_FILE_LINK_ROOTNODES_NULL (LoginFragmentLollipop.java::onCreateView:774)
[00:03:23][DEB] [clientApp]: et_user.getText():  (LoginFragmentLollipop.java::onCreateView:823)
[00:03:23][DEB] [clientApp]: Credentials NOT null (LoginFragmentLollipop.java::onCreateView:825)
[00:03:23][DEB] [clientApp]: startFastLogin (LoginFragmentLollipop.java::startFastLogin:1168)
[00:03:23][DEB] [clientApp]: INIT STATE: 0 (LoginFragmentLollipop.java::startFastLogin:1198)
[00:03:23][DEB] [clientApp]: result of init ---> 2 (LoginFragmentLollipop.java::startFastLogin:1202)
[00:03:23][DEB] [clientApp]: getChatSettings (DatabaseHandler.java::getChatSettings:1684)
[00:03:23][DEB] [clientApp]: condition ret == OK -- chat correctly initialized (LoginFragmentLollipop.java::startFastLogin:1211)
[00:03:23][DEB] [clientApp]: After init: 2 (LoginFragmentLollipop.java::startFastLogin:1213)
[00:03:23][DEB] [clientApp]: Disable login button (LoginFragmentLollipop.java::disableLoginButton:1463)
[00:03:23][INF] Request (LOGIN) starting (megaapi_impl.cpp:16422)
[00:03:23][DEB] [clientApp]: onResume (LoginActivityLollipop.java::onResume:500)
[00:03:23][DEB] MediaInfo version: 1710 (mediafileattribute.cpp:72)
[00:03:23][DEB] [clientApp]: System font size scale is 0.8 (Util.java::setAppFontSize:1298)
[00:03:23][DEB] Reinitializing the network layer (net.cpp:799)
[00:03:23][DEB] [clientApp]: New font size new scale is 0.8 (Util.java::setAppFontSize:1308)
[00:03:23][DEB] [clientApp]: retryConnectionsAndSignalPresence (BaseActivity.java::retryConnectionsAndSignalPresence:577)
[00:03:23][DEB] [clientApp]: System font size scale is 0.8 (Util.java::setAppFontSize:1298)
[00:03:23][DEB] [clientApp]: New font size new scale is 0.8 (Util.java::setAppFontSize:1308)
[00:03:23][WRN] [clientApp]: IllegalArgumentException unregistering transfersUpdateReceiver (BaseActivity.java::unregisterReceiver:1029)
[java.lang.IllegalArgumentException: Receiver not registered: mega.privacy.android.app.TransfersManagementActivity$2@433d90e]
[00:03:23][WRN] [clientApp]: IllegalArgumentException unregistering transfersUpdateReceiver (BaseActivity.java::unregisterReceiver:1029)
[java.lang.IllegalArgumentException: Receiver not registered: mega.privacy.android.app.TransfersManagementActivity$1@509df2f]
[00:03:23][DEB] [clientApp]: BackgroundRequestListener:onRequestStart: LOGIN (MegaApplication.java::onRequestStart:293)
[00:03:23][DEB] [clientApp]: onRequestStart: LOGIN (LoginFragmentLollipop.java::onRequestStart:1952)
[00:03:23][DEB] [clientApp]: Disable login button (LoginFragmentLollipop.java::disableLoginButton:1463)
[00:03:23][DEB] [clientApp]: onRequestStart (CHAT): RETRY_PENDING_CONNECTIONS (MegaApplication.java::onRequestStart:1221)
[00:03:23][DEB] [clientApp]: onRequestFinish (CHAT): RETRY_PENDING_CONNECTIONS_0 (MegaApplication.java::onRequestFinish:1230)
[00:03:23][DEB] DNS servers: 127.0.0.1 (net.cpp:467)
[00:03:23][DEB] [clientApp]: Event received: null (GlobalListener.java::onEvent:160)
[00:03:23][DEB] Database closed /data/user/0/mega.privacy.android.app/megaclient_statecache12_transfers_default.db (sqlite.cpp:206)
[00:03:23][DEB] Using an upgraded DB: /data/user/0/mega.privacy.android.app/megaclient_statecache12_MWpvX01qMWdUdk1PvJywvigyFax6EWGVlCyz.db (sqlite.cpp:112)
[00:03:23][DEB] DB transaction BEGIN /data/user/0/mega.privacy.android.app/megaclient_statecache12_MWpvX01qMWdUdk1PvJywvigyFax6EWGVlCyz.db (sqlite.cpp:420)
[00:03:23][INF] Request (RETRY_PENDING_CONNECTIONS) starting (megaapi_impl.cpp:16422)
[00:03:23][INF] Request (RETRY_PENDING_CONNECTIONS) finished (megaapi_impl.cpp:16453)
[00:03:23][DEB] [clientApp]: BackgroundRequestListener:onRequestStart: RETRY_PENDING_CONNECTIONS (MegaApplication.java::onRequestStart:293)
[00:03:23][DEB] Resolving IPv4 address for g.api.mega.co.nz (net.cpp:1940)
[00:03:23][DEB] [clientApp]: BackgroundRequestListener:onRequestFinish: RETRY_PENDING_CONNECTIONS____0___0 (MegaApplication.java::onRequestFinish:304)
[00:03:23][DEB] c-ares info received (net.cpp:1133)
[00:03:23][WRN] c-ares error. code: 11 (net.cpp:1227)
[00:03:23][DEB] Unable to get the IP for g.api.mega.co.nz (net.cpp:1267)
[00:03:23][WRN] Retrying cs request in 1 ds (megaclient.cpp:1935)
[00:03:23][DEB] [clientApp]: BackgroundRequestListener: onRequestTemporaryError: LOGIN (MegaApplication.java::onRequestTemporaryError:482)
[00:03:23][WRN] [clientApp]: onRequestTemporaryError: LOGIN-3 (LoginFragmentLollipop.java::onRequestTemporaryError:2312)
[00:03:23][DEB] [clientApp]: TemporaryError one more (LoginFragmentLollipop.java::onTick:2325)
[00:03:23][DEB] Error in c-ares. Reinitializing... (net.cpp:1813)
[00:03:24][INF] Using hardcoded MEGA DNS servers: 2001:678:25c:2215::554,89.44.169.136,2001:678:25c:2215::559,89.44.169.141,2a0b:e40:3::14,66.203.127.16,2a0b:e40:3::16,66.203.127.14 (http.cpp:309)
[00:03:24][DEB] Resolving IPv4 address for g.api.mega.co.nz (net.cpp:1940)
[00:03:25][DEB] [clientApp]: Activity visible? => true (MegaApplication.java::isActivityVisible:1012)
[00:03:25][DEB] [clientApp]: KEEPALIVE: 1616371405866 (MegaApplication.java::run:502)
[00:03:25][DEB] [clientApp]: backgroundStatus_activityVisible: 0 (MegaApplication.java::run:505)
[00:03:25][DEB] [clientApp]: TemporaryError one more (LoginFragmentLollipop.java::onTick:2325)
[00:03:27][DEB] [clientApp]: TemporaryError one more (LoginFragmentLollipop.java::onTick:2325)
[00:03:28][DEB] [clientApp]: Activity visible? => true (MegaApplication.java::isActivityVisible:1012)
[00:03:28][DEB] [clientApp]: KEEPALIVE: 1616371408868 (MegaApplication.java::run:502)
[00:03:28][DEB] [clientApp]: backgroundStatus_activityVisible: 0 (MegaApplication.java::run:505)
[00:03:29][DEB] c-ares info received (net.cpp:1133)
[00:03:29][DEB] Received a valid IP for g.api.mega.co.nz: 66.203.125.13 (net.cpp:1141)
[00:03:29][DEB] Name resolution finished (net.cpp:1299)
[00:03:29][DEB] cs POST target URL: https://g.api.mega.co.nz/cs?id=pwrqqimmkx&sid=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&ak=6tioyn8ka5l&v=2&&lang=es (net.cpp:1377)
[00:03:29][DEB] cs Sending 113: [{"a":"us","sek":"GXgKwzx1U05Bsdr_XZhXKw","sn":"Rib2Q9XPqOU","si":"uxDs8m86j61DP8RjSe9uxfbjBXN9f-XOft7fpAH25D4"}] (net.cpp:1388)
[00:03:29][DEB] Using the IP of the hostname: 66.203.125.13 (net.cpp:1408)
[00:03:29][DEB] Set cURL timeout[2] to 2255236 from 0(ms) at ds: 2255236 (net.cpp:2697)
[00:03:29][DEB] Informing cURL of timeout reached for 2 at 2255236 (net.cpp:725)
[00:03:29][MAX] cs cURL:   Trying 66.203.125.13:443... (net.cpp:1764)
[00:03:29][MAX] cs cURL: TCP_NODELAY set (net.cpp:1764)
[00:03:29][DEB] Adding curl socket 92 to 2 (net.cpp:2604)
[00:03:29][DEB] Set cURL timeout[2] to 2255238 from 197(ms) at ds: 2255236 (net.cpp:2697)
[00:03:29][DEB] Informing cURL of timeout reached for 2 at 2255238 (net.cpp:725)
[00:03:29][DEB] Set cURL timeout[2] to 2255239 from 96(ms) at ds: 2255238 (net.cpp:2697)
[00:03:29][MAX] cs cURL: Connected to 66.203.125.13 () port 443 (#0) (net.cpp:1764)
[00:03:29][MAX] cs cURL: ALPN, offering http/1.1 (net.cpp:1764)
[00:03:29][MAX] cs cURL: TLSv1.2 (OUT), TLS handshake, Client hello (1): (net.cpp:1764)
[00:03:29][DEB] Setting curl socket 92 to 1 (net.cpp:2614)
[00:03:29][DEB] Informing cURL of timeout reached for 2 at 2255239 (net.cpp:725)
[00:03:29][DEB] Set cURL timeout[2] to 2255357 from 11724(ms) at ds: 2255239 (net.cpp:2697)
[00:03:29][MAX] cs cURL: TLSv1.2 (IN), TLS handshake, Server hello (2): (net.cpp:1764)
[00:03:29][MAX] cs cURL: TLSv1.2 (IN), TLS handshake, Certificate (11): (net.cpp:1764)
[00:03:29][MAX] cs cURL: TLSv1.2 (IN), TLS handshake, Server key exchange (12): (net.cpp:1764)
[00:03:29][MAX] cs cURL: TLSv1.2 (IN), TLS handshake, Server finished (14): (net.cpp:1764)
[00:03:29][MAX] cs cURL: TLSv1.2 (OUT), TLS handshake, Client key exchange (16): (net.cpp:1764)
[00:03:29][MAX] cs cURL: TLSv1.2 (OUT), TLS change cipher, Change cipher spec (1): (net.cpp:1764)
[00:03:29][MAX] cs cURL: TLSv1.2 (OUT), TLS handshake, Finished (20): (net.cpp:1764)
[00:03:29][DEB] [clientApp]: TemporaryError one more (LoginFragmentLollipop.java::onTick:2325)
[00:03:30][MAX] cs cURL: TLSv1.2 (IN), TLS change cipher, Change cipher spec (1): (net.cpp:1764)
[00:03:30][MAX] cs cURL: TLSv1.2 (IN), TLS handshake, Finished (20): (net.cpp:1764)
[00:03:30][MAX] cs cURL: SSL connection using TLSv1.2 / ECDHE-RSA-AES256-GCM-SHA384 (net.cpp:1764)
[00:03:30][MAX] cs cURL: ALPN, server did not agree to a protocol (net.cpp:1764)
[00:03:30][MAX] cs cURL: Server certificate: (net.cpp:1764)
[00:03:30][MAX] cs cURL:  subject: CN=*.api.mega.co.nz (net.cpp:1764)
[00:03:30][MAX] cs cURL:  start date: Dec  6 00:00:00 2020 GMT (net.cpp:1764)
[00:03:30][MAX] cs cURL:  expire date: Dec  6 23:59:59 2021 GMT (net.cpp:1764)
[00:03:30][MAX] cs cURL:  issuer: C=GB; ST=Greater Manchester; L=Salford; O=Sectigo Limited; CN=Sectigo RSA Domain Validation Secure Server CA (net.cpp:1764)
[00:03:30][MAX] cs cURL:  SSL certificate verify result: unable to get local issuer certificate (20), continuing anyway. (net.cpp:1764)
[00:03:30][MAX] cs cURL:     public key hash: sha256//0W38e765pAfPqS3DqSVOrPsC4MEOvRBaXQ7nY1AJ47E= (net.cpp:1764)
[00:03:30][DEB] Setting curl socket 92 to 3 (net.cpp:2614)
[00:03:30][MAX] cs cURL: We are completely uploaded and fine (net.cpp:1764)
[00:03:30][DEB] Setting curl socket 92 to 1 (net.cpp:2614)
[00:03:30][MAX] cs cURL: Mark bundle as not supporting multiuse (net.cpp:1764)
[00:03:30][MAX] cs Header: HTTP/1.1 200 OK (net.cpp:2489)
[00:03:30][MAX] cs Header: Content-Type: application/json (net.cpp:2489)
[00:03:30][MAX] cs Header: Access-Control-Allow-Origin: * (net.cpp:2489)
[00:03:30][MAX] cs Header: Access-Control-Allow-Headers: Content-Type, MEGA-Chrome-Antileak (net.cpp:2489)
[00:03:30][MAX] cs Header: Access-Control-Expose-Headers: Original-Content-Length (net.cpp:2489)
[00:03:30][MAX] cs Header: Access-Control-Max-Age: 86400 (net.cpp:2489)
[00:03:30][MAX] cs Header: Original-Content-Length: 946 (net.cpp:2489)
[00:03:30][MAX] cs Header: Content-Length: 946 (net.cpp:2489)
[00:03:30][MAX] cs Header: Connection: keep-alive (net.cpp:2489)
[00:03:30][MAX] cs cURL: Connection #0 to host 66.203.125.13 left intact (net.cpp:1764)
[00:03:30][DEB] Removing socket 92 (net.cpp:2591)
[00:03:30][DEB] Set cURL timeout[2] to -1 from -1(ms) at ds: 2255248 (net.cpp:2697)
[00:03:30][DEB] CURLMSG_DONE with HTTP status: 200 from g.api.mega.co.nz - 66.203.125.13 (net.cpp:2172)
[00:03:30][DEB] cs Received 946: [{"u":"1jo_Mj1gTvM","privk":"YmRc_C-t8zoGiji4_fNuXFmdqB9WsjmTUicKV4q9h9Vd8FT-twBtIs1HL_7-k9CugE9x0WATNcC26x9vX6q_AYOTONjtJP3FvVAwP8xrmOCCMCj-9cGp4PQIJaZZUNPD4jyUGMcz2dL26eRLv6OYr-768Lv76OAjmp06KJ6yPj7RmiaPKg8Azk6TZUFsMP5JpyNQZkpsX-r-Pti-KAybl3XlTA-KvejCE4bHtZgCpI0TPmDfGb1Y22QDavDGo3-5_UveIgNqrlDED0mLqZwRs1rAU5MUhk_EU6kgdLLq7qSGQPsNqHp3Pxe4iIthQjtW_Vz1xqHnytt0WNvqO-Qb6VNHrOfWUngls9gbzF38gJZ4sg-_3tFbzly-NY3P4RzEsmLvJrgTS_QXj9oKr4cUD5jF1c38yIWCnpxW_LVbtvXymlOn_coagtYTg49jctKITv6dViYHmGh0-UutT8pJaiJEalooV6_1y--M-uH2inIb5dLvNH9-Y2JVe6jd5XnBPFdKNaam4LOnXuPBhIhD3xKZ_dosw88lz5LMc1RPXddVrHDzuVsnKFWGFNcOzBG6bO-MSZerchnMbiFnYz_Bu4uDeqFWbcm7rRfokeP_FAbJ1P4H0ibVn12VnIWxPvKvNIrzAapYEwp8rA7uyMevT3s-6t_5cWsTLm-YO5qpl35Gf_17v7W7YldO97vSOuJt0vPWM5ygMGnkRfvbPVAXvMjzuFE4ixeOY0DfCt8CV_zO18hQ-6U0YphadTmopARVMpE0DfNjJrP8JSc10rrmTbwyD5a63uSrBxUsDngwYgDoVmf750k_SsDTbb5XhjE2exnkgFWHK7F7ELBHzaIYV1snGTBClJ9dE5hHBe0dNyM","ach":0,"sek":"bCuo6we3_ZoBVJ0gPZLRxQ"}] (net.cpp:2201)
[00:03:30][INF] Request (LOGIN) finished (megaapi_impl.cpp:16453)
[00:03:30][DEB] [clientApp]: BackgroundRequestListener:onRequestFinish: LOGIN____0___0 (MegaApplication.java::onRequestFinish:304)
[00:03:30][DEB] [clientApp]: Enable login button (LoginFragmentLollipop.java::enableLoginButton:1474)
[00:03:30][DEB] [clientApp]: onRequestFinish: LOGIN,error code: 0 (LoginFragmentLollipop.java::onRequestFinish:1980)
[00:03:30][DEB] DNS cache hit for g.api.mega.co.nz (IPv4) 66.203.125.13 (net.cpp:1921)
[00:03:30][DEB] cs POST target URL: https://g.api.mega.co.nz/cs?id=pwrqqimmky&sid=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&ak=6tioyn8ka5l&v=2&&lang=es (net.cpp:1377)
[00:03:30][DEB] cs Sending 52: [{"a":"ug","v":1},{"a":"ftz","utz":"","uo":"-5:00"}] (net.cpp:1388)
[00:03:30][DEB] Using the IP of the hostname: 66.203.125.13 (net.cpp:1408)
[00:03:30][DEB] Set cURL timeout[2] to 2255248 from 0(ms) at ds: 2255248 (net.cpp:2697)
[00:03:30][DEB] Informing cURL of timeout reached for 2 at 2255249 (net.cpp:725)
[00:03:30][MAX] cs cURL: Found bundle for host 66.203.125.13: 0x7603d07e50 [serially] (net.cpp:1764)
[00:03:30][MAX] cs cURL: Connection #0 is still name resolving, can't reuse (net.cpp:1764)
[00:03:30][MAX] cs cURL: Hostname 66.203.125.13 was found in DNS cache (net.cpp:1764)
[00:03:30][MAX] cs cURL:   Trying 66.203.125.13:443... (net.cpp:1764)
[00:03:30][MAX] cs cURL: TCP_NODELAY set (net.cpp:1764)
[00:03:30][DEB] Adding curl socket 195 to 2 (net.cpp:2604)
[00:03:30][DEB] Set cURL timeout[2] to 2255251 from 200(ms) at ds: 2255249 (net.cpp:2697)
[00:03:30][DEB] [clientApp]: Logged in with session (LoginFragmentLollipop.java::onRequestFinish:2084)
[00:03:30][DEB] [clientApp]: getDbHandler (DatabaseHandler.java::getDbHandler:306)
[00:03:30][MAX] cs cURL: Connected to 66.203.125.13 () port 443 (#1) (net.cpp:1764)
[00:03:30][MAX] cs cURL: ALPN, offering http/1.1 (net.cpp:1764)
[00:03:30][MAX] cs cURL: SSL re-using session ID (net.cpp:1764)
[00:03:30][MAX] cs cURL: TLSv1.2 (OUT), TLS handshake, Client hello (1): (net.cpp:1764)
[00:03:30][DEB] [clientApp]: onCreate (DatabaseHandler.java::onCreate:324)
[00:03:30][DEB] Setting curl socket 195 to 1 (net.cpp:2614)
[00:03:30][INF] Request (FETCH_NODES) starting (megaapi_impl.cpp:16422)
[00:03:30][DEB] Using an upgraded DB: /data/user/0/mega.privacy.android.app/megaclient_statecache12_status_MWpvX01qMWdUdk1PvJywvigyFax6EWGVlCyz.db (sqlite.cpp:112)
[00:03:30][DEB] [clientApp]: BackgroundRequestListener:onRequestStart: FETCH_NODES (MegaApplication.java::onRequestStart:293)
[00:03:30][INF] Loading session from local cache (megaclient.cpp:11425)
[00:03:30][INF] Signing key loaded from local cache. (user.cpp:307)
[00:03:30][INF] Chat key successfully loaded from local cache. (user.cpp:322)
[00:03:30][DEB] [clientApp]: onRequestStart: FETCH_NODES (LoginFragmentLollipop.java::onRequestStart:1952)
[00:03:30][DEB] [clientApp]: Disable login button (LoginFragmentLollipop.java::disableLoginButton:1463)