Package: release.debian.org Severity: normal Tags: bullseye User: release.debian....@packages.debian.org Usertags: pu X-Debbugs-Cc: pkg-php-p...@lists.alioth.debian.org, t...@security.debian.org
[ Reason ] I’d like to address CVE-2022-24828 that has been tagged as no-dsa. Some people may also wish to see #989315 fixed (it was reported twice), and the fix is trivial, so I’m proposing a fix for it too. [ Impact ] The security fix is worth it, the GitHub token pattern fix is useful for people using this feature. [ Tests ] I had to also checkout a file used for the updated testsuite that passes. I’m not using the Github feature, but the regex fix looks pretty obvious. [ Risks ] I’ve also provided the diffoscope output, showing probably better the trival changes. [ Checklist ] [x] *all* changes are documented in the d/changelog [x] I reviewed all changes and I approve them [x] attach debdiff against the package in (old)stable [x] the issue is verified as fixed in unstable Regards Thanks in advance. David
diff --git a/debian/changelog b/debian/changelog index 4498422ae..51613d0d9 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,11 @@ +composer (2.0.9-2+deb11u1) bullseye; urgency=medium + + * Fix code injection vulnerability [CVE-2022-24828] (Closes: #1009960) + * Update GitHub token pattern (Closes: #989315) + * Checkout ProcessExecutorMock.php needed for updated tests + + -- David Prévot <taf...@debian.org> Sun, 29 May 2022 11:55:56 +0200 + composer (2.0.9-2) unstable; urgency=medium * Use debian/bullseye branch diff --git a/debian/patches/0010-Merge-pull-request-from-GHSA-x7cr-6qr6-2hh6.patch b/debian/patches/0010-Merge-pull-request-from-GHSA-x7cr-6qr6-2hh6.patch new file mode 100644 index 000000000..02fd68fe5 --- /dev/null +++ b/debian/patches/0010-Merge-pull-request-from-GHSA-x7cr-6qr6-2hh6.patch @@ -0,0 +1,230 @@ +From: Stephan <glaubi...@users.noreply.github.com> +Date: Wed, 13 Apr 2022 14:54:58 +0100 +Subject: Merge pull request from GHSA-x7cr-6qr6-2hh6 + +* GitDriver: filter branch names starting with a - character + +* GitDriver: getFileContent prevent identifiers starting with a - + +* HgDriver: prevent invalid identifiers and prevent file from running commands + +* HgDriver: filter branches starting with a - character + +Origin: backport, https://github.com/composer/composer/commit/2c40c53637c5c7e43fff7c09d3d324d632734709 +Bug-Debian: https://bugs.debian.org/1009960 +Bug-Debian: https://security-tracker.debian.org/tracker/CVE-2022-24828 +--- + src/Composer/Repository/Vcs/GitDriver.php | 6 +- + src/Composer/Repository/Vcs/HgDriver.php | 10 ++- + .../Composer/Test/Repository/Vcs/GitDriverTest.php | 81 ++++++++++++++++++++++ + .../Composer/Test/Repository/Vcs/HgDriverTest.php | 46 ++++++++++++ + 4 files changed, 139 insertions(+), 4 deletions(-) + create mode 100644 tests/Composer/Test/Repository/Vcs/GitDriverTest.php + +diff --git a/src/Composer/Repository/Vcs/GitDriver.php b/src/Composer/Repository/Vcs/GitDriver.php +index 70400e8..577477d 100644 +--- a/src/Composer/Repository/Vcs/GitDriver.php ++++ b/src/Composer/Repository/Vcs/GitDriver.php +@@ -130,6 +130,10 @@ class GitDriver extends VcsDriver + */ + public function getFileContent($file, $identifier) + { ++ if (isset($identifier[0]) && $identifier[0] === '-') { ++ throw new \RuntimeException('Invalid git identifier detected. Identifier must not start with a -, given: ' . $identifier); ++ } ++ + $resource = sprintf('%s:%s', ProcessExecutor::escape($identifier), ProcessExecutor::escape($file)); + $this->process->execute(sprintf('git show %s', $resource), $content, $this->repoDir); + +@@ -183,7 +187,7 @@ class GitDriver extends VcsDriver + $this->process->execute('git branch --no-color --no-abbrev -v', $output, $this->repoDir); + foreach ($this->process->splitLines($output) as $branch) { + if ($branch && !preg_match('{^ *[^/]+/HEAD }', $branch)) { +- if (preg_match('{^(?:\* )? *(\S+) *([a-f0-9]+)(?: .*)?$}', $branch, $match)) { ++ if (preg_match('{^(?:\* )? *(\S+) *([a-f0-9]+)(?: .*)?$}', $branch, $match) && $match[1][0] !== '-') { + $branches[$match[1]] = $match[2]; + } + } +diff --git a/src/Composer/Repository/Vcs/HgDriver.php b/src/Composer/Repository/Vcs/HgDriver.php +index f3b0e6c..b154653 100644 +--- a/src/Composer/Repository/Vcs/HgDriver.php ++++ b/src/Composer/Repository/Vcs/HgDriver.php +@@ -121,7 +121,11 @@ class HgDriver extends VcsDriver + */ + public function getFileContent($file, $identifier) + { +- $resource = sprintf('hg cat -r %s %s', ProcessExecutor::escape($identifier), ProcessExecutor::escape($file)); ++ if (isset($identifier[0]) && $identifier[0] === '-') { ++ throw new \RuntimeException('Invalid hg identifier detected. Identifier must not start with a -, given: ' . $identifier); ++ } ++ ++ $resource = sprintf('hg cat -r %s -- %s', ProcessExecutor::escape($identifier), ProcessExecutor::escape($file)); + $this->process->execute($resource, $content, $this->repoDir); + + if (!trim($content)) { +@@ -181,14 +185,14 @@ class HgDriver extends VcsDriver + + $this->process->execute('hg branches', $output, $this->repoDir); + foreach ($this->process->splitLines($output) as $branch) { +- if ($branch && preg_match('(^([^\s]+)\s+\d+:([a-f0-9]+))', $branch, $match)) { ++ if ($branch && preg_match('(^([^\s]+)\s+\d+:([a-f0-9]+))', $branch, $match) && $match[1][0] !== '-') { + $branches[$match[1]] = $match[2]; + } + } + + $this->process->execute('hg bookmarks', $output, $this->repoDir); + foreach ($this->process->splitLines($output) as $branch) { +- if ($branch && preg_match('(^(?:[\s*]*)([^\s]+)\s+\d+:(.*)$)', $branch, $match)) { ++ if ($branch && preg_match('(^(?:[\s*]*)([^\s]+)\s+\d+:(.*)$)', $branch, $match) && $match[1][0] !== '-') { + $bookmarks[$match[1]] = $match[2]; + } + } +diff --git a/tests/Composer/Test/Repository/Vcs/GitDriverTest.php b/tests/Composer/Test/Repository/Vcs/GitDriverTest.php +new file mode 100644 +index 0000000..eebe5da +--- /dev/null ++++ b/tests/Composer/Test/Repository/Vcs/GitDriverTest.php +@@ -0,0 +1,81 @@ ++<?php ++ ++namespace Composer\Test\Repository\Vcs; ++ ++use Composer\Config; ++use Composer\Repository\Vcs\GitDriver; ++use Composer\Test\Mock\ProcessExecutorMock; ++use Composer\Test\TestCase; ++ ++class GitDriverTest extends TestCase ++{ ++ /** @var Config */ ++ private $config; ++ /** @var string */ ++ private $home; ++ ++ public function setUp(): void ++ { ++ $this->home = self::getUniqueTmpDirectory(); ++ $this->config = new Config(); ++ $this->config->merge(array( ++ 'config' => array( ++ 'home' => $this->home, ++ ), ++ )); ++ } ++ ++ public function testGetBranchesFilterInvalidBranchNames() ++ { ++ $process = new ProcessExecutorMock; ++ $io = $this->getMockBuilder('Composer\IO\IOInterface')->getMock(); ++ ++ $driver = new GitDriver(array('url' => 'https://example.org/acme.git'), $io, $this->config, $this->getMockBuilder('Composer\Util\HttpDownloader')->disableOriginalConstructor()->getMock(), $process); ++ $this->setRepoDir($driver, $this->home); ++ ++ // Branches starting with a - character are not valid git branches names ++ // Still assert that they get filtered to prevent issues later on ++ $stdout = <<<GIT ++* main 089681446ba44d6d9004350192486f2ceb4eaa06 commit ++ 2.2 12681446ba44d6d9004350192486f2ceb4eaa06 commit ++ -h 089681446ba44d6d9004350192486f2ceb4eaa06 commit ++GIT; ++ ++ $process ++ ->expects(array(array( ++ 'cmd' => 'git branch --no-color --no-abbrev -v', ++ 'stdout' => $stdout, ++ ))); ++ ++ $branches = $driver->getBranches(); ++ $this->assertSame(array( ++ 'main' => '089681446ba44d6d9004350192486f2ceb4eaa06', ++ '2.2' => '12681446ba44d6d9004350192486f2ceb4eaa06', ++ ), $branches); ++ } ++ ++ public function testFileGetContentInvalidIdentifier() ++ { ++ $this->expectException('\RuntimeException'); ++ ++ $process = new ProcessExecutorMock; ++ $io = $this->getMockBuilder('Composer\IO\IOInterface')->getMock(); ++ $driver = new GitDriver(array('url' => 'https://example.org/acme.git'), $io, $this->config, $this->getMockBuilder('Composer\Util\HttpDownloader')->disableOriginalConstructor()->getMock(), $process); ++ ++ $this->assertNull($driver->getFileContent('file.txt', 'h')); ++ ++ $driver->getFileContent('file.txt', '-h'); ++ } ++ ++ /** ++ * @param GitDriver $driver ++ * @param string $path ++ */ ++ private function setRepoDir($driver, $path) ++ { ++ $reflectionClass = new \ReflectionClass($driver); ++ $reflectionProperty = $reflectionClass->getProperty('repoDir'); ++ $reflectionProperty->setAccessible(true); ++ $reflectionProperty->setValue($driver, $path); ++ } ++} +diff --git a/tests/Composer/Test/Repository/Vcs/HgDriverTest.php b/tests/Composer/Test/Repository/Vcs/HgDriverTest.php +index c22439b..50138f0 100644 +--- a/tests/Composer/Test/Repository/Vcs/HgDriverTest.php ++++ b/tests/Composer/Test/Repository/Vcs/HgDriverTest.php +@@ -13,6 +13,7 @@ + namespace Composer\Test\Repository\Vcs; + + use Composer\Repository\Vcs\HgDriver; ++use Composer\Test\Mock\ProcessExecutorMock; + use Composer\Test\TestCase; + use Composer\Util\Filesystem; + use Composer\Config; +@@ -64,4 +65,49 @@ class HgDriverTest extends TestCase + array('https://u...@bitbucket.org/user/repo'), + ); + } ++ ++ public function testGetBranchesFilterInvalidBranchNames() ++ { ++ $process = new ProcessExecutorMock; ++ ++ $driver = new HgDriver(array('url' => 'https://example.org/acme.git'), $this->io, $this->config, $this->getMockBuilder('Composer\Util\HttpDownloader')->disableOriginalConstructor()->getMock(), $process); ++ ++ $stdout = <<<HG_BRANCHES ++default 1:dbf6c8acb640 ++--help 1:dbf6c8acb640 ++HG_BRANCHES; ++ ++ $stdout1 = <<<HG_BOOKMARKS ++help 1:dbf6c8acb641 ++--help 1:dbf6c8acb641 ++ ++HG_BOOKMARKS; ++ ++ $process ++ ->expects(array(array( ++ 'cmd' => 'hg branches', ++ 'stdout' => $stdout, ++ ), array( ++ 'cmd' => 'hg bookmarks', ++ 'stdout' => $stdout1, ++ ))); ++ ++ $branches = $driver->getBranches(); ++ $this->assertSame(array( ++ 'help' => 'dbf6c8acb641', ++ 'default' => 'dbf6c8acb640', ++ ), $branches); ++ } ++ ++ public function testFileGetContentInvalidIdentifier() ++ { ++ $this->expectException('\RuntimeException'); ++ ++ $process = new ProcessExecutorMock; ++ $driver = new HgDriver(array('url' => 'https://example.org/acme.git'), $this->io, $this->config, $this->getMockBuilder('Composer\Util\HttpDownloader')->disableOriginalConstructor()->getMock(), $process); ++ ++ $this->assertNull($driver->getFileContent('file.txt', 'h')); ++ ++ $driver->getFileContent('file.txt', '-h'); ++ } + } diff --git a/debian/patches/0011-Update-GitHub-token-pattern.patch b/debian/patches/0011-Update-GitHub-token-pattern.patch new file mode 100644 index 000000000..2db6ea201 --- /dev/null +++ b/debian/patches/0011-Update-GitHub-token-pattern.patch @@ -0,0 +1,26 @@ +From: Ayesh Karunaratne <ay...@aye.sh> +Date: Sun, 7 Mar 2021 00:40:32 +0700 +Subject: Update GitHub token pattern + +GitHub is updating the format of auth tokens from `a-z0-9` to `A-Za-z0-9` ([notice](https://github.blog/changelog/2021-03-04-authentication-token-format-updates/)). +I'm not sure why `.` is allowed, but I dare not to remove it. In this PR, the token validation regex is updated to allow `A-Za-z0-9` instead of the current all lower-case `a-z` and disallowed `_`. + +Origin: upstream, https://github.com/composer/composer/commit/dc83ba93f3d8a35629f9a387632e8cd373a144d0 +Bug-Debian: https://bugs.debian.org/989315 +--- + src/Composer/IO/BaseIO.php | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/Composer/IO/BaseIO.php b/src/Composer/IO/BaseIO.php +index e66360e..9c8bf70 100644 +--- a/src/Composer/IO/BaseIO.php ++++ b/src/Composer/IO/BaseIO.php +@@ -124,7 +124,7 @@ abstract class BaseIO implements IOInterface + } + + foreach ($githubOauth as $domain => $token) { +- if (!preg_match('{^[.a-z0-9]+$}', $token)) { ++ if (!preg_match('{^[.A-Za-z0-9_]+$}', $token)) { + throw new \UnexpectedValueException('Your github oauth token for '.$domain.' contains invalid characters: "'.$token.'"'); + } + $this->checkAndSetAuthentication($domain, $token, 'x-oauth-basic'); diff --git a/debian/patches/0012-Checkout-ProcessExecutorMock.php-needed-for-updated-.patch b/debian/patches/0012-Checkout-ProcessExecutorMock.php-needed-for-updated-.patch new file mode 100644 index 000000000..74d86b951 --- /dev/null +++ b/debian/patches/0012-Checkout-ProcessExecutorMock.php-needed-for-updated-.patch @@ -0,0 +1,188 @@ +From: =?utf-8?q?David_Pr=C3=A9vot?= <taf...@debian.org> +Date: Sun, 29 May 2022 11:02:37 +0200 +Subject: Checkout ProcessExecutorMock.php needed for updated tests + +git checkout 2c40c53637c5c7e43fff7c09d3d324d632734709 tests/Composer/Test/Mock/ProcessExecutorMock.php +--- + tests/Composer/Test/Mock/ProcessExecutorMock.php | 172 +++++++++++++++++++++++ + 1 file changed, 172 insertions(+) + create mode 100644 tests/Composer/Test/Mock/ProcessExecutorMock.php + +diff --git a/tests/Composer/Test/Mock/ProcessExecutorMock.php b/tests/Composer/Test/Mock/ProcessExecutorMock.php +new file mode 100644 +index 0000000..247f815 +--- /dev/null ++++ b/tests/Composer/Test/Mock/ProcessExecutorMock.php +@@ -0,0 +1,172 @@ ++<?php ++ ++/* ++ * This file is part of Composer. ++ * ++ * (c) Nils Adermann <nader...@naderman.de> ++ * Jordi Boggiano <j.boggi...@seld.be> ++ * ++ * For the full copyright and license information, please view the LICENSE ++ * file that was distributed with this source code. ++ */ ++ ++namespace Composer\Test\Mock; ++ ++use Composer\Util\ProcessExecutor; ++use Composer\Util\Platform; ++use PHPUnit\Framework\TestCase; ++use PHPUnit\Framework\AssertionFailedError; ++use Symfony\Component\Process\Process; ++use React\Promise\Promise; ++ ++/** ++ * @author Jordi Boggiano <j.boggi...@seld.be> ++ */ ++class ProcessExecutorMock extends ProcessExecutor ++{ ++ /** ++ * @var array<array{cmd: string, return: int, stdout: string, stderr: string, callback: ?callable}> ++ */ ++ private $expectations = array(); ++ /** ++ * @var bool ++ */ ++ private $strict = false; ++ /** ++ * @var array{return: int, stdout: string, stderr: string} ++ */ ++ private $defaultHandler = array('return' => 0, 'stdout' => '', 'stderr' => ''); ++ /** ++ * @var string[] ++ */ ++ private $log = array(); ++ ++ /** ++ * @param array<string|array{cmd: string, return?: int, stdout?: string, stderr?: string, callback?: callable}> $expectations ++ * @param bool $strict set to true if you want to provide *all* expected commands, and not just a subset you are interested in testing ++ * @param array{return: int, stdout?: string, stderr?: string} $defaultHandler default command handler for undefined commands if not in strict mode ++ * ++ * @return void ++ */ ++ public function expects(array $expectations, $strict = false, array $defaultHandler = array('return' => 0, 'stdout' => '', 'stderr' => '')) ++ { ++ $default = array('cmd' => '', 'return' => 0, 'stdout' => '', 'stderr' => '', 'callback' => null); ++ $this->expectations = array_map(function ($expect) use ($default) { ++ if (is_string($expect)) { ++ $expect = array('cmd' => $expect); ++ } elseif ($diff = array_diff_key(array_merge($default, $expect), $default)) { ++ throw new \UnexpectedValueException('Unexpected keys in process execution step: '.implode(', ', array_keys($diff))); ++ } ++ ++ return array_merge($default, $expect); ++ }, $expectations); ++ $this->strict = $strict; ++ $this->defaultHandler = array_merge($this->defaultHandler, $defaultHandler); ++ } ++ ++ /** @return void */ ++ public function assertComplete(TestCase $testCase) ++ { ++ if ($this->expectations) { ++ $expectations = array_map(function ($expect) { ++ return $expect['cmd']; ++ }, $this->expectations); ++ throw new AssertionFailedError( ++ 'There are still '.count($this->expectations).' expected process calls which have not been consumed:'.PHP_EOL. ++ implode(PHP_EOL, $expectations).PHP_EOL.PHP_EOL. ++ 'Received calls:'.PHP_EOL.implode(PHP_EOL, $this->log) ++ ); ++ } ++ ++ $testCase->assertTrue(true); ++ } ++ ++ public function execute($command, &$output = null, $cwd = null) ++ { ++ if (func_num_args() > 1) { ++ return $this->doExecute($command, $cwd, false, $output); ++ } ++ ++ return $this->doExecute($command, $cwd, false); ++ } ++ ++ public function executeTty($command, $cwd = null) ++ { ++ if (Platform::isTty()) { ++ return $this->doExecute($command, $cwd, true); ++ } ++ ++ return $this->doExecute($command, $cwd, false); ++ } ++ ++ /** ++ * @param string $command ++ * @param string $cwd ++ * @param bool $tty ++ * @param callable $output ++ * @return mixed ++ */ ++ private function doExecute($command, $cwd, $tty, &$output = null) ++ { ++ $this->captureOutput = func_num_args() > 3; ++ $this->errorOutput = ''; ++ ++ $callback = is_callable($output) ? $output : array($this, 'outputHandler'); ++ ++ $this->log[] = $command; ++ ++ if ($this->expectations && $command === $this->expectations[0]['cmd']) { ++ $expect = array_shift($this->expectations); ++ $stdout = $expect['stdout']; ++ $stderr = $expect['stderr']; ++ $return = $expect['return']; ++ if (isset($expect['callback'])) { ++ call_user_func($expect['callback']); ++ } ++ } elseif (!$this->strict) { ++ $stdout = $this->defaultHandler['stdout']; ++ $stderr = $this->defaultHandler['stderr']; ++ $return = $this->defaultHandler['return']; ++ } else { ++ throw new AssertionFailedError( ++ 'Received unexpected command "'.$command.'" in "'.$cwd.'"'.PHP_EOL. ++ ($this->expectations ? 'Expected "'.$this->expectations[0]['cmd'].'" at this point.' : 'Expected no more calls at this point.').PHP_EOL. ++ 'Received calls:'.PHP_EOL.implode(PHP_EOL, array_slice($this->log, 0, -1)) ++ ); ++ } ++ ++ if ($stdout) { ++ call_user_func($callback, Process::STDOUT, $stdout); ++ } ++ if ($stderr) { ++ call_user_func($callback, Process::ERR, $stderr); ++ } ++ ++ if ($this->captureOutput && !is_callable($output)) { ++ $output = $stdout; ++ } ++ ++ $this->errorOutput = $stderr; ++ ++ return $return; ++ } ++ ++ public function executeAsync($command, $cwd = null) ++ { ++ $resolver = function ($resolve, $reject) { ++ // TODO strictly speaking this should resolve with a mock Process instance here ++ $resolve(); ++ }; ++ ++ $canceler = function () { ++ throw new \RuntimeException('Aborted process'); ++ }; ++ ++ return new Promise($resolver, $canceler); ++ } ++ ++ public function getErrorOutput() ++ { ++ return $this->errorOutput; ++ } ++} diff --git a/debian/patches/series b/debian/patches/series index fe5b35053..e3c4bb6f7 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -7,3 +7,6 @@ 0007-Use-expectException-instead-of-setExpectedException.patch 0008-Compatibility-with-recent-PHPUnit-8.patch 0009-Merge-pull-request-from-GHSA-h5h8-pc6h-jvvx.patch +0010-Merge-pull-request-from-GHSA-x7cr-6qr6-2hh6.patch +0011-Update-GitHub-token-pattern.patch +0012-Checkout-ProcessExecutorMock.php-needed-for-updated-.patch
--- ../composer_2.0.9-2_all.deb +++ ../composer_2.0.9-2+deb11u1_all.deb ├── file list │ @@ -1,3 +1,3 @@ │ --rw-r--r-- 0 0 0 4 2021-04-27 22:20:52.000000 debian-binary │ --rw-r--r-- 0 0 0 9020 2021-04-27 22:20:52.000000 control.tar.xz │ --rw-r--r-- 0 0 0 398172 2021-04-27 22:20:52.000000 data.tar.xz │ +-rw-r--r-- 0 0 0 4 2022-05-29 09:55:56.000000 debian-binary │ +-rw-r--r-- 0 0 0 9028 2022-05-29 09:55:56.000000 control.tar.xz │ +-rw-r--r-- 0 0 0 398364 2022-05-29 09:55:56.000000 data.tar.xz ├── control.tar.xz │ ├── control.tar │ │ ├── file list │ │ │ @@ -1,3 +1,3 @@ │ │ │ -drwxr-xr-x 0 root (0) root (0) 0 2021-04-27 22:20:52.000000 ./ │ │ │ --rw-r--r-- 0 root (0) root (0) 1060 2021-04-27 22:20:52.000000 ./control │ │ │ --rw-r--r-- 0 root (0) root (0) 26748 2021-04-27 22:20:52.000000 ./md5sums │ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2022-05-29 09:55:56.000000 ./ │ │ │ +-rw-r--r-- 0 root (0) root (0) 1068 2022-05-29 09:55:56.000000 ./control │ │ │ +-rw-r--r-- 0 root (0) root (0) 26748 2022-05-29 09:55:56.000000 ./md5sums │ │ ├── ./control │ │ │ @@ -1,12 +1,12 @@ │ │ │ Package: composer │ │ │ -Version: 2.0.9-2 │ │ │ +Version: 2.0.9-2+deb11u1 │ │ │ Architecture: all │ │ │ Maintainer: Debian PHP PEAR Maintainers <pkg-php-p...@lists.alioth.debian.org> │ │ │ -Installed-Size: 2244 │ │ │ +Installed-Size: 2245 │ │ │ Depends: php-cli, php-common, php-composer-ca-bundle (>= 1.0), php-composer-ca-bundle (<< 2~~), php-composer-semver (>= 3.0), php-composer-semver (<< 4~~), php-composer-spdx-licenses (>= 1.2), php-composer-spdx-licenses (<< 2~~), php-composer-xdebug-handler (>= 1.1), php-composer-xdebug-handler (<< 2~~), php-json-schema (>= 5.2.10), php-json-schema (<< 6~~), php-psr-log (>= 1.0), php-psr-log (<< 2~~), jsonlint (>= 1.4), jsonlint (<< 2~~), php-symfony-console, php-symfony-filesystem, php-symfony-finder, php-symfony-process, php-react-promise │ │ │ Recommends: git, unzip │ │ │ Suggests: fossil, mercurial, subversion, php-zip │ │ │ Section: php │ │ │ Priority: optional │ │ │ Homepage: https://getcomposer.org/ │ │ │ Description: dependency manager for PHP │ │ ├── ./md5sums │ │ │ ├── ./md5sums │ │ │ │┄ Files differ ├── data.tar.xz │ ├── data.tar │ │ ├── file list │ │ │ @@ -1,79 +1,79 @@ │ │ │ -drwxr-xr-x 0 root (0) root (0) 0 2021-04-27 22:20:52.000000 ./ │ │ │ -drwxr-xr-x 0 root (0) root (0) 0 2021-04-27 22:20:52.000000 ./usr/ │ │ │ -drwxr-xr-x 0 root (0) root (0) 0 2021-04-27 22:20:52.000000 ./usr/bin/ │ │ │ --rwxr-xr-x 0 root (0) root (0) 1855 2021-04-27 22:20:52.000000 ./usr/bin/composer │ │ │ -drwxr-xr-x 0 root (0) root (0) 0 2021-04-27 22:20:52.000000 ./usr/share/ │ │ │ -drwxr-xr-x 0 root (0) root (0) 0 2021-04-27 22:20:52.000000 ./usr/share/doc/ │ │ │ -drwxr-xr-x 0 root (0) root (0) 0 2021-04-27 22:20:52.000000 ./usr/share/doc/composer/ │ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2022-05-29 09:55:56.000000 ./ │ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2022-05-29 09:55:56.000000 ./usr/ │ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2022-05-29 09:55:56.000000 ./usr/bin/ │ │ │ +-rwxr-xr-x 0 root (0) root (0) 1855 2022-05-29 09:55:56.000000 ./usr/bin/composer │ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2022-05-29 09:55:56.000000 ./usr/share/ │ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2022-05-29 09:55:56.000000 ./usr/share/doc/ │ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2022-05-29 09:55:56.000000 ./usr/share/doc/composer/ │ │ │ -rw-r--r-- 0 root (0) root (0) 2457 2021-01-27 15:09:27.000000 ./usr/share/doc/composer/00-intro.md.gz │ │ │ -rw-r--r-- 0 root (0) root (0) 4653 2021-01-27 15:09:27.000000 ./usr/share/doc/composer/01-basic-usage.md.gz │ │ │ -rw-r--r-- 0 root (0) root (0) 2292 2021-01-27 15:09:27.000000 ./usr/share/doc/composer/02-libraries.md.gz │ │ │ -rw-r--r-- 0 root (0) root (0) 12394 2021-01-27 15:09:27.000000 ./usr/share/doc/composer/03-cli.md.gz │ │ │ -rw-r--r-- 0 root (0) root (0) 10201 2021-01-27 15:09:27.000000 ./usr/share/doc/composer/04-schema.md.gz │ │ │ -rw-r--r-- 0 root (0) root (0) 7492 2021-01-27 15:09:27.000000 ./usr/share/doc/composer/05-repositories.md.gz │ │ │ -rw-r--r-- 0 root (0) root (0) 4687 2021-01-27 15:09:27.000000 ./usr/share/doc/composer/06-config.md.gz │ │ │ -rw-r--r-- 0 root (0) root (0) 1806 2021-01-27 15:09:27.000000 ./usr/share/doc/composer/07-runtime.md.gz │ │ │ -rw-r--r-- 0 root (0) root (0) 1323 2021-01-27 15:09:27.000000 ./usr/share/doc/composer/08-community.md │ │ │ -rw-r--r-- 0 root (0) root (0) 2262 2021-01-27 15:09:27.000000 ./usr/share/doc/composer/README.md │ │ │ -rw-r--r-- 0 root (0) root (0) 4411 2021-01-27 15:09:27.000000 ./usr/share/doc/composer/UPGRADE-2.0.md.gz │ │ │ -drwxr-xr-x 0 root (0) root (0) 0 2021-04-27 22:20:52.000000 ./usr/share/doc/composer/articles/ │ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2022-05-29 09:55:56.000000 ./usr/share/doc/composer/articles/ │ │ │ -rw-r--r-- 0 root (0) root (0) 3996 2021-01-27 15:09:27.000000 ./usr/share/doc/composer/articles/aliases.md │ │ │ -rw-r--r-- 0 root (0) root (0) 2795 2021-01-27 15:09:27.000000 ./usr/share/doc/composer/articles/authentication-for-private-packages.md.gz │ │ │ -rw-r--r-- 0 root (0) root (0) 1738 2021-01-27 15:09:27.000000 ./usr/share/doc/composer/articles/autoloader-optimization.md.gz │ │ │ -rw-r--r-- 0 root (0) root (0) 2442 2021-01-27 15:09:27.000000 ./usr/share/doc/composer/articles/custom-installers.md.gz │ │ │ -rw-r--r-- 0 root (0) root (0) 4358 2021-01-27 15:09:27.000000 ./usr/share/doc/composer/articles/handling-private-packages.md.gz │ │ │ -rw-r--r-- 0 root (0) root (0) 3746 2021-01-27 15:09:27.000000 ./usr/share/doc/composer/articles/plugins.md.gz │ │ │ -rw-r--r-- 0 root (0) root (0) 3215 2021-01-27 15:09:27.000000 ./usr/share/doc/composer/articles/repository-priorities.md │ │ │ -rw-r--r-- 0 root (0) root (0) 2966 2021-01-27 15:09:27.000000 ./usr/share/doc/composer/articles/resolving-merge-conflicts.md │ │ │ -rw-r--r-- 0 root (0) root (0) 4087 2021-01-27 15:09:27.000000 ./usr/share/doc/composer/articles/scripts.md.gz │ │ │ -rw-r--r-- 0 root (0) root (0) 5491 2021-01-27 15:09:27.000000 ./usr/share/doc/composer/articles/troubleshooting.md.gz │ │ │ -rw-r--r-- 0 root (0) root (0) 3401 2021-01-27 15:09:27.000000 ./usr/share/doc/composer/articles/vendor-binaries.md │ │ │ -rw-r--r-- 0 root (0) root (0) 4390 2021-01-27 15:09:27.000000 ./usr/share/doc/composer/articles/versions.md.gz │ │ │ --rw-r--r-- 0 root (0) root (0) 4415 2021-04-27 22:20:52.000000 ./usr/share/doc/composer/changelog.Debian.gz │ │ │ +-rw-r--r-- 0 root (0) root (0) 4529 2022-05-29 09:55:56.000000 ./usr/share/doc/composer/changelog.Debian.gz │ │ │ -rw-r--r-- 0 root (0) root (0) 22982 2021-01-27 15:09:27.000000 ./usr/share/doc/composer/changelog.gz │ │ │ --rw-r--r-- 0 root (0) root (0) 2919 2021-04-27 22:10:47.000000 ./usr/share/doc/composer/copyright │ │ │ +-rw-r--r-- 0 root (0) root (0) 2919 2022-05-29 09:00:09.000000 ./usr/share/doc/composer/copyright │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2021-01-27 15:09:27.000000 ./usr/share/doc/composer/dev/ │ │ │ -rw-r--r-- 0 root (0) root (0) 1280 2021-01-27 15:09:27.000000 ./usr/share/doc/composer/dev/DefaultPolicy.md │ │ │ -drwxr-xr-x 0 root (0) root (0) 0 2021-04-27 22:20:52.000000 ./usr/share/doc/composer/faqs/ │ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2022-05-29 09:55:56.000000 ./usr/share/doc/composer/faqs/ │ │ │ -rw-r--r-- 0 root (0) root (0) 2219 2021-01-27 15:09:27.000000 ./usr/share/doc/composer/faqs/how-do-i-install-a-package-to-a-custom-path-for-my-framework.md │ │ │ -rw-r--r-- 0 root (0) root (0) 1440 2021-01-27 15:09:27.000000 ./usr/share/doc/composer/faqs/how-to-install-composer-programmatically.md │ │ │ -rw-r--r-- 0 root (0) root (0) 938 2021-01-27 15:09:27.000000 ./usr/share/doc/composer/faqs/how-to-install-untrusted-packages-safely.md │ │ │ -rw-r--r-- 0 root (0) root (0) 1704 2021-01-27 15:09:27.000000 ./usr/share/doc/composer/faqs/should-i-commit-the-dependencies-in-my-vendor-directory.md │ │ │ -rw-r--r-- 0 root (0) root (0) 153 2021-01-27 15:09:27.000000 ./usr/share/doc/composer/faqs/which-version-numbering-system-does-composer-itself-use.md │ │ │ -rw-r--r-- 0 root (0) root (0) 1069 2021-01-27 15:09:27.000000 ./usr/share/doc/composer/faqs/why-are-unbound-version-constraints-a-bad-idea.md │ │ │ -rw-r--r-- 0 root (0) root (0) 989 2021-01-27 15:09:27.000000 ./usr/share/doc/composer/faqs/why-are-version-constraints-combining-comparisons-and-wildcards-a-bad-idea.md │ │ │ -rw-r--r-- 0 root (0) root (0) 2106 2021-01-27 15:09:27.000000 ./usr/share/doc/composer/faqs/why-can't-composer-load-repositories-recursively.md │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2021-01-27 15:09:27.000000 ./usr/share/doc/composer/fixtures/ │ │ │ -rw-r--r-- 0 root (0) root (0) 1012 2021-01-27 15:09:27.000000 ./usr/share/doc/composer/fixtures/fixtures.md │ │ │ -drwxr-xr-x 0 root (0) root (0) 0 2021-04-27 22:20:52.000000 ./usr/share/doc/composer/fixtures/repo-composer-plain/ │ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2022-05-29 09:55:56.000000 ./usr/share/doc/composer/fixtures/repo-composer-plain/ │ │ │ -rw-r--r-- 0 root (0) root (0) 582 2021-01-27 15:09:27.000000 ./usr/share/doc/composer/fixtures/repo-composer-plain/packages.json.gz │ │ │ -drwxr-xr-x 0 root (0) root (0) 0 2021-04-27 22:20:52.000000 ./usr/share/doc/composer/fixtures/repo-composer-with-providers/ │ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2022-05-29 09:55:56.000000 ./usr/share/doc/composer/fixtures/repo-composer-with-providers/ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2021-01-27 15:09:27.000000 ./usr/share/doc/composer/fixtures/repo-composer-with-providers/p/ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2021-01-27 15:09:27.000000 ./usr/share/doc/composer/fixtures/repo-composer-with-providers/p/bar/ │ │ │ -rw-r--r-- 0 root (0) root (0) 1656 2021-01-27 15:09:27.000000 ./usr/share/doc/composer/fixtures/repo-composer-with-providers/p/bar/baz$923363b3c22e73abb2e3fd891c8156dd4d0821a97fd3e428bc910833e3e46dbe.json │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2021-01-27 15:09:27.000000 ./usr/share/doc/composer/fixtures/repo-composer-with-providers/p/foo/ │ │ │ -rw-r--r-- 0 root (0) root (0) 2607 2021-01-27 15:09:27.000000 ./usr/share/doc/composer/fixtures/repo-composer-with-providers/p/foo/bar$4baabb3303afa3e34a4d3af18fb138e5f3b79029c1f8d9ab5b477ea15776ba0a.json │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2021-01-27 15:09:27.000000 ./usr/share/doc/composer/fixtures/repo-composer-with-providers/p/gar/ │ │ │ -rw-r--r-- 0 root (0) root (0) 1614 2021-01-27 15:09:27.000000 ./usr/share/doc/composer/fixtures/repo-composer-with-providers/p/gar/nix$5d210670cb46c8364c8e3fb449967b9bea558b971e5b082f330ae4f1d484c321.json │ │ │ -rw-r--r-- 0 root (0) root (0) 516 2021-01-27 15:09:27.000000 ./usr/share/doc/composer/fixtures/repo-composer-with-providers/p/provider-active$1893a061e579543822389ecd12d791c612db0c05e22d90e9286e233cacd86ed8.json │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2021-01-27 15:09:27.000000 ./usr/share/doc/composer/fixtures/repo-composer-with-providers/p/qux/ │ │ │ -rw-r--r-- 0 root (0) root (0) 632 2021-01-27 15:09:27.000000 ./usr/share/doc/composer/fixtures/repo-composer-with-providers/p/qux/quux$c142d1a07ca354be46b613f59f1d601923a5a00ccc5fcce50a77ecdd461eb72d.json │ │ │ -rw-r--r-- 0 root (0) root (0) 308 2021-01-27 15:09:27.000000 ./usr/share/doc/composer/fixtures/repo-composer-with-providers/packages.json │ │ │ -drwxr-xr-x 0 root (0) root (0) 0 2021-04-27 22:20:52.000000 ./usr/share/man/ │ │ │ -drwxr-xr-x 0 root (0) root (0) 0 2021-04-27 22:20:52.000000 ./usr/share/man/man1/ │ │ │ --rw-r--r-- 0 root (0) root (0) 1338 2021-04-27 22:20:52.000000 ./usr/share/man/man1/composer.1.gz │ │ │ -drwxr-xr-x 0 root (0) root (0) 0 2021-04-27 22:20:52.000000 ./usr/share/php/ │ │ │ -drwxr-xr-x 0 root (0) root (0) 0 2021-04-27 22:20:52.000000 ./usr/share/php/Composer/ │ │ │ -drwxr-xr-x 0 root (0) root (0) 0 2021-04-27 22:20:52.000000 ./usr/share/php/Composer/Autoload/ │ │ │ --rw-r--r-- 0 root (0) root (0) 45789 2021-04-27 22:20:52.000000 ./usr/share/php/Composer/Autoload/AutoloadGenerator.php │ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2022-05-29 09:55:56.000000 ./usr/share/man/ │ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2022-05-29 09:55:56.000000 ./usr/share/man/man1/ │ │ │ +-rw-r--r-- 0 root (0) root (0) 1338 2022-05-29 09:55:56.000000 ./usr/share/man/man1/composer.1.gz │ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2022-05-29 09:55:56.000000 ./usr/share/php/ │ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2022-05-29 09:55:56.000000 ./usr/share/php/Composer/ │ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2022-05-29 09:55:56.000000 ./usr/share/php/Composer/Autoload/ │ │ │ +-rw-r--r-- 0 root (0) root (0) 45789 2022-05-29 09:55:56.000000 ./usr/share/php/Composer/Autoload/AutoloadGenerator.php │ │ │ -rw-r--r-- 0 root (0) root (0) 14362 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Autoload/ClassLoader.php │ │ │ -rw-r--r-- 0 root (0) root (0) 13066 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Autoload/ClassMapGenerator.php │ │ │ -rw-r--r-- 0 root (0) root (0) 8329 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Cache.php │ │ │ -drwxr-xr-x 0 root (0) root (0) 0 2021-04-27 22:20:52.000000 ./usr/share/php/Composer/Command/ │ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2022-05-29 09:55:56.000000 ./usr/share/php/Composer/Command/ │ │ │ -rw-r--r-- 0 root (0) root (0) 1172 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Command/AboutCommand.php │ │ │ -rw-r--r-- 0 root (0) root (0) 7035 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Command/ArchiveCommand.php │ │ │ -rw-r--r-- 0 root (0) root (0) 6726 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Command/BaseCommand.php │ │ │ -rw-r--r-- 0 root (0) root (0) 9754 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Command/BaseDependencyCommand.php │ │ │ -rw-r--r-- 0 root (0) root (0) 7858 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Command/CheckPlatformReqsCommand.php │ │ │ -rw-r--r-- 0 root (0) root (0) 2225 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Command/ClearCacheCommand.php │ │ │ -rw-r--r-- 0 root (0) root (0) 32295 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Command/ConfigCommand.php │ │ │ @@ -98,30 +98,30 @@ │ │ │ -rw-r--r-- 0 root (0) root (0) 24328 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Command/SelfUpdateCommand.php │ │ │ -rw-r--r-- 0 root (0) root (0) 52650 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Command/ShowCommand.php │ │ │ -rw-r--r-- 0 root (0) root (0) 8589 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Command/StatusCommand.php │ │ │ -rw-r--r-- 0 root (0) root (0) 4047 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Command/SuggestsCommand.php │ │ │ -rw-r--r-- 0 root (0) root (0) 15981 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Command/UpdateCommand.php │ │ │ -rw-r--r-- 0 root (0) root (0) 7509 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Command/ValidateCommand.php │ │ │ -rw-r--r-- 0 root (0) root (0) 6814 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Composer.php │ │ │ -drwxr-xr-x 0 root (0) root (0) 0 2021-04-27 22:20:52.000000 ./usr/share/php/Composer/Config/ │ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2022-05-29 09:55:56.000000 ./usr/share/php/Composer/Config/ │ │ │ -rw-r--r-- 0 root (0) root (0) 2015 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Config/ConfigSourceInterface.php │ │ │ -rw-r--r-- 0 root (0) root (0) 10330 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Config/JsonConfigSource.php │ │ │ -rw-r--r-- 0 root (0) root (0) 17305 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Config.php │ │ │ -drwxr-xr-x 0 root (0) root (0) 0 2021-04-27 22:20:52.000000 ./usr/share/php/Composer/Console/ │ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2022-05-29 09:55:56.000000 ./usr/share/php/Composer/Console/ │ │ │ -rw-r--r-- 0 root (0) root (0) 22370 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Console/Application.php │ │ │ -rw-r--r-- 0 root (0) root (0) 1314 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Console/GithubActionError.php │ │ │ -rw-r--r-- 0 root (0) root (0) 2561 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Console/HtmlOutputFormatter.php │ │ │ -drwxr-xr-x 0 root (0) root (0) 0 2021-04-27 22:20:52.000000 ./usr/share/php/Composer/DependencyResolver/ │ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2022-05-29 09:55:56.000000 ./usr/share/php/Composer/DependencyResolver/ │ │ │ -rw-r--r-- 0 root (0) root (0) 5684 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/DependencyResolver/Decisions.php │ │ │ -rw-r--r-- 0 root (0) root (0) 7085 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/DependencyResolver/DefaultPolicy.php │ │ │ -rw-r--r-- 0 root (0) root (0) 2096 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/DependencyResolver/GenericRule.php │ │ │ -rw-r--r-- 0 root (0) root (0) 706 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/DependencyResolver/LocalRepoTransaction.php │ │ │ -rw-r--r-- 0 root (0) root (0) 4836 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/DependencyResolver/LockTransaction.php │ │ │ -rw-r--r-- 0 root (0) root (0) 2659 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/DependencyResolver/MultiConflictRule.php │ │ │ -drwxr-xr-x 0 root (0) root (0) 0 2021-04-27 22:20:52.000000 ./usr/share/php/Composer/DependencyResolver/Operation/ │ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2022-05-29 09:55:56.000000 ./usr/share/php/Composer/DependencyResolver/Operation/ │ │ │ -rw-r--r-- 0 root (0) root (0) 1283 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/DependencyResolver/Operation/InstallOperation.php │ │ │ -rw-r--r-- 0 root (0) root (0) 1289 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/DependencyResolver/Operation/MarkAliasInstalledOperation.php │ │ │ -rw-r--r-- 0 root (0) root (0) 1295 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/DependencyResolver/Operation/MarkAliasUninstalledOperation.php │ │ │ -rw-r--r-- 0 root (0) root (0) 915 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/DependencyResolver/Operation/OperationInterface.php │ │ │ -rw-r--r-- 0 root (0) root (0) 787 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/DependencyResolver/Operation/SolverOperation.php │ │ │ -rw-r--r-- 0 root (0) root (0) 1261 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/DependencyResolver/Operation/UninstallOperation.php │ │ │ -rw-r--r-- 0 root (0) root (0) 2833 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/DependencyResolver/Operation/UpdateOperation.php │ │ │ @@ -138,55 +138,55 @@ │ │ │ -rw-r--r-- 0 root (0) root (0) 1402 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/DependencyResolver/RuleWatchChain.php │ │ │ -rw-r--r-- 0 root (0) root (0) 6380 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/DependencyResolver/RuleWatchGraph.php │ │ │ -rw-r--r-- 0 root (0) root (0) 2826 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/DependencyResolver/RuleWatchNode.php │ │ │ -rw-r--r-- 0 root (0) root (0) 26565 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/DependencyResolver/Solver.php │ │ │ -rw-r--r-- 0 root (0) root (0) 766 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/DependencyResolver/SolverBugException.php │ │ │ -rw-r--r-- 0 root (0) root (0) 4479 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/DependencyResolver/SolverProblemsException.php │ │ │ -rw-r--r-- 0 root (0) root (0) 13484 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/DependencyResolver/Transaction.php │ │ │ -drwxr-xr-x 0 root (0) root (0) 0 2021-04-27 22:20:52.000000 ./usr/share/php/Composer/Downloader/ │ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2022-05-29 09:55:56.000000 ./usr/share/php/Composer/Downloader/ │ │ │ -rw-r--r-- 0 root (0) root (0) 5903 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Downloader/ArchiveDownloader.php │ │ │ -rw-r--r-- 0 root (0) root (0) 766 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Downloader/ChangeReportInterface.php │ │ │ -rw-r--r-- 0 root (0) root (0) 15599 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Downloader/DownloadManager.php │ │ │ -rw-r--r-- 0 root (0) root (0) 3775 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Downloader/DownloaderInterface.php │ │ │ -rw-r--r-- 0 root (0) root (0) 782 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Downloader/DvcsDownloaderInterface.php │ │ │ -rw-r--r-- 0 root (0) root (0) 16782 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Downloader/FileDownloader.php │ │ │ -rw-r--r-- 0 root (0) root (0) 672 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Downloader/FilesystemException.php │ │ │ --rw-r--r-- 0 root (0) root (0) 4140 2021-04-27 22:20:52.000000 ./usr/share/php/Composer/Downloader/FossilDownloader.php │ │ │ --rw-r--r-- 0 root (0) root (0) 23738 2021-04-27 22:20:52.000000 ./usr/share/php/Composer/Downloader/GitDownloader.php │ │ │ --rw-r--r-- 0 root (0) root (0) 1969 2021-04-27 22:20:52.000000 ./usr/share/php/Composer/Downloader/GzipDownloader.php │ │ │ --rw-r--r-- 0 root (0) root (0) 3179 2021-04-27 22:20:52.000000 ./usr/share/php/Composer/Downloader/HgDownloader.php │ │ │ +-rw-r--r-- 0 root (0) root (0) 4140 2022-05-29 09:55:56.000000 ./usr/share/php/Composer/Downloader/FossilDownloader.php │ │ │ +-rw-r--r-- 0 root (0) root (0) 23738 2022-05-29 09:55:56.000000 ./usr/share/php/Composer/Downloader/GitDownloader.php │ │ │ +-rw-r--r-- 0 root (0) root (0) 1969 2022-05-29 09:55:56.000000 ./usr/share/php/Composer/Downloader/GzipDownloader.php │ │ │ +-rw-r--r-- 0 root (0) root (0) 3179 2022-05-29 09:55:56.000000 ./usr/share/php/Composer/Downloader/HgDownloader.php │ │ │ -rw-r--r-- 0 root (0) root (0) 367 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Downloader/MaxFileSizeExceededException.php │ │ │ -rw-r--r-- 0 root (0) root (0) 9770 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Downloader/PathDownloader.php │ │ │ -rw-r--r-- 0 root (0) root (0) 2992 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Downloader/PerforceDownloader.php │ │ │ -rw-r--r-- 0 root (0) root (0) 1004 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Downloader/PharDownloader.php │ │ │ --rw-r--r-- 0 root (0) root (0) 2405 2021-04-27 22:20:52.000000 ./usr/share/php/Composer/Downloader/RarDownloader.php │ │ │ --rw-r--r-- 0 root (0) root (0) 8171 2021-04-27 22:20:52.000000 ./usr/share/php/Composer/Downloader/SvnDownloader.php │ │ │ +-rw-r--r-- 0 root (0) root (0) 2405 2022-05-29 09:55:56.000000 ./usr/share/php/Composer/Downloader/RarDownloader.php │ │ │ +-rw-r--r-- 0 root (0) root (0) 8171 2022-05-29 09:55:56.000000 ./usr/share/php/Composer/Downloader/SvnDownloader.php │ │ │ -rw-r--r-- 0 root (0) root (0) 764 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Downloader/TarDownloader.php │ │ │ -rw-r--r-- 0 root (0) root (0) 1337 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Downloader/TransportException.php │ │ │ -rw-r--r-- 0 root (0) root (0) 795 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Downloader/VcsCapableDownloaderInterface.php │ │ │ -rw-r--r-- 0 root (0) root (0) 12336 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Downloader/VcsDownloader.php │ │ │ -rw-r--r-- 0 root (0) root (0) 1001 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Downloader/XzDownloader.php │ │ │ -rw-r--r-- 0 root (0) root (0) 10718 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Downloader/ZipDownloader.php │ │ │ -drwxr-xr-x 0 root (0) root (0) 0 2021-04-27 22:20:52.000000 ./usr/share/php/Composer/EventDispatcher/ │ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2022-05-29 09:55:56.000000 ./usr/share/php/Composer/EventDispatcher/ │ │ │ -rw-r--r-- 0 root (0) root (0) 2150 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/EventDispatcher/Event.php │ │ │ -rw-r--r-- 0 root (0) root (0) 20608 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/EventDispatcher/EventDispatcher.php │ │ │ -rw-r--r-- 0 root (0) root (0) 1553 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/EventDispatcher/EventSubscriberInterface.php │ │ │ -rw-r--r-- 0 root (0) root (0) 422 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/EventDispatcher/ScriptExecutionException.php │ │ │ -drwxr-xr-x 0 root (0) root (0) 0 2021-04-27 22:20:52.000000 ./usr/share/php/Composer/Exception/ │ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2022-05-29 09:55:56.000000 ./usr/share/php/Composer/Exception/ │ │ │ -rw-r--r-- 0 root (0) root (0) 422 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Exception/IrrecoverableDownloadException.php │ │ │ -rw-r--r-- 0 root (0) root (0) 474 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Exception/NoSslException.php │ │ │ -rw-r--r-- 0 root (0) root (0) 26495 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Factory.php │ │ │ -drwxr-xr-x 0 root (0) root (0) 0 2021-04-27 22:20:52.000000 ./usr/share/php/Composer/IO/ │ │ │ --rw-r--r-- 0 root (0) root (0) 8428 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/IO/BaseIO.php │ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2022-05-29 09:55:56.000000 ./usr/share/php/Composer/IO/ │ │ │ +-rw-r--r-- 0 root (0) root (0) 8432 2022-05-29 09:55:56.000000 ./usr/share/php/Composer/IO/BaseIO.php │ │ │ -rw-r--r-- 0 root (0) root (0) 2604 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/IO/BufferIO.php │ │ │ -rw-r--r-- 0 root (0) root (0) 10973 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/IO/ConsoleIO.php │ │ │ -rw-r--r-- 0 root (0) root (0) 7609 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/IO/IOInterface.php │ │ │ -rw-r--r-- 0 root (0) root (0) 2311 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/IO/NullIO.php │ │ │ -rw-r--r-- 0 root (0) root (0) 9564 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/InstalledVersions.php │ │ │ -drwxr-xr-x 0 root (0) root (0) 0 2021-04-27 22:20:52.000000 ./usr/share/php/Composer/Installer/ │ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2022-05-29 09:55:56.000000 ./usr/share/php/Composer/Installer/ │ │ │ -rw-r--r-- 0 root (0) root (0) 7014 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Installer/BinaryInstaller.php │ │ │ -rw-r--r-- 0 root (0) root (0) 731 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Installer/BinaryPresenceInterface.php │ │ │ -rw-r--r-- 0 root (0) root (0) 22555 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Installer/InstallationManager.php │ │ │ -rw-r--r-- 0 root (0) root (0) 2040 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Installer/InstallerEvent.php │ │ │ -rw-r--r-- 0 root (0) root (0) 635 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Installer/InstallerEvents.php │ │ │ -rw-r--r-- 0 root (0) root (0) 4790 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Installer/InstallerInterface.php │ │ │ -rw-r--r-- 0 root (0) root (0) 10193 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Installer/LibraryInstaller.php │ │ │ @@ -194,22 +194,22 @@ │ │ │ -rw-r--r-- 0 root (0) root (0) 2602 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Installer/NoopInstaller.php │ │ │ -rw-r--r-- 0 root (0) root (0) 2637 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Installer/PackageEvent.php │ │ │ -rw-r--r-- 0 root (0) root (0) 2020 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Installer/PackageEvents.php │ │ │ -rw-r--r-- 0 root (0) root (0) 3851 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Installer/PluginInstaller.php │ │ │ -rw-r--r-- 0 root (0) root (0) 3354 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Installer/ProjectInstaller.php │ │ │ -rw-r--r-- 0 root (0) root (0) 8433 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Installer/SuggestedPackagesReporter.php │ │ │ -rw-r--r-- 0 root (0) root (0) 49009 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Installer.php │ │ │ -drwxr-xr-x 0 root (0) root (0) 0 2021-04-27 22:20:52.000000 ./usr/share/php/Composer/Json/ │ │ │ --rw-r--r-- 0 root (0) root (0) 10590 2021-04-27 22:20:52.000000 ./usr/share/php/Composer/Json/JsonFile.php │ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2022-05-29 09:55:56.000000 ./usr/share/php/Composer/Json/ │ │ │ +-rw-r--r-- 0 root (0) root (0) 10590 2022-05-29 09:55:56.000000 ./usr/share/php/Composer/Json/JsonFile.php │ │ │ -rw-r--r-- 0 root (0) root (0) 4513 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Json/JsonFormatter.php │ │ │ -rw-r--r-- 0 root (0) root (0) 20929 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Json/JsonManipulator.php │ │ │ -rw-r--r-- 0 root (0) root (0) 704 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Json/JsonValidationException.php │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Package/ │ │ │ -rw-r--r-- 0 root (0) root (0) 10520 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Package/AliasPackage.php │ │ │ -drwxr-xr-x 0 root (0) root (0) 0 2021-04-27 22:20:52.000000 ./usr/share/php/Composer/Package/Archiver/ │ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2022-05-29 09:55:56.000000 ./usr/share/php/Composer/Package/Archiver/ │ │ │ -rw-r--r-- 0 root (0) root (0) 990 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Package/Archiver/ArchivableFilesFilter.php │ │ │ -rw-r--r-- 0 root (0) root (0) 2899 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Package/Archiver/ArchivableFilesFinder.php │ │ │ -rw-r--r-- 0 root (0) root (0) 6837 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Package/Archiver/ArchiveManager.php │ │ │ -rw-r--r-- 0 root (0) root (0) 1271 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Package/Archiver/ArchiverInterface.php │ │ │ -rw-r--r-- 0 root (0) root (0) 3948 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Package/Archiver/BaseExcludeFilter.php │ │ │ -rw-r--r-- 0 root (0) root (0) 858 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Package/Archiver/ComposerExcludeFilter.php │ │ │ -rw-r--r-- 0 root (0) root (0) 2105 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Package/Archiver/GitExcludeFilter.php │ │ │ @@ -220,52 +220,52 @@ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Package/Comparer/ │ │ │ -rw-r--r-- 0 root (0) root (0) 3687 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Package/Comparer/Comparer.php │ │ │ -rw-r--r-- 0 root (0) root (0) 3961 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Package/CompletePackage.php │ │ │ -rw-r--r-- 0 root (0) root (0) 2488 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Package/CompletePackageInterface.php │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Package/Dumper/ │ │ │ -rw-r--r-- 0 root (0) root (0) 4944 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Package/Dumper/ArrayDumper.php │ │ │ -rw-r--r-- 0 root (0) root (0) 3634 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Package/Link.php │ │ │ -drwxr-xr-x 0 root (0) root (0) 0 2021-04-27 22:20:52.000000 ./usr/share/php/Composer/Package/Loader/ │ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2022-05-29 09:55:56.000000 ./usr/share/php/Composer/Package/Loader/ │ │ │ -rw-r--r-- 0 root (0) root (0) 14901 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Package/Loader/ArrayLoader.php │ │ │ -rw-r--r-- 0 root (0) root (0) 1001 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Package/Loader/InvalidPackageException.php │ │ │ -rw-r--r-- 0 root (0) root (0) 1363 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Package/Loader/JsonLoader.php │ │ │ -rw-r--r-- 0 root (0) root (0) 834 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Package/Loader/LoaderInterface.php │ │ │ -rw-r--r-- 0 root (0) root (0) 10031 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Package/Loader/RootPackageLoader.php │ │ │ -rw-r--r-- 0 root (0) root (0) 23735 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Package/Loader/ValidatingArrayLoader.php │ │ │ -rw-r--r-- 0 root (0) root (0) 16442 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Package/Locker.php │ │ │ -rw-r--r-- 0 root (0) root (0) 14178 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Package/Package.php │ │ │ -rw-r--r-- 0 root (0) root (0) 10845 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Package/PackageInterface.php │ │ │ -rw-r--r-- 0 root (0) root (0) 3686 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Package/RootAliasPackage.php │ │ │ -rw-r--r-- 0 root (0) root (0) 2688 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Package/RootPackage.php │ │ │ -rw-r--r-- 0 root (0) root (0) 3208 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Package/RootPackageInterface.php │ │ │ -drwxr-xr-x 0 root (0) root (0) 0 2021-04-27 22:20:52.000000 ./usr/share/php/Composer/Package/Version/ │ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2022-05-29 09:55:56.000000 ./usr/share/php/Composer/Package/Version/ │ │ │ -rw-r--r-- 0 root (0) root (0) 1823 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Package/Version/StabilityFilter.php │ │ │ -rw-r--r-- 0 root (0) root (0) 14469 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Package/Version/VersionGuesser.php │ │ │ -rw-r--r-- 0 root (0) root (0) 2883 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Package/Version/VersionParser.php │ │ │ -rw-r--r-- 0 root (0) root (0) 8003 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Package/Version/VersionSelector.php │ │ │ -drwxr-xr-x 0 root (0) root (0) 0 2021-04-27 22:20:52.000000 ./usr/share/php/Composer/Platform/ │ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2022-05-29 09:55:56.000000 ./usr/share/php/Composer/Platform/ │ │ │ -rw-r--r-- 0 root (0) root (0) 1870 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Platform/HhvmDetector.php │ │ │ -rw-r--r-- 0 root (0) root (0) 2284 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Platform/Runtime.php │ │ │ -rw-r--r-- 0 root (0) root (0) 2813 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Platform/Version.php │ │ │ -drwxr-xr-x 0 root (0) root (0) 0 2021-04-27 22:20:52.000000 ./usr/share/php/Composer/Plugin/ │ │ │ -drwxr-xr-x 0 root (0) root (0) 0 2021-04-27 22:20:52.000000 ./usr/share/php/Composer/Plugin/Capability/ │ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2022-05-29 09:55:56.000000 ./usr/share/php/Composer/Plugin/ │ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2022-05-29 09:55:56.000000 ./usr/share/php/Composer/Plugin/Capability/ │ │ │ -rw-r--r-- 0 root (0) root (0) 485 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Plugin/Capability/Capability.php │ │ │ -rw-r--r-- 0 root (0) root (0) 863 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Plugin/Capability/CommandProvider.php │ │ │ -rw-r--r-- 0 root (0) root (0) 1179 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Plugin/Capable.php │ │ │ -rw-r--r-- 0 root (0) root (0) 1965 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Plugin/CommandEvent.php │ │ │ -rw-r--r-- 0 root (0) root (0) 2087 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Plugin/PluginEvents.php │ │ │ -rw-r--r-- 0 root (0) root (0) 1709 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Plugin/PluginInterface.php │ │ │ -rw-r--r-- 0 root (0) root (0) 20572 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Plugin/PluginManager.php │ │ │ -rw-r--r-- 0 root (0) root (0) 2032 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Plugin/PostFileDownloadEvent.php │ │ │ -rw-r--r-- 0 root (0) root (0) 1357 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Plugin/PreCommandRunEvent.php │ │ │ -rw-r--r-- 0 root (0) root (0) 2864 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Plugin/PreFileDownloadEvent.php │ │ │ -rw-r--r-- 0 root (0) root (0) 3505 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Plugin/PrePoolCreateEvent.php │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Question/ │ │ │ -rw-r--r-- 0 root (0) root (0) 2667 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Question/StrictConfirmationQuestion.php │ │ │ -drwxr-xr-x 0 root (0) root (0) 0 2021-04-27 22:20:52.000000 ./usr/share/php/Composer/Repository/ │ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2022-05-29 09:55:56.000000 ./usr/share/php/Composer/Repository/ │ │ │ -rw-r--r-- 0 root (0) root (0) 8956 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Repository/ArrayRepository.php │ │ │ -rw-r--r-- 0 root (0) root (0) 4158 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Repository/ArtifactRepository.php │ │ │ -rw-r--r-- 0 root (0) root (0) 53547 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Repository/ComposerRepository.php │ │ │ -rw-r--r-- 0 root (0) root (0) 5363 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Repository/CompositeRepository.php │ │ │ -rw-r--r-- 0 root (0) root (0) 478 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Repository/ConfigurableRepositoryInterface.php │ │ │ -rw-r--r-- 0 root (0) root (0) 9313 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Repository/FilesystemRepository.php │ │ │ -rw-r--r-- 0 root (0) root (0) 5407 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Repository/FilterRepository.php │ │ │ @@ -281,49 +281,49 @@ │ │ │ -rw-r--r-- 0 root (0) root (0) 27845 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Repository/PlatformRepository.php │ │ │ -rw-r--r-- 0 root (0) root (0) 7321 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Repository/RepositoryFactory.php │ │ │ -rw-r--r-- 0 root (0) root (0) 4538 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Repository/RepositoryInterface.php │ │ │ -rw-r--r-- 0 root (0) root (0) 6159 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Repository/RepositoryManager.php │ │ │ -rw-r--r-- 0 root (0) root (0) 482 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Repository/RepositorySecurityException.php │ │ │ -rw-r--r-- 0 root (0) root (0) 10919 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Repository/RepositorySet.php │ │ │ -rw-r--r-- 0 root (0) root (0) 778 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Repository/RootPackageRepository.php │ │ │ -drwxr-xr-x 0 root (0) root (0) 0 2021-04-27 22:20:52.000000 ./usr/share/php/Composer/Repository/Vcs/ │ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2022-05-29 09:55:56.000000 ./usr/share/php/Composer/Repository/Vcs/ │ │ │ -rw-r--r-- 0 root (0) root (0) 13829 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Repository/Vcs/BitbucketDriver.php │ │ │ --rw-r--r-- 0 root (0) root (0) 7386 2021-04-27 22:20:52.000000 ./usr/share/php/Composer/Repository/Vcs/FossilDriver.php │ │ │ +-rw-r--r-- 0 root (0) root (0) 7386 2022-05-29 09:55:56.000000 ./usr/share/php/Composer/Repository/Vcs/FossilDriver.php │ │ │ -rw-r--r-- 0 root (0) root (0) 2378 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Repository/Vcs/GitBitbucketDriver.php │ │ │ --rw-r--r-- 0 root (0) root (0) 7337 2021-04-27 22:20:52.000000 ./usr/share/php/Composer/Repository/Vcs/GitDriver.php │ │ │ +-rw-r--r-- 0 root (0) root (0) 7570 2022-05-29 09:55:56.000000 ./usr/share/php/Composer/Repository/Vcs/GitDriver.php │ │ │ -rw-r--r-- 0 root (0) root (0) 20170 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Repository/Vcs/GitHubDriver.php │ │ │ -rw-r--r-- 0 root (0) root (0) 18164 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Repository/Vcs/GitLabDriver.php │ │ │ -rw-r--r-- 0 root (0) root (0) 2372 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Repository/Vcs/HgBitbucketDriver.php │ │ │ --rw-r--r-- 0 root (0) root (0) 6955 2021-04-27 22:20:52.000000 ./usr/share/php/Composer/Repository/Vcs/HgDriver.php │ │ │ +-rw-r--r-- 0 root (0) root (0) 7214 2022-05-29 09:55:56.000000 ./usr/share/php/Composer/Repository/Vcs/HgDriver.php │ │ │ -rw-r--r-- 0 root (0) root (0) 3855 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Repository/Vcs/PerforceDriver.php │ │ │ --rw-r--r-- 0 root (0) root (0) 12158 2021-04-27 22:20:52.000000 ./usr/share/php/Composer/Repository/Vcs/SvnDriver.php │ │ │ +-rw-r--r-- 0 root (0) root (0) 12158 2022-05-29 09:55:56.000000 ./usr/share/php/Composer/Repository/Vcs/SvnDriver.php │ │ │ -rw-r--r-- 0 root (0) root (0) 4803 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Repository/Vcs/VcsDriver.php │ │ │ -rw-r--r-- 0 root (0) root (0) 3231 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Repository/Vcs/VcsDriverInterface.php │ │ │ -rw-r--r-- 0 root (0) root (0) 18285 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Repository/VcsRepository.php │ │ │ -rw-r--r-- 0 root (0) root (0) 656 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Repository/VersionCacheInterface.php │ │ │ -rw-r--r-- 0 root (0) root (0) 1988 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Repository/WritableArrayRepository.php │ │ │ -rw-r--r-- 0 root (0) root (0) 1705 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Repository/WritableRepositoryInterface.php │ │ │ -drwxr-xr-x 0 root (0) root (0) 0 2021-04-27 22:20:52.000000 ./usr/share/php/Composer/Script/ │ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2022-05-29 09:55:56.000000 ./usr/share/php/Composer/Script/ │ │ │ -rw-r--r-- 0 root (0) root (0) 3014 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Script/Event.php │ │ │ -rw-r--r-- 0 root (0) root (0) 3623 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Script/ScriptEvents.php │ │ │ -drwxr-xr-x 0 root (0) root (0) 0 2021-04-27 22:20:52.000000 ./usr/share/php/Composer/SelfUpdate/ │ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2022-05-29 09:55:56.000000 ./usr/share/php/Composer/SelfUpdate/ │ │ │ -rw-r--r-- 0 root (0) root (0) 874 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/SelfUpdate/Keys.php │ │ │ -rw-r--r-- 0 root (0) root (0) 2586 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/SelfUpdate/Versions.php │ │ │ -drwxr-xr-x 0 root (0) root (0) 0 2021-04-27 22:20:52.000000 ./usr/share/php/Composer/Util/ │ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2022-05-29 09:55:56.000000 ./usr/share/php/Composer/Util/ │ │ │ -rw-r--r-- 0 root (0) root (0) 12318 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Util/AuthHelper.php │ │ │ -rw-r--r-- 0 root (0) root (0) 8618 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Util/Bitbucket.php │ │ │ -rw-r--r-- 0 root (0) root (0) 1787 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Util/ComposerMirror.php │ │ │ -rw-r--r-- 0 root (0) root (0) 8767 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Util/ConfigValidator.php │ │ │ -rw-r--r-- 0 root (0) root (0) 2371 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Util/ErrorHandler.php │ │ │ -rw-r--r-- 0 root (0) root (0) 24553 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Util/Filesystem.php │ │ │ --rw-r--r-- 0 root (0) root (0) 18378 2021-04-27 22:20:52.000000 ./usr/share/php/Composer/Util/Git.php │ │ │ +-rw-r--r-- 0 root (0) root (0) 18378 2022-05-29 09:55:56.000000 ./usr/share/php/Composer/Util/Git.php │ │ │ -rw-r--r-- 0 root (0) root (0) 6121 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Util/GitHub.php │ │ │ -rw-r--r-- 0 root (0) root (0) 7017 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Util/GitLab.php │ │ │ -rw-r--r-- 0 root (0) root (0) 2538 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Util/Hg.php │ │ │ -drwxr-xr-x 0 root (0) root (0) 0 2021-04-27 22:20:52.000000 ./usr/share/php/Composer/Util/Http/ │ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2022-05-29 09:55:56.000000 ./usr/share/php/Composer/Util/Http/ │ │ │ -rw-r--r-- 0 root (0) root (0) 22976 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Util/Http/CurlDownloader.php │ │ │ -rw-r--r-- 0 root (0) root (0) 687 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Util/Http/CurlResponse.php │ │ │ -rw-r--r-- 0 root (0) root (0) 5198 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Util/Http/ProxyHelper.php │ │ │ -rw-r--r-- 0 root (0) root (0) 4740 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Util/Http/ProxyManager.php │ │ │ -rw-r--r-- 0 root (0) root (0) 1903 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Util/Http/RequestProxy.php │ │ │ -rw-r--r-- 0 root (0) root (0) 2335 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Util/Http/Response.php │ │ │ -rw-r--r-- 0 root (0) root (0) 15357 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Util/HttpDownloader.php │ │ │ @@ -334,20 +334,20 @@ │ │ │ -rw-r--r-- 0 root (0) root (0) 2744 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Util/PackageSorter.php │ │ │ -rw-r--r-- 0 root (0) root (0) 17398 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Util/Perforce.php │ │ │ -rw-r--r-- 0 root (0) root (0) 3319 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Util/Platform.php │ │ │ -rw-r--r-- 0 root (0) root (0) 12956 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Util/ProcessExecutor.php │ │ │ -rw-r--r-- 0 root (0) root (0) 33094 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Util/RemoteFilesystem.php │ │ │ -rw-r--r-- 0 root (0) root (0) 2166 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Util/Silencer.php │ │ │ -rw-r--r-- 0 root (0) root (0) 9288 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Util/StreamContextFactory.php │ │ │ --rw-r--r-- 0 root (0) root (0) 10041 2021-04-27 22:20:52.000000 ./usr/share/php/Composer/Util/Svn.php │ │ │ +-rw-r--r-- 0 root (0) root (0) 10041 2022-05-29 09:55:56.000000 ./usr/share/php/Composer/Util/Svn.php │ │ │ -rw-r--r-- 0 root (0) root (0) 2469 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Util/SyncHelper.php │ │ │ -rw-r--r-- 0 root (0) root (0) 1880 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Util/Tar.php │ │ │ -rw-r--r-- 0 root (0) root (0) 6625 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Util/TlsHelper.php │ │ │ -rw-r--r-- 0 root (0) root (0) 5024 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Util/Url.php │ │ │ -rw-r--r-- 0 root (0) root (0) 3628 2021-01-27 15:09:27.000000 ./usr/share/php/Composer/Util/Zip.php │ │ │ --rw-r--r-- 0 root (0) root (0) 24534 2021-04-27 22:20:52.000000 ./usr/share/php/Composer/autoload.php │ │ │ -drwxr-xr-x 0 root (0) root (0) 0 2021-04-27 22:20:52.000000 ./usr/share/php/data/ │ │ │ -drwxr-xr-x 0 root (0) root (0) 0 2021-04-27 22:20:52.000000 ./usr/share/php/data/Composer/ │ │ │ --rw-r--r-- 0 root (0) root (0) 1068 2021-04-27 22:20:52.000000 ./usr/share/php/data/Composer/LICENSE │ │ │ -drwxr-xr-x 0 root (0) root (0) 0 2021-04-27 22:20:52.000000 ./usr/share/php/data/Composer/res/ │ │ │ +-rw-r--r-- 0 root (0) root (0) 24534 2022-05-29 09:55:56.000000 ./usr/share/php/Composer/autoload.php │ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2022-05-29 09:55:56.000000 ./usr/share/php/data/ │ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2022-05-29 09:55:56.000000 ./usr/share/php/data/Composer/ │ │ │ +-rw-r--r-- 0 root (0) root (0) 1068 2022-05-29 09:55:56.000000 ./usr/share/php/data/Composer/LICENSE │ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2022-05-29 09:55:56.000000 ./usr/share/php/data/Composer/res/ │ │ │ -rw-r--r-- 0 root (0) root (0) 4081 2021-01-27 15:09:27.000000 ./usr/share/php/data/Composer/res/composer-repository-schema.json │ │ │ -rw-r--r-- 0 root (0) root (0) 43775 2021-01-27 15:09:27.000000 ./usr/share/php/data/Composer/res/composer-schema.json │ │ ├── ./usr/share/doc/composer/changelog.Debian.gz │ │ │ ├── changelog.Debian │ │ │ │ @@ -1,7 +1,15 @@ │ │ │ │ +composer (2.0.9-2+deb11u1) bullseye; urgency=medium │ │ │ │ + │ │ │ │ + * Fix code injection vulnerability [CVE-2022-24828] (Closes: #1009960) │ │ │ │ + * Update GitHub token pattern (Closes: #989315) │ │ │ │ + * Checkout ProcessExecutorMock.php needed for updated tests │ │ │ │ + │ │ │ │ + -- David Prévot <taf...@debian.org> Sun, 29 May 2022 11:55:56 +0200 │ │ │ │ + │ │ │ │ composer (2.0.9-2) unstable; urgency=medium │ │ │ │ │ │ │ │ * Use debian/bullseye branch │ │ │ │ * Security: Fixed command injection vulnerability. │ │ │ │ Fix external process calls to avoid user input being able to pass extra │ │ │ │ parameters in HgDriver/HgDownloader and hardened other VCS drivers and │ │ │ │ downloaders (GHSA-h5h8-pc6h-jvvx) [CVE-2021-29472] │ │ ├── ./usr/share/man/man1/composer.1.gz │ │ │ ├── composer.1 │ │ │ │ @@ -1,9 +1,9 @@ │ │ │ │ -.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.48.3. │ │ │ │ -.TH COMPOSER "1" "April 2021" "composer 2.0.9" "User Commands" │ │ │ │ +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.48.1. │ │ │ │ +.TH COMPOSER "1" "May 2022" "composer 2.0.9" "User Commands" │ │ │ │ .SH NAME │ │ │ │ composer \- Composer command line interface │ │ │ │ .SH SYNOPSIS │ │ │ │ .B composer │ │ │ │ \fI\,command \/\fR[\fI\,options\/\fR] [\fI\,arguments\/\fR] │ │ │ │ .SH OPTIONS │ │ │ │ .TP │ │ ├── ./usr/share/php/Composer/IO/BaseIO.php │ │ │ @@ -120,15 +120,15 @@ │ │ │ // reload oauth tokens from config if available │ │ │ │ │ │ foreach ($bitbucketOauth as $domain => $cred) { │ │ │ $this->checkAndSetAuthentication($domain, $cred['consumer-key'], $cred['consumer-secret']); │ │ │ } │ │ │ │ │ │ foreach ($githubOauth as $domain => $token) { │ │ │ - if (!preg_match('{^[.a-z0-9]+$}', $token)) { │ │ │ + if (!preg_match('{^[.A-Za-z0-9_]+$}', $token)) { │ │ │ throw new \UnexpectedValueException('Your github oauth token for '.$domain.' contains invalid characters: "'.$token.'"'); │ │ │ } │ │ │ $this->checkAndSetAuthentication($domain, $token, 'x-oauth-basic'); │ │ │ } │ │ │ │ │ │ foreach ($gitlabOauth as $domain => $token) { │ │ │ $this->checkAndSetAuthentication($domain, $token, 'oauth2'); │ │ ├── ./usr/share/php/Composer/Repository/Vcs/GitDriver.php │ │ │ @@ -126,14 +126,18 @@ │ │ │ } │ │ │ │ │ │ /** │ │ │ * {@inheritdoc} │ │ │ */ │ │ │ public function getFileContent($file, $identifier) │ │ │ { │ │ │ + if (isset($identifier[0]) && $identifier[0] === '-') { │ │ │ + throw new \RuntimeException('Invalid git identifier detected. Identifier must not start with a -, given: ' . $identifier); │ │ │ + } │ │ │ + │ │ │ $resource = sprintf('%s:%s', ProcessExecutor::escape($identifier), ProcessExecutor::escape($file)); │ │ │ $this->process->execute(sprintf('git show %s', $resource), $content, $this->repoDir); │ │ │ │ │ │ if (!trim($content)) { │ │ │ return null; │ │ │ } │ │ │ │ │ │ @@ -179,15 +183,15 @@ │ │ │ { │ │ │ if (null === $this->branches) { │ │ │ $branches = array(); │ │ │ │ │ │ $this->process->execute('git branch --no-color --no-abbrev -v', $output, $this->repoDir); │ │ │ foreach ($this->process->splitLines($output) as $branch) { │ │ │ if ($branch && !preg_match('{^ *[^/]+/HEAD }', $branch)) { │ │ │ - if (preg_match('{^(?:\* )? *(\S+) *([a-f0-9]+)(?: .*)?$}', $branch, $match)) { │ │ │ + if (preg_match('{^(?:\* )? *(\S+) *([a-f0-9]+)(?: .*)?$}', $branch, $match) && $match[1][0] !== '-') { │ │ │ $branches[$match[1]] = $match[2]; │ │ │ } │ │ │ } │ │ │ } │ │ │ │ │ │ $this->branches = $branches; │ │ │ } │ │ ├── ./usr/share/php/Composer/Repository/Vcs/HgDriver.php │ │ │ @@ -117,15 +117,19 @@ │ │ │ } │ │ │ │ │ │ /** │ │ │ * {@inheritdoc} │ │ │ */ │ │ │ public function getFileContent($file, $identifier) │ │ │ { │ │ │ - $resource = sprintf('hg cat -r %s %s', ProcessExecutor::escape($identifier), ProcessExecutor::escape($file)); │ │ │ + if (isset($identifier[0]) && $identifier[0] === '-') { │ │ │ + throw new \RuntimeException('Invalid hg identifier detected. Identifier must not start with a -, given: ' . $identifier); │ │ │ + } │ │ │ + │ │ │ + $resource = sprintf('hg cat -r %s -- %s', ProcessExecutor::escape($identifier), ProcessExecutor::escape($file)); │ │ │ $this->process->execute($resource, $content, $this->repoDir); │ │ │ │ │ │ if (!trim($content)) { │ │ │ return; │ │ │ } │ │ │ │ │ │ return $content; │ │ │ @@ -177,22 +181,22 @@ │ │ │ { │ │ │ if (null === $this->branches) { │ │ │ $branches = array(); │ │ │ $bookmarks = array(); │ │ │ │ │ │ $this->process->execute('hg branches', $output, $this->repoDir); │ │ │ foreach ($this->process->splitLines($output) as $branch) { │ │ │ - if ($branch && preg_match('(^([^\s]+)\s+\d+:([a-f0-9]+))', $branch, $match)) { │ │ │ + if ($branch && preg_match('(^([^\s]+)\s+\d+:([a-f0-9]+))', $branch, $match) && $match[1][0] !== '-') { │ │ │ $branches[$match[1]] = $match[2]; │ │ │ } │ │ │ } │ │ │ │ │ │ $this->process->execute('hg bookmarks', $output, $this->repoDir); │ │ │ foreach ($this->process->splitLines($output) as $branch) { │ │ │ - if ($branch && preg_match('(^(?:[\s*]*)([^\s]+)\s+\d+:(.*)$)', $branch, $match)) { │ │ │ + if ($branch && preg_match('(^(?:[\s*]*)([^\s]+)\s+\d+:(.*)$)', $branch, $match) && $match[1][0] !== '-') { │ │ │ $bookmarks[$match[1]] = $match[2]; │ │ │ } │ │ │ } │ │ │ │ │ │ // Branches will have preference over bookmarks │ │ │ $this->branches = array_merge($bookmarks, $branches); │ │ │ }
signature.asc
Description: PGP signature