WebDAV: fixed regression caused by 404->401 patch (BMC #17862)

The code which caught the 404 status had the unintended side effect of
also catching 401 errors and then not reporting them. Fixed by
handling the exception as in the default "Exception" case if it does
not fit the 404 special case.
This commit is contained in:
Patrick Ohly 2011-06-28 17:57:38 -07:00
parent 11ddebdb08
commit edaa1562b5

View file

@ -596,6 +596,17 @@ void WebDAVSource::contactServer()
path.c_str(), username.c_str());
int code = 401;
SE_THROW_EXCEPTION_STATUS(TransportStatusException, descr, SyncMLStatus(code));
} else {
if (candidates.empty()) {
// nothing left to try, bail out with this error
throw;
} else {
// ignore the error (whatever it was!), try next
// candidate; needed to handle 502 "Connection
// refused" for /.well-known/caldav/ from Yahoo!
// Calendar
SE_LOG_DEBUG(NULL, NULL, "ignore error for URI candidate: %s", ex.what());
}
}
} catch (const Exception &ex) {
if (candidates.empty()) {