You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cordova.apache.org by "Néville Dubuis (JIRA)" <ji...@apache.org> on 2017/01/26 10:57:24 UTC

[jira] [Updated] (CB-12400) [iOS] file transfer lose connection after several download on iOS 10

     [ https://issues.apache.org/jira/browse/CB-12400?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Néville Dubuis updated CB-12400:
--------------------------------
    Description: 
Symptom:
=========

On downloading files from Amazon S3, after several download (not, always the same number or time) the plugin return errors when downloading existing files. the plugin return error code 3, with void http_status and body and the native code return: "network connection was lost". Once this error happens once, it always happens then on every file transfer download (I didn't try with the upload, but i suspect the issue is the same) until we quit the app and reopen it. We check the network connection, it was fine on every failed attempt, we were even able to call an API before and after the download with $http and it worked just fine. 

So after digging into this issue and not finding any clue, we thought it might be something directly on the http or tcp protocol. So we setup an https proxy (with burp suite), to see the connection and what was happening. It appears that the issue never appears when using the https proxy. So we switch back to normal wifi connection, and then the error happened again. At this point we change back  the connection to the proxy and we were able to download our files without restarting the app. 

Conclusion
========
It's seems that something on HTTPS is not working correctly (ciphers, TLS, version, keep alive ?) . We reimplement those downloads with cordova-plugin-background-download (https://github.com/dualinventive/cordova-plugin-background-download) and we have no issue with this one. The problem might come for the deprecated NSURLConnection that does not support something new on the https protocol that is supported by NSURLSession.

As my mother tongue is not english, I hope everything is understandable, if it's not i can try to explain it better ;)

  was:
Symptom:
=========

On downloading files from Amazon S3, after several download (not, always the same number or time) the plugin return errors when downloading existing files. the plugin return error code 3, with void http_status and body and the native code return: "network connection was lost". Once this error happens once, it always happens then on every file transfer download (I didn't try with the upload, but i suspect the issue is the same) until we quit the app and reopen it. We check the network connection, it was fine on every failed attempt, we were even able to call an API before and after the download with $http and it worked just fine. 

So after digging into this issue and not finding any clue, we thought it might be something directly on the http or tcp protocol. So we setup an https proxy (with burp suite), to see the connection and what was happening. It appears that the issue never appears when using the https proxy. So we switch back to normal wifi connection, and then the error happened again at this we change back  the connection to the proxy and we were able to download our files without restarting the app. 

Conclusion
========
It's seems that something on HTTPS is not working correctly (ciphers, TLS, version, keep alive ?) . We implement those downloads with cordova-plugin-background-download (https://github.com/dualinventive/cordova-plugin-background-download) and we have no issue with this one. The problem might come for the deprecated NSURLConnection that does not support something new on the https protocol that is supported by NSURLSession.

As my mother tongue is not english, I hope everything is understandable, if it's not i can try to explain it better ;)


> [iOS] file transfer lose connection after several download on iOS 10 
> ---------------------------------------------------------------------
>
>                 Key: CB-12400
>                 URL: https://issues.apache.org/jira/browse/CB-12400
>             Project: Apache Cordova
>          Issue Type: Bug
>          Components: Plugin File Transfer
>    Affects Versions: 1.6.1
>         Environment: iOS 10+
>            Reporter: Néville Dubuis
>
> Symptom:
> =========
> On downloading files from Amazon S3, after several download (not, always the same number or time) the plugin return errors when downloading existing files. the plugin return error code 3, with void http_status and body and the native code return: "network connection was lost". Once this error happens once, it always happens then on every file transfer download (I didn't try with the upload, but i suspect the issue is the same) until we quit the app and reopen it. We check the network connection, it was fine on every failed attempt, we were even able to call an API before and after the download with $http and it worked just fine. 
> So after digging into this issue and not finding any clue, we thought it might be something directly on the http or tcp protocol. So we setup an https proxy (with burp suite), to see the connection and what was happening. It appears that the issue never appears when using the https proxy. So we switch back to normal wifi connection, and then the error happened again. At this point we change back  the connection to the proxy and we were able to download our files without restarting the app. 
> Conclusion
> ========
> It's seems that something on HTTPS is not working correctly (ciphers, TLS, version, keep alive ?) . We reimplement those downloads with cordova-plugin-background-download (https://github.com/dualinventive/cordova-plugin-background-download) and we have no issue with this one. The problem might come for the deprecated NSURLConnection that does not support something new on the https protocol that is supported by NSURLSession.
> As my mother tongue is not english, I hope everything is understandable, if it's not i can try to explain it better ;)



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@cordova.apache.org
For additional commands, e-mail: issues-help@cordova.apache.org