@@ -57,32 +57,42 @@ public function wrapStorage(string $mountPoint, IStorage $storage, IMountPoint $
5757 'mount ' => $ mount
5858 ];
5959
60- if ( $ force || (! $ storage -> instanceOfStorage (IDisableEncryptionStorage::class) && $ mountPoint !== ' / ' )) {
61- $ user = Server:: get (IUserSession::class)-> getUser ();
62- $ mountManager = Filesystem:: getMountManager ();
63- $ uid = $ user ? $ user -> getUID () : null ;
64- $ fileHelper = Server:: get (IFile::class) ;
65- $ keyStorage = Server:: get (EncryptionKeysStorage::class);
60+ // Only evaluate other conditions if not forced
61+ if (! $ force ) {
62+ // If a disabled storage medium, return basic storage
63+ if ( $ storage -> instanceOfStorage (IDisableEncryptionStorage::class)) {
64+ return $ storage ;
65+ }
6666
67- $ util = new Util (
68- new View (),
69- Server::get (IUserManager::class),
70- Server::get (IGroupManager::class),
71- Server::get (IConfig::class)
72- );
73- return new Encryption (
74- $ parameters ,
75- $ this ->manager ,
76- $ util ,
77- $ this ->logger ,
78- $ fileHelper ,
79- $ uid ,
80- $ keyStorage ,
81- $ mountManager ,
82- $ this ->arrayCache
83- );
84- } else {
85- return $ storage ;
67+ // Root mount point handling: skip encryption wrapper
68+ if ($ mountPoint === '/ ' ) {
69+ return $ storage ;
70+ }
8671 }
72+
73+ // Apply encryption wrapper
74+ $ user = Server::get (IUserSession::class)->getUser ();
75+ $ mountManager = Filesystem::getMountManager ();
76+ $ uid = $ user ? $ user ->getUID () : null ;
77+ $ fileHelper = Server::get (IFile::class);
78+ $ keyStorage = Server::get (EncryptionKeysStorage::class);
79+
80+ $ util = new Util (
81+ new View (),
82+ Server::get (IUserManager::class),
83+ Server::get (IGroupManager::class),
84+ Server::get (IConfig::class)
85+ );
86+ return new Encryption (
87+ $ parameters ,
88+ $ this ->manager ,
89+ $ util ,
90+ $ this ->logger ,
91+ $ fileHelper ,
92+ $ uid ,
93+ $ keyStorage ,
94+ $ mountManager ,
95+ $ this ->arrayCache
96+ );
8797 }
8898}
0 commit comments