Author: pescetti
Date: Tue Oct 6 23:58:35 2015
New Revision: 1707170
URL: http://svn.apache.org/viewvc?rev=1707170&view=rev
Log:
#i126305# Fix access to standard websites (e.g., no WebDAV).
Patch by: Giuseppe Castagno
Modified:
openoffice/trunk/main/ucb/source/ucp/webdav/webdavcontent.cxx
Modified: openoffice/trunk/main/ucb/source/ucp/webdav/webdavcontent.cxx
URL:
http://svn.apache.org/viewvc/openoffice/trunk/main/ucb/source/ucp/webdav/webdavcontent.cxx?rev=1707170&r1=1707169&r2=1707170&view=diff
==============================================================================
--- openoffice/trunk/main/ucb/source/ucp/webdav/webdavcontent.cxx (original)
+++ openoffice/trunk/main/ucb/source/ucp/webdav/webdavcontent.cxx Tue Oct 6
23:58:35 2015
@@ -3091,17 +3091,15 @@ void Content::lock(
aOwner ));
}
break;
+ case SC_FORBIDDEN:
+ case SC_NOT_IMPLEMENTED:
case SC_METHOD_NOT_ALLOWED:
// this it's not always received, but the RFC4918 (which supersed
RFC2518)
// tells about this in:
// http://tools.ietf.org/html/rfc4918#appendix-D.1
// throw exception, will be interpreted by the lock requester
(framework)
// it is actually a info, not an error
- throw ucb::InteractiveLockingLockNotAvailableException(
e.getData(),
-
static_cast< cppu::OWeakObject * >( this ),
-
task::InteractionClassification_INFO,
- aURL,
-
e.getExtendedError() );
+ return;
break;
//i126305 TODO
//see http://tools.ietf.org/html/rfc4918#section-9.10.6
@@ -3579,12 +3577,18 @@ const Content::ResourceType & Content::g
catch ( DAVException const & e )
{
rResAccess->resetUri();
-
- if ( e.getStatus() == SC_METHOD_NOT_ALLOWED )
+ switch( e.getStatus() )
{
+ // returned errors are part of base http 1.1 RFCs:
+ case SC_FORBIDDEN: //
https://tools.ietf.org/html/rfc7231#section-6.5.3
+ case SC_NOT_IMPLEMENTED: //
http://tools.ietf.org/html/rfc7231#section-6.6.2
+ case SC_METHOD_NOT_ALLOWED: //
http://tools.ietf.org/html/rfc7231#section-6.5.5
// Status SC_METHOD_NOT_ALLOWED is a safe indicator that the
// resource is NON_DAV
eResourceType = NON_DAV;
+ break;
+ default:
+ ;
}
// cancel command execution is case that no user authentication
data has been provided.
if ( e.getError() == DAVException::DAV_HTTP_NOAUTH )