Regression: SOGo Support - Version 0.4-alpha + Version 0.4.1-alpha



  • Hi,
    I know.. SOGo groupware is not officially supported. Nevertheless up to version 0.3.8-alpha davdroid detected calendar and addressbook collections on SOGo, starting from 0.4-alpha it does not anymore.
    Syncronisation with allready configured/existing accounts still works though.

    Failed discovery 0.4.1-alpha:

    Nov 18 15:38:07 sogod [18012]: |SOGo| starting method 'OPTIONS' on uri '/SOGo/dav/'
    2013-11-18 15:38:07.017 sogod[18012] -[WEClientCapabilities initWithRequest:]: Unknown WebClient: user-agent='DAVdroid/0.4.1-alpha'
    

    Working discovery 0.3.8-alpha:

    Nov 18 15:40:25 sogod [18011]: |SOGo| starting method 'OPTIONS' on uri '/SOGo/dav/'
    2013-11-18 15:40:25.831 sogod[18011] -[WEClientCapabilities initWithRequest:]: Unknown WebClient: user-agent='DAVdroid/0.3.7-alpha'
    Nov 18 15:40:25 sogod [18011]: |SOGo| request took 0.001445 seconds to execute
    178.189.104.226 - - [18/Nov/2013:15:40:25 GMT] "OPTIONS /SOGo/dav/ HTTP/1.1" 200 0/0 0.003 - - 0
    Nov 18 15:40:26 sogod [18011]: |SOGo| starting method 'PROPFIND' on uri '/SOGo/dav/'
    2013-11-18 15:40:26.031 sogod[18011] -[WEClientCapabilities initWithRequest:]: Unknown WebClient: user-agent='DAVdroid/0.3.7-alpha'
    Nov 18 15:40:26 sogod [18011]: |SOGo| request took 0.002368 seconds to execute
    178.189.104.226 - - [18/Nov/2013:15:40:26 GMT] "PROPFIND /SOGo/dav/ HTTP/1.1" 207 327/88 0.004 - - 0
    Nov 18 15:40:26 sogod [18011]: |SOGo| starting method 'PROPFIND' on uri '/SOGo/dav/myusername/'
    2013-11-18 15:40:26.264 sogod[18011] -[WEClientCapabilities initWithRequest:]: Unknown WebClient: user-agent='DAVdroid/0.3.7-alpha'
    Nov 18 15:40:26 sogod [18011]: |SOGo| request took 0.002754 seconds to execute
    178.189.104.226 - - [18/Nov/2013:15:40:26 GMT] "PROPFIND /SOGo/dav/myusername/ HTTP/1.1" 207 541/200 0.005 - - 0
    Nov 18 15:40:26 sogod [18011]: |SOGo| starting method 'PROPFIND' on uri '/SOGo/dav/myusername/Contacts/'
    2013-11-18 15:40:26.408 sogod[18011] -[WEClientCapabilities initWithRequest:]: Unknown WebClient: user-agent='DAVdroid/0.3.7-alpha'
    Nov 18 15:40:26 sogod [18011]: |SOGo| request took 0.007767 seconds to execute
    178.189.104.226 - - [18/Nov/2013:15:40:26 GMT] "PROPFIND /SOGo/dav/myusername/Contacts/ HTTP/1.1" 207 484/311 0.010 2240 78% 0
    Nov 18 15:40:26 sogod [18011]: |SOGo| starting method 'PROPFIND' on uri '/SOGo/dav/myusername/Calendar/'
    2013-11-18 15:40:26.911 sogod[18011] -[WEClientCapabilities initWithRequest:]: Unknown WebClient: user-agent='DAVdroid/0.3.7-alpha'
    

  • developer

    Please provide the exact error message. What does "... it does not work anymore" mean?



  • Ups.. the most stupid error when reporting. Sorry.
    The error message is:

    Missing capabilities: Neither CalDav nor CardDav available.
    

    I did try to enter a 'deep link' as well.. no chance. However: upgrading an 0.3.8-alpha version to 0.4+ still synchronizes the previously found collections. In the original message above I put all log messages my SOGo server spills out during the query from DavDroid - but I'm not familar with the CalDav or CardDav protocol.

    Something in the code interpreting the reply to the OPTIONS request changed.. a quick look into my toolbox came out empty.. no idea how to throw such a request at my server to paste the answer here. (PROPFIND seems widely implemented, OPTIONS is missing from all my *dav toolz).



  • did an options request with python requests:
    returns 200 and the following headers:

    {'allow': 'GET, HEAD, POST, OPTIONS, MKCOL, MKCALENDAR, DELETE, PUT, LOCK, UNLOCK, COPY, MOVE, PROPFIND, SEARCH',
     'content-encoding': 'gzip',
     'content-length': '20',
     'content-type': 'text/plain; charset=UTF-8',
     'date': 'Wed, 20 Nov 2013 15:15:06 GMT',
     'dav': '1, 2, access-control, addressbook, calendar-access, calendar-schedule, calendar-auto-schedule, calendar-proxy, calendar-query-extended, extended-mkcol, calendarserver-principal-property-search',
     'sogo-request-duration': '0.007066',
     'vary': 'Accept-Encoding'}
    

    hope this helps..


  • developer

    Ok, the problem is that your server doesn't send REPORT as a method. However, REPORT is used by DAVdroid for multi-get and other operations – and if DAVdroid 0.3.8 worked, you server supports REPORT. So, either
    a) your server advertises the availability of REPORT only for certain collections/URLs, or
    b) your server doesn't advertise the (well implemented) availability of REPORT at all.

    In case a – could you send an OPTIONS request to a calendar collection URL and have a look? Just to be sure, because I don't think the server advertises, for instance, SEARCH on the base URL but does not advertise REPORT on the base URL.

    In case b – please report the bug to your server manufacturer.


  • developer

    Please follow up: http://www.sogo.nu/bugs/view.php?id=2509
    I will close this issue. If there's anything I have missed on the DAVdroid side, please feel free to re-open.


  • developer

    Has been fixed in SOGo 2.1.2



  • Thank you a bunch, awesome bug handling (you filing the bug in the SOGo bugtracker really exceeds what I expected).


Log in to reply
 

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