Skip to content

Upload a file to a federated share with quota #3224

Description

@MorrisJobke
  • userA shares folder abc to userB via federated sharing
  • userA now gets a quota of 0 (upload doesn't work anymore)
  • userB tries to upload a file to abc

actual

  • Internal server error notification badge pops up

expected

  • error message with Quota reached - upload not possible

Logs:

{
	"reqId":"ldM0AW90bpGZh0BfGtxo",
	"remoteAddr":"::1",
	"app":"webdav",
	"message":"Exception: {\"Message\":\"HTTP/1.1 507 Insufficient Storage\",\"Exception\":\"Sabre\DAV\Exception\InsufficientStorage\",\"Code\":0,\"Trace\":\"
		#0 [internal function]: OCA\DAV\Connector\Sabre\QuotaPlugin->checkQuota('Bildschirmfoto ...', Resource id #67, Object(OCA\DAV\Connector\Sabre\Directory), false)
		#1 3rdparty/sabre/event/lib/EventEmitterTrait.php(105): call_user_func_array(Array, Array)
		#2 3rdparty/sabre/dav/lib/DAV/Server.php(1070): Sabre\Event\EventEmitter->emit('beforeCreateFil...', Array)
		#3 3rdparty/sabre/dav/lib/DAV/CorePlugin.php(525): Sabre\DAV\Server->createFile('Bildschirmfoto ...', Resource id #67, NULL)
		#4 [internal function]: Sabre\DAV\CorePlugin->httpPut(Object(Sabre\HTTP\Request), Object(Sabre\HTTP\Response))
		#5 3rdparty/sabre/event/lib/EventEmitterTrait.php(105): call_user_func_array(Array, Array)
		#6 3rdparty/sabre/dav/lib/DAV/Server.php(479): Sabre\Event\EventEmitter->emit('method:PUT', Array)
		#7 3rdparty/sabre/dav/lib/DAV/Server.php(254): Sabre\DAV\Server->invokeMethod(Object(Sabre\HTTP\Request), Object(Sabre\HTTP\Response))
		#8 apps/dav/appinfo/v1/publicwebdav.php(104): Sabre\DAV\Server->exec()
		#9 public.php(77): require_once('/Users/morrisjo...')
		#10 {main}\",\"File\":\"apps/dav/lib/Connector/Sabre/QuotaPlugin.php\",\"Line\":113,\"User\":false}",
	"level":4,
	"time":"2017-01-23T19:18:21+00:00",
	"method":"PUT",
	"url":"\/server\/public.php\/webdav\/Bildschirmfoto%202017-01-21%20um%2009.23.12.png",
	"user":"--",
	"version":"12.0.0.12"
}
{
	"reqId":"6PeGI0cNkgq36GrsY8xT",
	"remoteAddr":"::1",
	"app":"webdav",
	"message":"Exception: {\"Message\":\"HTTP/1.1 500 Server error response [url] http://localhost/server/public.php/webdav/Bildschirmfoto%202017-01-21%20um%2009.23.12.png [status code] 507 [reason phrase] Insufficient Storage\",\"Exception\":\"Sabre\DAV\Exception\",\"Code\":0,\"Trace\":\"
		#0 apps/dav/lib/Connector/Sabre/File.php(158): OCA\DAV\Connector\Sabre\File->convertToSabreException(Object(GuzzleHttp\Exception\ServerException))
		#1 apps/dav/lib/Connector/Sabre/Directory.php(137): OCA\DAV\Connector\Sabre\File->put(Resource id #81)
		#2 3rdparty/sabre/dav/lib/DAV/Server.php(1072): OCA\DAV\Connector\Sabre\Directory->createFile('Bildschirmfoto ...', Resource id #81)
		#3 3rdparty/sabre/dav/lib/DAV/CorePlugin.php(525): Sabre\DAV\Server->createFile('asd/Bildschirmf...', Resource id #81, NULL)
		#4 [internal function]: Sabre\DAV\CorePlugin->httpPut(Object(Sabre\HTTP\Request), Object(Sabre\HTTP\Response))
		#5 3rdparty/sabre/event/lib/EventEmitterTrait.php(105): call_user_func_array(Array, Array)
		#6 3rdparty/sabre/dav/lib/DAV/Server.php(479): Sabre\Event\EventEmitter->emit('method:PUT', Array)
		#7 3rdparty/sabre/dav/lib/DAV/Server.php(254): Sabre\DAV\Server->invokeMethod(Object(Sabre\HTTP\Request), Object(Sabre\HTTP\Response))
		#8 apps/dav/appinfo/v1/webdav.php(60): Sabre\DAV\Server->exec()
		#9 remote.php(165): require_once('/Users/morrisjo...')
		#10 {main}\",\"File\":\"apps/dav/lib/Connector/Sabre/File.php\",\"Line\":557,\"User\":\"abc\"}",
	"level":4,
	"time":"2017-01-23T19:18:21+00:00",
	"method":"PUT",
	"url":"\/server\/remote.php\/webdav\/asd\/Bildschirmfoto%202017-01-21%20um%2009.23.12.png",
	"user":"abc",
	"version":"12.0.0.12"
}
{
	"reqId":"WyQe8uhz6l8TnkQLqgIO",
	"remoteAddr":"::1",
	"app":"webdav",
	"message":"Exception: {\"Message\":\"HTTP/1.1 401 No 'Authorization: Basic' header found. Either the client didn't send one, or the server is misconfigured\",\"Exception\":\"Sabre\DAV\Exception\NotAuthenticated\",\"Code\":0,\"Trace\":\"
		#0 [internal function]: Sabre\DAV\Auth\Plugin->beforeMethod(Object(Sabre\HTTP\Request), Object(Sabre\HTTP\Response))
		#1 3rdparty/sabre/event/lib/EventEmitterTrait.php(105): call_user_func_array(Array, Array)
		#2 3rdparty/sabre/dav/lib/DAV/Server.php(466): Sabre\Event\EventEmitter->emit('beforeMethod', Array)
		#3 3rdparty/sabre/dav/lib/DAV/Server.php(254): Sabre\DAV\Server->invokeMethod(Object(Sabre\HTTP\Request), Object(Sabre\HTTP\Response))
		#4 apps/dav/appinfo/v1/publicwebdav.php(104): Sabre\DAV\Server->exec()
		#5 public.php(77): require_once('/Users/morrisjo...')
		#6 {main}\",\"File\":\"3rdparty/sabre/dav/lib/DAV/Auth/Plugin.php\",\"Line\":168,\"User\":false}",
	"level":0,
	"time":"2017-01-23T19:18:21+00:00",
	"method":"PROPFIND",
	"url":"\/server\/public.php\/webdav\/",
	"user":"--",
	"version":"12.0.0.12"
}

cc @icewind1991 @schiessle @rullzer

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions