GET response without ETag



  • I'm using DAVdroid version: 1.2.3 together with OwnCloud 9.0.4 to sync calendar and contacts to my Android.
    On my PC I have Thunderbird 45.2 with extensions CardBook (for syncinc contacts, https://addons.mozilla.org/de/thunderbird/addon/cardbook/) and Lightning (for syncing calendar.

    Since some time I can't sync modified contacts/calender entries to my android anymore.

    I already deleted the account from DavDroid and configured it new.
    Then the initial sync of calendar and contacts worked without issues.

    But when I modify an entry in Thunderbird and sync it to OwnCloud, then I can't sync to android anymore.

    In the last months I only added/modified contacts on my android and synced to OwnCloud and Thunderbird in this direction. But a few days ago I modified a contact in Thunderbird and synced it to OwnCloud.
    So I don't know since which date or since which update I have this issue.

    For further details see attached log files of DavDroid.

    [1_1471622935955_contacts.log](Uploading 100%) [0_1471622935955_calendar.log](Uploading 100%)


  • developer

    @mpausch Unfortunately, your log files have not been uploaded successfully. Also, please always provide steps to reproduce and debug info.

    However, the error message is quite clear: the server didn't send an ETag for the resource, which is required for synchronization. So, this is an OwnCloud problem, so I suggest to ask in an OwnCloud forum.



  • Thanks for you clarification. I posted this to this forum, because DavDroid is the part in my environment where I see the error. The other parts (OwnCloud and Thunderbird) seemed to worked correctly from my view. But you're right: the root cause is very likely to be in another part of my environment.

    Just out of curiosity and because it worked well in the past or at leased seemed to work well:
    As I set up my OwnCloud a few months ago I tested to add/modify/sync/delete contacts and calenders in every direction (Android <-> OC <-> Thunderbird). And at the time of setup everything worked without issues.

    What's the background/meaning of the ETag? Does it identify a contact, so is it like a unique ID?

    Did DavDriod always check for ETag? Or was behaviour changed in the last months in order to be more conform with the RFCs?

    What part creates/maintains the ETag? The client who creates/modify a contact? Or the server?

    Just wanna clarify for me which part to spot next...


  • developer

    @mpausch said in GET response without ETag:

    What's the background/meaning of the ETag? Does it identify a contact, so is it like a unique ID?

    It's not a unique ID, but it's kind of a tag for a certain version of a resource. It can be used to determine whether the contents of a resource have been changed: in this case, the ETag must change, too.

    Did DavDriod always check for ETag? Or was behaviour changed in the last months in order to be more conform with the RFCs?

    DAVdroid relies on ETags since the beginning, because they're very essential for useful synchronization. ETags are required for CalDAV/CardDAV, especially in responses to GET requests. DAVdroid uses them in many ways, for instance

    • to check whether a resource (event/contact) has been changed,
    • to make sure uploading new resources doesn't overwrite existing resources (PUT with If-None-Match: *),
    • to make sure uploading updated resources only overwrites the correct version, i.e. changes which have been made on the server in the meanwhile won't be lost (PUT with If-Match: <last-known-ETag>).

    What part creates/maintains the ETag? The client who creates/modify a contact? Or the server?

    ETags are always managed and sent by the server.



  • Did you find a solution for this?

    I also use DAVdroid for calendar-sync to OwnCloud. Since ~4 Days, I (we - all clients) become this error. "Received CalDAV GET response without ETag".

    There was no update to my OwnCloud wich works fine before these errors appears.



  • @SvenF : no, didn't find any solution to this issue yet :-/
    I also didn't any change to my OwnCloud before it started to work not anymore.



  • Hi,

    it seems, my provider did an update to Apache 2.4. Since then, these error appears.

    I tried "FileETag All" in htaccess but until now, it did'nt work.

    Maybe, someone had the same problem and a solution for this!?



  • @SvenF: I already guessed if my hoster maybe also did an Upgrade of Apache (or something else). And I also tried to enable ETag in .htaccess, but also without success :-(

    I opened a ticket at my hosters support website a few minutes ago. Usually they reply within 1 day. So let's wait :-)

    Just out of curiosity: Since when do you have this issues? And what's your hoster?
    As far as I can remember I have the problem since about 16th august. My OwnCloud is hosted at Profihost (www.profihost.com)



  • Yes, Profihost is my provider. I also made a ticket for this and they told me the way to htaccess.



  • oh man, this starts to get annoying ;-/

    somewhere I read, that gzip also could remove the ETag... found a lot of "solutions" how to disable gzip via .htaccess... but none of them worked for me... Or I did something wrong? :-\


  • developer

    @mpausch gzip shouldn't change the ETag, becaues the resources are normally not real static files (which would be sent by the Web server directly), but virtual resources generated by the CalDAV/CardDAV server (which manages the ETags, too).

    Did you have any further progress related to this problem?



  • I am nearly daily in contact with my Provider but the problem still exists. I don't know how to set ETag since the webserver has been updated to Apache 2.4.


  • developer

    @SvenF The ETag should normally be set by the CalDAV/CardDAV server (OwnCloud?), not by the Web server. The only thing I can imagine is that the Web server (or maybe an application-level firewall?) removes the ETag sent by OwnCloud.



  • Hey guys,

    like SvenF I also was in daily contact with my provider (which is the same provider as SvenF's provider g).

    Yesterday they solved the issue for me by "installing an update".
    Don't know yet what this "update" actually was (software update? / configuration change?) but I asked if he could tell me. So hopefully I will know more within the next days :-) Stay tuned, I will post feedback here.

    Cheers



  • OK - also I got the message of this update. In my case, it did not change the error.

    • Do you have an htaccess entry for ETag. Which entry and where?
    • Do you use ssl-proxy (sslkundenserver.de)?


  • No, don't have an ETag entry in .htaccess.
    And I don't use ssl-proxy/sslkundenserver.de... (by the way: what's that and how does that work?)



  • I'm using an SSL Proxy for connecting to the cloud with a shared SSL connection. So the transfer is more secure. Look at the webspace description at the Providers Homepage. Maybe in my case, the reason for the error is this connection. I asked the provider about this possibility.



  • got feedback from support:

    due to the update to Apache 2.4 hoster configured
    Header unset ETag
    FileETag None

    in the global apache configuration.

    According to the HEADER directive in the apache docs :
    "... The header is modified just after the content handler and output filters are run, allowing outgoing headers to be modified. ..."

    So ETag header was generated by OwnCloud/PHP but then removed my mod_header

    Hoster removed "Header unset ETag" from apache config. Now it works.

    @SvenF : already contacted support to set up ssl-proxy for my domain. When it's done I will test calendar/contact sync via ssl and post feedback here :-)


  • developer

    Good to know that it now works and what has caused the problem. At least DAVdroid's error message was correct :)

    Do you know why they have removed ETags?



  • They removed the ETag header for "security reasons".
    Can't imagine any risk that a ETag can have, but I'm not a security expert... so maybe I just don't know any better ;-)

    @SvenF : tried to set up a separate OwnCloud that I can access via sslkundenserver.de, but for some reasons it always redirects to http://www.mydomain.tld/owncloud instead of staying in https://sslkundenserver.de/www.mydomain.tld/owncloud :-/
    Any hints?


Log in to reply
 

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