diff --git a/src/libsync/owncloudpropagator_p.h b/src/libsync/owncloudpropagator_p.h index 14e8f1721a..4fb0953428 100644 --- a/src/libsync/owncloudpropagator_p.h +++ b/src/libsync/owncloudpropagator_p.h @@ -52,11 +52,17 @@ inline QByteArray getEtagFromReply(QNetworkReply *reply) inline SyncFileItem::Status classifyError(QNetworkReply::NetworkError nerror, int httpCode) { Q_ASSERT (nerror != QNetworkReply::NoError); // we should only be called when there is an error - if (nerror > QNetworkReply::NoError && nerror <= QNetworkReply::UnknownProxyError) { + if (nerror > QNetworkReply::NoError && nerror <= QNetworkReply::UnknownProxyError) { // network error or proxy error -> fatal return SyncFileItem::FatalError; } + if (httpCode == 503) { + // "Service unavailable" + // Happens for maintenance mode and other temporary outages + return SyncFileItem::FatalError; + } + if (httpCode == 412) { // "Precondition Failed" // Happens when the e-tag has changed