Unable to sync / add new account on Android 7.0 after DAVdroid update



  • Hello !

    Because I had an old version of DAVdroid (which ? I don't remember...), the 12th July I decided to update it to the last version (1.6.3).

    Unfortunately, after that, I was unable to sync. After reading the FAQ, I deleted and uninstalled DAVdroid, and reinstalled it from scratch. But no change, I have "No CalDAV/CardDAV service found" when I try to add an account.

    My CalDAV server is a Radicale server (on a private server) and the calendar synchronisation is OK on Thunderbird (on a PC). And from Firefox on my smartphone, I can download the calendrier.ics file (after authentication).

    To help me (if you can/want !), you can find my debug info here : https://paste.fedoraproject.org/paste/s0o-9luBZ3k6QPVyhCu4vg
    And the debug log adding an account here : https://paste.fedoraproject.org/paste/-rXbXxqEGo6J24bQyQrscg

    Thanks in advance for your help. I'm a bit disabled without my calendar on smartphone !


  • developer

    Hello,

    There's an TLS problem:

    2017-07-14 22:02:32 1046 [HttpClient$1] <-- HTTP FAILED: javax.net.ssl.SSLHandshakeException: Handshake failed
    2017-07-14 22:02:32 1046 [ui.setup.DavResourceFinder] PROPFIND/OPTIONS on user-given URL failed
    EXCEPTION javax.net.ssl.SSLHandshakeException: Handshake failed
    	at com.android.org.conscrypt.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:444)
    	at okhttp3.internal.connection.RealConnection.connectTls(RealConnection.java:281)
    	at okhttp3.internal.connection.RealConnection.establishProtocol(RealConnection.java:251)
    	at okhttp3.internal.connection.RealConnection.connect(RealConnection.java:151)
    	at okhttp3.internal.connection.StreamAllocation.findConnection(StreamAllocation.java:195)
    	at okhttp3.internal.connection.StreamAllocation.findHealthyConnection(StreamAllocation.java:121)
    

    Probably the same as https://forums.bitfire.at/topic/1375/no-connection-between-nextcloud-davdroid ?



  • Hello rfc2822,

    Thanks for your help.
    Yes, it seems really linked with the other issue.
    In addition, an another test just made : on Android 6 with DAVdroid 1.6.2, no issue.

    Thanks to the Radicale server logs, I fount my previous DAVdroid :
    [IP] - [PSEUDO] [12/Jul/2017:12:47:30 +0200] "PROPFIND
    /R4Dic4l3/[PSEUDO]/calendrier.ics/ HTTP/2.0" 207 348 "-"
    "DAVdroid/1.3.3.1-ose (2016/10/24; dav4android; okhttp3) Android/7.0"

    Where can I download the 1.3.3.1 version to try to downgrade my DAVdroid ?

    Thanks.


  • developer

    @tonioparis2000 You can enable F-Droid Archive in your repos (F-droid settings).

    Please report whether 1.3.3.1 works with Android 7 and your server, because in this case, it can't be an Android 7 problem.



  • Hello rfc2822 !

    I made two interesting batteries of tests :

    1/ With the line "ssl_ecdh_curve secp521r1" disable on the Radicale server
    1.3.3.1 and 1.6.3 are running fine

    2/ With the line "ssl_ecdh_curve secp521r1" enable (the normal configuration) on the Radicale server
    1.5.2 (last one of the 1.5 series) : failed
    1.4.1 (last one of the 1.4 series) : failed
    1.3.8 (last one of the 1.3 series) : failed
    1.3.5 : failed
    1.3.4.1 (last one of the 1.3.4 series) : OK
    1.3.4 : OK
    1.3.3.1 : OK

    Do you have an explanation ?

    Thanks again for your help.


  • developer

    @tonioparis2000

    Thanks for your tests!

    Do you have an explanation ?

    No. As far as I have read, this is an Android 7 bug:

    which has been fixed by Google with Android 7.1 (sounds reasonable because this has only been reported for DAVdroid with Android 7.0).

    However, in this case it shouldn't work with any DAVdroid version :/



  • @rfc2822 said in Unable to sync / add new account on Android 7.0 after DAVdroid update:

    However, in this case it shouldn't work with any DAVdroid version

    Strange :hushed:

    But many thanks for your help and your research about this bug.

    Bye


  • developer

    @tonioparis2000 I will try to reproduce it on Android 7.0 as soon as we find some time


  • developer

    I have now reproduced the problem on Android 7.0 in the SDK emulator image:

    • a sample ECC certificate (secp384r1) does not work on Android 7.0, but
    • this ECC certificate (secp384r1) works with Android 8.0

    However, I couldn't see any differences between DAVdroid versions. I have tested DAVdroid 1.3.4.1 and DAVdroid 1.2.2 with Android 7.0, and it does't work, too (as I have suspected).

    So, in my tests, this is the Android 7.0 bug which has been fixed in Android 7.1 and is not related to DAVdroid.

    I don't have an explanation why different DAVdroid versions have behaved differently in your environment / testing setup.


Log in to reply
 

Looks like your connection to Bitfire App Forums was lost, please wait while we try to reconnect.