The cause for this problem has finally been identified. Please follow up at https://github.com/ge0rg/MemorizingTrustManager/issues/52
I just try to use DAVx5 on my new phone (Android 10). On my Wifi, I have a HTTP proxy to limit the ads. The Wifi is flagged “Limited Connectivity” by Google (of course, the proxy rejects their Ads site). Except that all the sites works well (like this, and the Nextcloud site where the data are stored).
But DAVx5 say : “No Internet connectivity. Android will not run synchronization.”, which is wrong. Of course, the synchronization is not done, even if it can works.
If I remove the proxy, the ads coming and DAVx5 works well.
Is there a way to do the synchronization in limited connectivity too ?
Thanks for this good soft !
But DAVx5 say : “No Internet connectivity. Android will not run synchronization.”, which is wrong.
Ok, seems that the text is not clear enough. It should be: “Android doesn’t see Internet connectivity und won’t run synchronization.”
DAVx5 uses the Android sync framework and relies on Android to be called. This also applies to other account types, like email, Firefox account, … So emails, Firefox account, … shouldn’t be updated too. Is that true?
For more discussion, please see also https://forums.bitfire.at/post/13395. Maybe you can follow up there; so I’ll set this as a duplicate.
@rfc2822 I read the provided link, but my case is a little bit different : I use a proxy. A soon as the proxy is set, Android declare the connection limited. So I can not spoof the DNS or what else.
Nevermind, I try to set the DNS to my server, the requests are correctely proxyfied to the Web server, the Android says that the connection is limited.
I don’t have this problem on my old phone, so I think Google has change something on Android10 to block the proxy usage.
Do you have some other ideas ?
@dominiquefou Oh I see. I have removed the “duplicate” flag.
Is the proxy under your control? You could whitelist the 204-URL (it doesn’t send any headers, personal data, …) on the proxy and so Internet detection and thus DAVx5 synchronization would work.
Otherwise, you could change the Captive Portal URL to your own URL, but it would require root access.
@rfc2822 Yes the proxy is under my control. In fact, I control everything except Google part
I already try to put the proxy in bypass, there is no filter for 204 parts, and the connectivity stay limited. I saw the answers in the logs with the 204 return code, so the proxy works well.
I download the Android source code to found the problem, but it is hard to enter in the middle of the code. If you have a little time to spend on this to find which tests are really done, I’ll appreciate.
In last case, I will investigate to put a transparent proxy in place of a client configured proxy.
@dominiquefou Hm as far as I know, it checks with the 204 requests. Are there any denied requests in the proxy logs when you connect with the Android device? Which proxy type is it?
Do you use a local firewall on the Android device?
OK, the problem is solved.
If I set the proxy in the Wifi connection, Android says that the connection is limited. As soon as you put the same proxy but in transparent mode (not set in Android, but filter correctely by the router when Android try to connect to outside), the connection is fully established and the synchronization is immediately done.
Sorry for the noise.
I would appreciate if one day, you may remove the needed support to Android sync…
Thanks a lot