Merge pull request #11091 from nextcloud/bugfix/11088/cannot-read-passwd
Remove posix_getpwuid and compare only userid
This commit is contained in:
commit
d1cb83424f
|
@ -545,7 +545,7 @@ Raw output
|
||||||
* @return array
|
* @return array
|
||||||
*/
|
*/
|
||||||
protected function getAppDirsWithDifferentOwner(): array {
|
protected function getAppDirsWithDifferentOwner(): array {
|
||||||
$currentUser = posix_getpwuid(posix_getuid());
|
$currentUser = posix_getuid();
|
||||||
$appDirsWithDifferentOwner = [[]];
|
$appDirsWithDifferentOwner = [[]];
|
||||||
|
|
||||||
foreach (OC::$APPSROOTS as $appRoot) {
|
foreach (OC::$APPSROOTS as $appRoot) {
|
||||||
|
@ -563,11 +563,11 @@ Raw output
|
||||||
/**
|
/**
|
||||||
* Tests if the directories for one apps directory are writable by the current user.
|
* Tests if the directories for one apps directory are writable by the current user.
|
||||||
*
|
*
|
||||||
* @param array $currentUser The current user
|
* @param int $currentUser The current user
|
||||||
* @param array $appRoot The app root config
|
* @param array $appRoot The app root config
|
||||||
* @return string[] The none writable directory paths inside the app root
|
* @return string[] The none writable directory paths inside the app root
|
||||||
*/
|
*/
|
||||||
private function getAppDirsWithDifferentOwnerForAppRoot(array $currentUser, array $appRoot): array {
|
private function getAppDirsWithDifferentOwnerForAppRoot(int $currentUser, array $appRoot): array {
|
||||||
$appDirsWithDifferentOwner = [];
|
$appDirsWithDifferentOwner = [];
|
||||||
$appsPath = $appRoot['path'];
|
$appsPath = $appRoot['path'];
|
||||||
$appsDir = new DirectoryIterator($appRoot['path']);
|
$appsDir = new DirectoryIterator($appRoot['path']);
|
||||||
|
@ -575,7 +575,7 @@ Raw output
|
||||||
foreach ($appsDir as $fileInfo) {
|
foreach ($appsDir as $fileInfo) {
|
||||||
if ($fileInfo->isDir() && !$fileInfo->isDot()) {
|
if ($fileInfo->isDir() && !$fileInfo->isDot()) {
|
||||||
$absAppPath = $appsPath . DIRECTORY_SEPARATOR . $fileInfo->getFilename();
|
$absAppPath = $appsPath . DIRECTORY_SEPARATOR . $fileInfo->getFilename();
|
||||||
$appDirUser = posix_getpwuid(fileowner($absAppPath));
|
$appDirUser = fileowner($absAppPath);
|
||||||
if ($appDirUser !== $currentUser) {
|
if ($appDirUser !== $currentUser) {
|
||||||
$appDirsWithDifferentOwner[] = $absAppPath;
|
$appDirsWithDifferentOwner[] = $absAppPath;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue