[ 
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-unsubscr...@cordova.apache.org
For additional commands, e-mail: issues-h...@cordova.apache.org

Reply via email to