From de074804eb12c28bdc96b93933cc9a2ca612804b Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Mon, 16 Sep 2013 16:15:15 +0200 Subject: [PATCH] Detect empty etags coming from server side. --- AUTHORS | 1 + doc/makeguide.sh | 0 doc/makeman.sh | 0 modules/csync_owncloud.c | 7 +++++++ 4 files changed, 8 insertions(+) mode change 100755 => 100644 doc/makeguide.sh mode change 100755 => 100644 doc/makeman.sh diff --git a/AUTHORS b/AUTHORS index 77f802e12b..5fd81c08e3 100644 --- a/AUTHORS +++ b/AUTHORS @@ -1,2 +1,3 @@ Andreas Schneider Klaas Freitag +Olivier Goffart diff --git a/doc/makeguide.sh b/doc/makeguide.sh old mode 100755 new mode 100644 diff --git a/doc/makeman.sh b/doc/makeman.sh old mode 100755 new mode 100644 diff --git a/modules/csync_owncloud.c b/modules/csync_owncloud.c index a37c6e0ece..fabdfc3a71 100644 --- a/modules/csync_owncloud.c +++ b/modules/csync_owncloud.c @@ -1099,6 +1099,13 @@ static const char* owncloud_file_id( const char *path ) cbuf = c_strdup(header); } } + + /* fix server problem: If we end up with an empty string, set something strange... */ + if( c_streq(cbuf, "") || c_streq(cbuf, "\"\"") ) { + SAFE_FREE(cbuf); + cbuf = c_strdup("empty_etag"); + } + DEBUG_WEBDAV("Get file ID for %s: %s", path, cbuf ? cbuf:""); if( fs ) csync_vio_file_stat_destroy(fs); if( req ) ne_request_destroy(req);