IPv6



  • At the moment IPv6 server addresses don't seem to be supported. This is a pity. I'd love to have IPv6 in DavDroid...

    On a related note, if I enter an IPv6 address as the URL basename DavDroid crashes. If I include the surrounding [] brackets, it doesn't crash (but doesn't connect either, of course).



  • Hello,
    contacts synchronization fails (silently) through my wifi network until I disable IPv6.
    Using F-droid 0.5.1-alpha version


  • admin

    1. Can you provide detailed steps to reproduce this?
    2. For detecting the problem we need a logcat output from your Android device... Can you somehow provide it? This would be very helpful!


  • In the current F-Droid version (0.5.1a) the behaviour seems reversed from what I described initially (or I mixed it up from the start). Anyway, I am on a Nexus 4, Android Version 4.4 KRT16O / rooted with DAVDroid 0.5.1 alpha:

    • DAVDroid > Add Account Button
    • select DAVDroid from account type list
    • enter IPv6 address and with surrounding [] and path like [XXXX:XXXX:XXXX:XX::X]/ocname/remote.php/carddav/
    • enter login info
    • on press of the arrow button the app crashes.
    • if I don't include the [], the arrow button does nothing.

    Here's the log. I replaced my IPv6 with X's, the amount of written digits is correct though. I also replaced my owncloud URL name with ocname, but I guess that's of little relevance

    12-11 15:53:49.724 I/am_create_activity(589): [0,1117331816,91,at.bitfire.davdroid/.MainActivity,android.intent.action.MAIN,NULL,NULL,270532608]
    12-11 15:53:49.724 I/ActivityManager(589): START u0 {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=at.bitfire.davdroid/.MainActivity} from pid 854
    12-11 15:53:49.794 I/ActivityManager(589): Start proc at.bitfire.davdroid for activity at.bitfire.davdroid/.MainActivity: pid=31598 uid=10076 gids={50076, 3003}
    12-11 15:53:49.794 I/am_proc_start(589): [0,31598,10076,at.bitfire.davdroid,activity,at.bitfire.davdroid/.MainActivity]
    12-11 15:53:49.824 I/am_proc_bound(589): [0,31598,at.bitfire.davdroid]
    12-11 15:53:49.824 I/am_restart_activity(589): [0,1117331816,91,at.bitfire.davdroid/.MainActivity]
    12-11 15:53:49.944 I/am_on_resume_called(31598): [0,at.bitfire.davdroid.MainActivity]
    12-11 15:53:50.275 I/ActivityManager(589): Displayed at.bitfire.davdroid/.MainActivity: +493ms
    12-11 15:53:50.275 I/am_activity_launch_time(589): [0,1117331816,at.bitfire.davdroid/.MainActivity,493,493]
    12-11 15:53:53.118 I/am_pause_activity(589): [0,1117331816,at.bitfire.davdroid/.MainActivity]
    12-11 15:53:53.118 I/am_on_paused_called(31598): [0,at.bitfire.davdroid.MainActivity]
    12-11 15:53:53.628 I/sf_frame_dur(172): [at.bitfire.davdroid/at.bitfire.davdroid.MainActivity,16,0,1,0,0,1,1]
    12-11 15:53:54.639 I/ActivityManager(589): START u0 {cmp=at.bitfire.davdroid/.syncadapter.AddAccountActivity (has extras)} from pid 27076
    12-11 15:53:54.639 I/am_create_activity(589): [0,1117921328,91,at.bitfire.davdroid/.syncadapter.AddAccountActivity,NULL,NULL,NULL,8388608]
    12-11 15:53:54.960 I/am_restart_activity(589): [0,1117921328,91,at.bitfire.davdroid/.syncadapter.AddAccountActivity]
    12-11 15:53:55.030 I/am_on_resume_called(31598): [0,at.bitfire.davdroid.syncadapter.AddAccountActivity]
    12-11 15:53:55.130 I/am_activity_launch_time(589): [0,1117921328,at.bitfire.davdroid/.syncadapter.AddAccountActivity,170,170]
    12-11 15:53:55.130 I/ActivityManager(589): Displayed at.bitfire.davdroid/.syncadapter.AddAccountActivity: +170ms
    12-11 15:54:31.358 W/davdroid.URIUtils(31598): Trying to repair invalid URL: https://[2a02:XXXX:XXXX:XX::X]/ocname/remote.php/carddav/ -> https://%5b2a02:XXXX:XXXX:XX::X%5d/ocname/remote.php/carddav/
    12-11 15:54:31.368 I/davdroid.QueryServerDialogFragment(31598): onCreateLoader
    12-11 15:54:31.488 I/davdroid.WebDavResource(31598): Using preemptive authentication (not compatible with Digest auth)
    12-11 15:54:31.499 I/am_crash(589): [31598,0,at.bitfire.davdroid,8928836,java.lang.IllegalArgumentException,Host name may not be null,HttpHost.java,83]
    12-11 15:54:31.499 E/AndroidRuntime(31598): Process: at.bitfire.davdroid, PID: 31598
    12-11 15:54:31.499 I/am_finish_activity(589): [0,1117921328,91,at.bitfire.davdroid/.syncadapter.AddAccountActivity,crashed]
    12-11 15:54:31.499 E/AndroidRuntime(31598):     at at.bitfire.davdroid.webdav.WebDavResource.options(WebDavResource.java:166)
    12-11 15:54:31.499 E/AndroidRuntime(31598):     at at.bitfire.davdroid.syncadapter.QueryServerDialogFragment$ServerInfoLoader.loadInBackground(QueryServerDialogFragment.java:114)
    12-11 15:54:31.499 E/AndroidRuntime(31598):     at at.bitfire.davdroid.syncadapter.QueryServerDialogFragment$ServerInfoLoader.loadInBackground(QueryServerDialogFragment.java:92)
    12-11 15:54:31.499 W/ActivityManager(589):   Force finishing activity at.bitfire.davdroid/.syncadapter.AddAccountActivity
    12-11 15:54:31.529 I/am_pause_activity(589): [0,1117921328,at.bitfire.davdroid/.syncadapter.AddAccountActivity]
    12-11 15:54:31.539 I/am_on_paused_called(31598): [0,at.bitfire.davdroid.syncadapter.AddAccountActivity]
    12-11 15:54:31.579 I/am_resume_activity(589): [0,1117331816,91,at.bitfire.davdroid/.MainActivity]
    12-11 15:54:31.619 I/am_on_resume_called(31598): [0,at.bitfire.davdroid.MainActivity]
    12-11 15:54:31.919 I/sf_frame_dur(172): [at.bitfire.davdroid/at.bitfire.davdroid.syncadapter.AddAccountActivity,2,2,1,0,0,0,0]
    12-11 15:54:31.949 I/am_destroy_activity(589): [0,1117921328,91,at.bitfire.davdroid/.syncadapter.AddAccountActivity,finish-imm]
    12-11 15:54:31.969 I/sf_frame_dur(172): [at.bitfire.davdroid/at.bitfire.davdroid.syncadapter.AddAccountActivity,41,3,2,12,72,0,0]
    12-11 15:54:32.750 I/am_proc_died(589): [0,31598,at.bitfire.davdroid]
    12-11 15:54:32.750 I/am_finish_activity(589): [0,1117331816,91,at.bitfire.davdroid/.MainActivity,proc died without state saved]
    12-11 15:54:32.750 I/ActivityManager(589): Process at.bitfire.davdroid (pid 31598) has died.
    12-11 15:54:32.750 I/WindowState(589): WIN DEATH: Window{42a54e38 u0 at.bitfire.davdroid/at.bitfire.davdroid.MainActivity}
    12-11 15:54:32.750 W/ActivityManager(589): Force removing ActivityRecord{42992168 u0 at.bitfire.davdroid/.MainActivity t91}: app died, no saved state
    12-11 15:54:33.030 I/sf_frame_dur(172): [Application Error: at.bitfire.davdroid,0,0,0,0,0,1,0]
    

    ...looks like the URL string is parsed, deemed false, discarded and the empty URL not caught.



  • I looked at the logcat, and I found that my problem is in fact a serveur setup problem (multiple virtual hosts and https cause TLS errors. I tinkered in my server setup and now my synchronization now works well.

    I use IPv6 through DNS lookup, not IPv6 directly in the URL, like grandchild. For grandchild bug, it seems related to "fixing" brackets around IPv6


  • developer

    So, is this fixed now and DAVdroid works with IPv6 for you?



  • Looking at jm's comment it seems to be working with a domain name. But users might not have a domain or a fixed server IP (like me) and use IPv6 tunnels (like from Hurricane Electric or SiXXs) to tunnel through the IPv4 internet. So direct IPv6 entry as a server name would definitely be nice :)


Log in to reply
 

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