--- Begin Message ---
Package: release.debian.org
Severity: normal
Tags: buster
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), as
well as #955485, and the fixes are trivial, so I’m proposing a fix for
them too.
[ Impact ]
The security fix is worth it, the GitHub token related fixes are useful
for people using this feature.
[ Tests ]
Unfortunately, the testsuite had been removed upstream from the tarball,
and I didn’t dig it up from the upstream Git repository in time for
Bullseye (so the two new test files pulled with the security fixes are
useless no-ops). Yet the fixes are identical to the Bullseye version…
[ 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 3c18e45c9..cc4c1c979 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,12 @@
+composer (1.8.4-1+deb10u2) buster; urgency=medium
+
+ * Fix code injection vulnerability [CVE-2022-24828] (Closes: #1009960)
+ * Update GitHub token pattern (Closes: #989315)
+ * Use Authorization header instead of deprecated access_token query param
+ (Closes: #955485)
+
+ -- David Prévot <taf...@debian.org> Sat, 28 May 2022 18:18:24 +0200
+
composer (1.8.4-1+deb10u1) buster-security; urgency=high
* Use debian/buster branch
diff --git a/debian/patches/0006-Merge-pull-request-from-GHSA-x7cr-6qr6-2hh6.patch b/debian/patches/0006-Merge-pull-request-from-GHSA-x7cr-6qr6-2hh6.patch
new file mode 100644
index 000000000..34709659c
--- /dev/null
+++ b/debian/patches/0006-Merge-pull-request-from-GHSA-x7cr-6qr6-2hh6.patch
@@ -0,0 +1,306 @@
+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: origin, https://github.com/composer/composer/commit/c33aafaa04114e4f20104cb4bff050f31abc6178
+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 | 88 +++++++++++++++
+ .../Composer/Test/Repository/Vcs/HgDriverTest.php | 124 +++++++++++++++++++++
+ 4 files changed, 224 insertions(+), 4 deletions(-)
+ create mode 100644 tests/Composer/Test/Repository/Vcs/GitDriverTest.php
+ create mode 100644 tests/Composer/Test/Repository/Vcs/HgDriverTest.php
+
+diff --git a/src/Composer/Repository/Vcs/GitDriver.php b/src/Composer/Repository/Vcs/GitDriver.php
+index c97f7bc..032afc8 100644
+--- a/src/Composer/Repository/Vcs/GitDriver.php
++++ b/src/Composer/Repository/Vcs/GitDriver.php
+@@ -123,6 +123,10 @@ public function getDist($identifier)
+ */
+ 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);
+
+@@ -176,7 +180,7 @@ public function getBranches()
+ $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 335135f..7fb94e5 100644
+--- a/src/Composer/Repository/Vcs/HgDriver.php
++++ b/src/Composer/Repository/Vcs/HgDriver.php
+@@ -116,7 +116,11 @@ public function getDist($identifier)
+ */
+ 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)) {
+@@ -176,14 +180,14 @@ public function getBranches()
+
+ $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..429dc2b
+--- /dev/null
++++ b/tests/Composer/Test/Repository/Vcs/GitDriverTest.php
+@@ -0,0 +1,88 @@
++<?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()
++ {
++ $this->home = self::getUniqueTmpDirectory();
++ $this->config = new Config();
++ $this->config->merge(array(
++ 'config' => array(
++ 'home' => $this->home,
++ ),
++ ));
++ }
++
++ public function testGetBranchesFilterInvalidBranchNames()
++ {
++ $process = $this->getMockBuilder('Composer\Util\ProcessExecutor')->getMock();
++ $process->expects($this->any())
++ ->method('execute')
++ ->will($this->returnValue(0));
++ $io = $this->getMockBuilder('Composer\IO\IOInterface')->getMock();
++
++ $driver = new GitDriver(array('url' => 'https://example.org/acme.git'), $io, $this->config, $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($this->at(0))
++ ->method('execute')
++ ->with('git branch --no-color --no-abbrev -v');
++ $process->expects($this->at(1))
++ ->method('splitLines')
++ ->will($this->returnValue(preg_split('{\r?\n}', trim($stdout))));
++
++ $branches = $driver->getBranches();
++ $this->assertSame(array(
++ 'main' => '089681446ba44d6d9004350192486f2ceb4eaa06',
++ '2.2' => '12681446ba44d6d9004350192486f2ceb4eaa06',
++ ), $branches);
++ }
++
++ public function testFileGetContentInvalidIdentifier()
++ {
++ $this->setExpectedException('\RuntimeException');
++
++ $process = $this->getMockBuilder('Composer\Util\ProcessExecutor')->getMock();
++ $process->expects($this->any())
++ ->method('execute')
++ ->will($this->returnValue(0));
++ $io = $this->getMockBuilder('Composer\IO\IOInterface')->getMock();
++ $driver = new GitDriver(array('url' => 'https://example.org/acme.git'), $io, $this->config, $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
+new file mode 100644
+index 0000000..143f582
+--- /dev/null
++++ b/tests/Composer/Test/Repository/Vcs/HgDriverTest.php
+@@ -0,0 +1,124 @@
++<?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\Repository\Vcs;
++
++use Composer\Repository\Vcs\HgDriver;
++use Composer\Test\Mock\ProcessExecutorMock;
++use Composer\Test\TestCase;
++use Composer\Util\Filesystem;
++use Composer\Config;
++use Composer\Util\ProcessExecutor;
++
++class HgDriverTest extends TestCase
++{
++ /** @type \Composer\IO\IOInterface|\PHPUnit_Framework_MockObject_MockObject */
++ private $io;
++ /** @type Config */
++ private $config;
++ /** @type string */
++ private $home;
++
++ public function setUp()
++ {
++ $this->io = $this->getMockBuilder('Composer\IO\IOInterface')->getMock();
++ $this->home = $this->getUniqueTmpDirectory();
++ $this->config = new Config();
++ $this->config->merge(array(
++ 'config' => array(
++ 'home' => $this->home,
++ ),
++ ));
++ }
++
++ public function tearDown()
++ {
++ $fs = new Filesystem;
++ $fs->removeDirectory($this->home);
++ }
++
++ /**
++ * @dataProvider supportsDataProvider
++ */
++ public function testSupports($repositoryUrl)
++ {
++ $this->assertTrue(
++ HgDriver::supports($this->io, $this->config, $repositoryUrl)
++ );
++ }
++
++ public function supportsDataProvider()
++ {
++ return array(
++ array('ssh://bitbucket.org/user/repo'),
++ array('ssh://h...@bitbucket.org/user/repo'),
++ array('ssh://u...@bitbucket.org/user/repo'),
++ array('https://bitbucket.org/user/repo'),
++ array('https://u...@bitbucket.org/user/repo'),
++ );
++ }
++
++ public function testGetBranchesFilterInvalidBranchNames()
++ {
++ $process = $this->getMockBuilder('Composer\Util\ProcessExecutor')->getMock();
++ $process->expects($this->any())
++ ->method('execute')
++ ->will($this->returnValue(0));
++
++ $driver = new HgDriver(array('url' => 'https://example.org/acme.git'), $this->io, $this->config, $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($this->at(0))
++ ->method('execute')
++ ->with('hg branches');
++ $process->expects($this->at(1))
++ ->method('splitLines')
++ ->will($this->returnValue(preg_split('{\r?\n}', trim($stdout))));
++ $process->expects($this->at(2))
++ ->method('execute')
++ ->with('hg bookmarks');
++ $process->expects($this->at(3))
++ ->method('splitLines')
++ ->will($this->returnValue(preg_split('{\r?\n}', trim($stdout1))));
++
++ $branches = $driver->getBranches();
++ $this->assertSame(array(
++ 'help' => 'dbf6c8acb641',
++ 'default' => 'dbf6c8acb640',
++ ), $branches);
++ }
++
++ public function testFileGetContentInvalidIdentifier()
++ {
++ $this->setExpectedException('\RuntimeException');
++
++ $process = $this->getMockBuilder('Composer\Util\ProcessExecutor')->getMock();
++ $process->expects($this->any())
++ ->method('execute')
++ ->will($this->returnValue(0));
++ $driver = new HgDriver(array('url' => 'https://example.org/acme.git'), $this->io, $this->config, $process);
++
++ $this->assertNull($driver->getFileContent('file.txt', 'h'));
++
++ $driver->getFileContent('file.txt', '-h');
++ }
++}
diff --git a/debian/patches/0007-Update-GitHub-token-pattern.patch b/debian/patches/0007-Update-GitHub-token-pattern.patch
new file mode 100644
index 000000000..a0e15e9ab
--- /dev/null
+++ b/debian/patches/0007-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 b327f1b..8fa9686 100644
+--- a/src/Composer/IO/BaseIO.php
++++ b/src/Composer/IO/BaseIO.php
+@@ -100,7 +100,7 @@ public function loadConfiguration(Config $config)
+ }
+
+ 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/0008-Use-Authorization-header-instead-of-deprecated-acces.patch b/debian/patches/0008-Use-Authorization-header-instead-of-deprecated-acces.patch
new file mode 100644
index 000000000..376e8e8c8
--- /dev/null
+++ b/debian/patches/0008-Use-Authorization-header-instead-of-deprecated-acces.patch
@@ -0,0 +1,24 @@
+From: Jordi Boggiano <j.boggi...@seld.be>
+Date: Tue, 14 Jan 2020 15:35:52 +0100
+Subject: Use Authorization header instead of deprecated access_token query
+ param, fixes #8454
+
+Origin: upstream, https://github.com/composer/composer/commit/4b6c25d4bc33d49097320e29e6e5705b12e9d6ef
+Bug-Debian: https://bugs.debian.org/955485
+---
+ src/Composer/Util/RemoteFilesystem.php | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/Composer/Util/RemoteFilesystem.php b/src/Composer/Util/RemoteFilesystem.php
+index ea18a9e..2934b35 100644
+--- a/src/Composer/Util/RemoteFilesystem.php
++++ b/src/Composer/Util/RemoteFilesystem.php
+@@ -274,7 +274,7 @@ protected function get($originUrl, $fileUrl, $additionalOptions = array(), $file
+ if (isset($options['github-token'])) {
+ // only add the access_token if it is actually a github URL (in case we were redirected to S3)
+ if (preg_match('{^https?://([a-z0-9-]+\.)*github\.com/}', $fileUrl)) {
+- $fileUrl .= (false === strpos($fileUrl, '?') ? '?' : '&') . 'access_token='.$options['github-token'];
++ $options['http']['header'][] = 'Authorization: token '.$options['github-token'];
+ }
+ unset($options['github-token']);
+ }
diff --git a/debian/patches/series b/debian/patches/series
index 429e4086a..701bbfa09 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -3,3 +3,6 @@
0003-Mimic-distribution-path-for-tests-and-help2man.patch
0005-Pick-up-copyright-instead-of-LICENSE.patch
0005-Merge-pull-request-from-GHSA-h5h8-pc6h-jvvx.patch
+0006-Merge-pull-request-from-GHSA-x7cr-6qr6-2hh6.patch
+0007-Update-GitHub-token-pattern.patch
+0008-Use-Authorization-header-instead-of-deprecated-acces.patch
--- ../composer_1.8.4-1+deb10u1_all.deb
+++ ../composer_1.8.4-1+deb10u2_all.deb
├── file list
│ @@ -1,3 +1,3 @@
│ --rw-r--r-- 0 0 0 4 2021-04-27 22:47:26.000000 debian-binary
│ --rw-r--r-- 0 0 0 8596 2021-04-27 22:47:26.000000 control.tar.xz
│ --rw-r--r-- 0 0 0 327980 2021-04-27 22:47:26.000000 data.tar.xz
│ +-rw-r--r-- 0 0 0 4 2022-05-28 16:18:24.000000 debian-binary
│ +-rw-r--r-- 0 0 0 8592 2022-05-28 16:18:24.000000 control.tar.xz
│ +-rw-r--r-- 0 0 0 328204 2022-05-28 16:18:24.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:47:26.000000 ./
│ │ │ --rw-r--r-- 0 root (0) root (0) 1048 2021-04-27 22:47:26.000000 ./control
│ │ │ --rw-r--r-- 0 root (0) root (0) 25631 2021-04-27 22:47:26.000000 ./md5sums
│ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2022-05-28 16:18:24.000000 ./
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1048 2022-05-28 16:18:24.000000 ./control
│ │ │ +-rw-r--r-- 0 root (0) root (0) 25631 2022-05-28 16:18:24.000000 ./md5sums
│ │ ├── ./control
│ │ │ @@ -1,9 +1,9 @@
│ │ │ Package: composer
│ │ │ -Version: 1.8.4-1+deb10u1
│ │ │ +Version: 1.8.4-1+deb10u2
│ │ │ Architecture: all
│ │ │ Maintainer: Debian PHP PEAR Maintainers <pkg-php-p...@lists.alioth.debian.org>
│ │ │ Installed-Size: 1883
│ │ │ Depends: php-cli, php-common, php-composer-ca-bundle (>= 1.0), php-composer-ca-bundle (<< 2~~), php-composer-semver (>= 1.0), php-composer-semver (<< 2~~), 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, 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
│ │ │ Recommends: git, unzip
│ │ │ Suggests: fossil, mercurial, subversion, php-zip
│ │ │ Breaks: php-symfony-console (= 2.8.38)
│ │ ├── ./md5sums
│ │ │ ├── ./md5sums
│ │ │ │┄ Files differ
├── data.tar.xz
│ ├── data.tar
│ │ ├── file list
│ │ │ @@ -1,75 +1,75 @@
│ │ │ -drwxr-xr-x 0 root (0) root (0) 0 2021-04-27 22:47:26.000000 ./
│ │ │ -drwxr-xr-x 0 root (0) root (0) 0 2021-04-27 22:47:26.000000 ./usr/
│ │ │ -drwxr-xr-x 0 root (0) root (0) 0 2021-04-27 22:47:26.000000 ./usr/bin/
│ │ │ --rwxr-xr-x 0 root (0) root (0) 1555 2021-04-27 22:47:26.000000 ./usr/bin/composer
│ │ │ -drwxr-xr-x 0 root (0) root (0) 0 2021-04-27 22:47:26.000000 ./usr/share/
│ │ │ -drwxr-xr-x 0 root (0) root (0) 0 2021-04-27 22:47:26.000000 ./usr/share/doc/
│ │ │ -drwxr-xr-x 0 root (0) root (0) 0 2021-04-27 22:47:26.000000 ./usr/share/doc/composer/
│ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2022-05-28 16:18:24.000000 ./
│ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2022-05-28 16:18:24.000000 ./usr/
│ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2022-05-28 16:18:24.000000 ./usr/bin/
│ │ │ +-rwxr-xr-x 0 root (0) root (0) 1555 2022-05-28 16:18:24.000000 ./usr/bin/composer
│ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2022-05-28 16:18:24.000000 ./usr/share/
│ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2022-05-28 16:18:24.000000 ./usr/share/doc/
│ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2022-05-28 16:18:24.000000 ./usr/share/doc/composer/
│ │ │ -rw-r--r-- 0 root (0) root (0) 2392 2019-02-11 09:52:10.000000 ./usr/share/doc/composer/00-intro.md.gz
│ │ │ -rw-r--r-- 0 root (0) root (0) 4547 2019-02-11 09:52:10.000000 ./usr/share/doc/composer/01-basic-usage.md.gz
│ │ │ -rw-r--r-- 0 root (0) root (0) 2311 2019-02-11 09:52:10.000000 ./usr/share/doc/composer/02-libraries.md.gz
│ │ │ -rw-r--r-- 0 root (0) root (0) 10889 2019-02-11 09:52:10.000000 ./usr/share/doc/composer/03-cli.md.gz
│ │ │ -rw-r--r-- 0 root (0) root (0) 9626 2019-02-11 09:52:10.000000 ./usr/share/doc/composer/04-schema.md.gz
│ │ │ -rw-r--r-- 0 root (0) root (0) 8213 2019-02-11 09:52:10.000000 ./usr/share/doc/composer/05-repositories.md.gz
│ │ │ -rw-r--r-- 0 root (0) root (0) 3891 2019-02-11 09:52:10.000000 ./usr/share/doc/composer/06-config.md.gz
│ │ │ -rw-r--r-- 0 root (0) root (0) 1321 2019-02-11 09:52:10.000000 ./usr/share/doc/composer/07-community.md
│ │ │ -rw-r--r-- 0 root (0) root (0) 2185 2019-02-11 09:52:10.000000 ./usr/share/doc/composer/README.md
│ │ │ -drwxr-xr-x 0 root (0) root (0) 0 2021-04-27 22:47:26.000000 ./usr/share/doc/composer/articles/
│ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2022-05-28 16:18:24.000000 ./usr/share/doc/composer/articles/
│ │ │ -rw-r--r-- 0 root (0) root (0) 3882 2019-02-11 09:52:10.000000 ./usr/share/doc/composer/articles/aliases.md
│ │ │ -rw-r--r-- 0 root (0) root (0) 1750 2019-02-11 09:52:10.000000 ./usr/share/doc/composer/articles/autoloader-optimization.md.gz
│ │ │ -rw-r--r-- 0 root (0) root (0) 2423 2019-02-11 09:52:10.000000 ./usr/share/doc/composer/articles/custom-installers.md.gz
│ │ │ -rw-r--r-- 0 root (0) root (0) 4600 2019-02-11 09:52:10.000000 ./usr/share/doc/composer/articles/handling-private-packages-with-satis.md.gz
│ │ │ -rw-r--r-- 0 root (0) root (0) 1875 2019-02-11 09:52:10.000000 ./usr/share/doc/composer/articles/http-basic-authentication.md
│ │ │ -rw-r--r-- 0 root (0) root (0) 2999 2019-02-11 09:52:10.000000 ./usr/share/doc/composer/articles/plugins.md.gz
│ │ │ -rw-r--r-- 0 root (0) root (0) 3303 2019-02-11 09:52:10.000000 ./usr/share/doc/composer/articles/scripts.md.gz
│ │ │ -rw-r--r-- 0 root (0) root (0) 5348 2019-02-11 09:52:10.000000 ./usr/share/doc/composer/articles/troubleshooting.md.gz
│ │ │ -rw-r--r-- 0 root (0) root (0) 3401 2019-02-11 09:52:10.000000 ./usr/share/doc/composer/articles/vendor-binaries.md
│ │ │ -rw-r--r-- 0 root (0) root (0) 4144 2019-02-11 09:52:10.000000 ./usr/share/doc/composer/articles/versions.md.gz
│ │ │ --rw-r--r-- 0 root (0) root (0) 3280 2021-04-27 22:47:26.000000 ./usr/share/doc/composer/changelog.Debian.gz
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3390 2022-05-28 16:18:24.000000 ./usr/share/doc/composer/changelog.Debian.gz
│ │ │ -rw-r--r-- 0 root (0) root (0) 15823 2019-02-11 09:52:10.000000 ./usr/share/doc/composer/changelog.gz
│ │ │ --rw-r--r-- 0 root (0) root (0) 2919 2021-04-27 22:47:26.000000 ./usr/share/doc/composer/copyright
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2919 2022-05-28 15:10:54.000000 ./usr/share/doc/composer/copyright
│ │ │ drwxr-xr-x 0 root (0) root (0) 0 2019-02-11 09:52:10.000000 ./usr/share/doc/composer/dev/
│ │ │ -rw-r--r-- 0 root (0) root (0) 1280 2019-02-11 09:52:10.000000 ./usr/share/doc/composer/dev/DefaultPolicy.md
│ │ │ -drwxr-xr-x 0 root (0) root (0) 0 2021-04-27 22:47:26.000000 ./usr/share/doc/composer/faqs/
│ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2022-05-28 16:18:24.000000 ./usr/share/doc/composer/faqs/
│ │ │ -rw-r--r-- 0 root (0) root (0) 1836 2019-02-11 09:52:10.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) 1425 2019-02-11 09:52:10.000000 ./usr/share/doc/composer/faqs/how-to-install-composer-programmatically.md
│ │ │ -rw-r--r-- 0 root (0) root (0) 938 2019-02-11 09:52:10.000000 ./usr/share/doc/composer/faqs/how-to-install-untrusted-packages-safely.md
│ │ │ -rw-r--r-- 0 root (0) root (0) 1704 2019-02-11 09:52:10.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 2019-02-11 09:52:10.000000 ./usr/share/doc/composer/faqs/which-version-numbering-system-does-composer-itself-use.md
│ │ │ -rw-r--r-- 0 root (0) root (0) 1087 2019-02-11 09:52:10.000000 ./usr/share/doc/composer/faqs/why-are-unbound-version-constraints-a-bad-idea.md
│ │ │ -rw-r--r-- 0 root (0) root (0) 993 2019-02-11 09:52:10.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) 2111 2019-02-11 09:52:10.000000 ./usr/share/doc/composer/faqs/why-can't-composer-load-repositories-recursively.md
│ │ │ drwxr-xr-x 0 root (0) root (0) 0 2019-02-11 09:52:10.000000 ./usr/share/doc/composer/fixtures/
│ │ │ -rw-r--r-- 0 root (0) root (0) 982 2019-02-11 09:52:10.000000 ./usr/share/doc/composer/fixtures/fixtures.md
│ │ │ -drwxr-xr-x 0 root (0) root (0) 0 2021-04-27 22:47:26.000000 ./usr/share/doc/composer/fixtures/repo-composer-plain/
│ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2022-05-28 16:18:24.000000 ./usr/share/doc/composer/fixtures/repo-composer-plain/
│ │ │ -rw-r--r-- 0 root (0) root (0) 582 2019-02-11 09:52:10.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:47:26.000000 ./usr/share/doc/composer/fixtures/repo-composer-with-providers/
│ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2022-05-28 16:18:24.000000 ./usr/share/doc/composer/fixtures/repo-composer-with-providers/
│ │ │ drwxr-xr-x 0 root (0) root (0) 0 2019-02-11 09:52:10.000000 ./usr/share/doc/composer/fixtures/repo-composer-with-providers/p/
│ │ │ drwxr-xr-x 0 root (0) root (0) 0 2019-02-11 09:52:10.000000 ./usr/share/doc/composer/fixtures/repo-composer-with-providers/p/bar/
│ │ │ -rw-r--r-- 0 root (0) root (0) 1656 2019-02-11 09:52:10.000000 ./usr/share/doc/composer/fixtures/repo-composer-with-providers/p/bar/baz$923363b3c22e73abb2e3fd891c8156dd4d0821a97fd3e428bc910833e3e46dbe.json
│ │ │ drwxr-xr-x 0 root (0) root (0) 0 2019-02-11 09:52:10.000000 ./usr/share/doc/composer/fixtures/repo-composer-with-providers/p/foo/
│ │ │ -rw-r--r-- 0 root (0) root (0) 2607 2019-02-11 09:52:10.000000 ./usr/share/doc/composer/fixtures/repo-composer-with-providers/p/foo/bar$4baabb3303afa3e34a4d3af18fb138e5f3b79029c1f8d9ab5b477ea15776ba0a.json
│ │ │ drwxr-xr-x 0 root (0) root (0) 0 2019-02-11 09:52:10.000000 ./usr/share/doc/composer/fixtures/repo-composer-with-providers/p/gar/
│ │ │ -rw-r--r-- 0 root (0) root (0) 1614 2019-02-11 09:52:10.000000 ./usr/share/doc/composer/fixtures/repo-composer-with-providers/p/gar/nix$5d210670cb46c8364c8e3fb449967b9bea558b971e5b082f330ae4f1d484c321.json
│ │ │ -rw-r--r-- 0 root (0) root (0) 516 2019-02-11 09:52:10.000000 ./usr/share/doc/composer/fixtures/repo-composer-with-providers/p/provider-active$1893a061e579543822389ecd12d791c612db0c05e22d90e9286e233cacd86ed8.json
│ │ │ drwxr-xr-x 0 root (0) root (0) 0 2019-02-11 09:52:10.000000 ./usr/share/doc/composer/fixtures/repo-composer-with-providers/p/qux/
│ │ │ -rw-r--r-- 0 root (0) root (0) 632 2019-02-11 09:52:10.000000 ./usr/share/doc/composer/fixtures/repo-composer-with-providers/p/qux/quux$c142d1a07ca354be46b613f59f1d601923a5a00ccc5fcce50a77ecdd461eb72d.json
│ │ │ -rw-r--r-- 0 root (0) root (0) 308 2019-02-11 09:52:10.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:47:26.000000 ./usr/share/man/
│ │ │ -drwxr-xr-x 0 root (0) root (0) 0 2021-04-27 22:47:26.000000 ./usr/share/man/man1/
│ │ │ --rw-r--r-- 0 root (0) root (0) 1307 2021-04-27 22:47:26.000000 ./usr/share/man/man1/composer.1.gz
│ │ │ -drwxr-xr-x 0 root (0) root (0) 0 2021-04-27 22:47:26.000000 ./usr/share/php/
│ │ │ -drwxr-xr-x 0 root (0) root (0) 0 2021-04-27 22:47:26.000000 ./usr/share/php/Composer/
│ │ │ -drwxr-xr-x 0 root (0) root (0) 0 2021-04-27 22:47:26.000000 ./usr/share/php/Composer/Autoload/
│ │ │ --rw-r--r-- 0 root (0) root (0) 35980 2021-04-27 22:47:26.000000 ./usr/share/php/Composer/Autoload/AutoloadGenerator.php
│ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2022-05-28 16:18:24.000000 ./usr/share/man/
│ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2022-05-28 16:18:24.000000 ./usr/share/man/man1/
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1306 2022-05-28 16:18:24.000000 ./usr/share/man/man1/composer.1.gz
│ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2022-05-28 16:18:24.000000 ./usr/share/php/
│ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2022-05-28 16:18:24.000000 ./usr/share/php/Composer/
│ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2022-05-28 16:18:24.000000 ./usr/share/php/Composer/Autoload/
│ │ │ +-rw-r--r-- 0 root (0) root (0) 35980 2022-05-28 16:18:24.000000 ./usr/share/php/Composer/Autoload/AutoloadGenerator.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 13459 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Autoload/ClassLoader.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 8823 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Autoload/ClassMapGenerator.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 7640 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Cache.php
│ │ │ -drwxr-xr-x 0 root (0) root (0) 0 2021-04-27 22:47:26.000000 ./usr/share/php/Composer/Command/
│ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2022-05-28 16:18:24.000000 ./usr/share/php/Composer/Command/
│ │ │ -rw-r--r-- 0 root (0) root (0) 1153 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Command/AboutCommand.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 6622 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Command/ArchiveCommand.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 5317 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Command/BaseCommand.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 10029 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Command/BaseDependencyCommand.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 5419 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Command/CheckPlatformReqsCommand.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 2056 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Command/ClearCacheCommand.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 27313 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Command/ConfigCommand.php
│ │ │ @@ -93,26 +93,26 @@
│ │ │ -rw-r--r-- 0 root (0) root (0) 17030 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Command/SelfUpdateCommand.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 43045 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Command/ShowCommand.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 8340 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Command/StatusCommand.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 5242 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Command/SuggestsCommand.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 11100 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Command/UpdateCommand.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 7162 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Command/ValidateCommand.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 4975 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Composer.php
│ │ │ -drwxr-xr-x 0 root (0) root (0) 0 2021-04-27 22:47:26.000000 ./usr/share/php/Composer/Config/
│ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2022-05-28 16:18:24.000000 ./usr/share/php/Composer/Config/
│ │ │ -rw-r--r-- 0 root (0) root (0) 1977 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Config/ConfigSourceInterface.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 8231 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Config/JsonConfigSource.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 15824 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Config.php
│ │ │ -drwxr-xr-x 0 root (0) root (0) 0 2021-04-27 22:47:26.000000 ./usr/share/php/Composer/Console/
│ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2022-05-28 16:18:24.000000 ./usr/share/php/Composer/Console/
│ │ │ -rw-r--r-- 0 root (0) root (0) 19470 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Console/Application.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 2561 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Console/HtmlOutputFormatter.php
│ │ │ -drwxr-xr-x 0 root (0) root (0) 0 2021-04-27 22:47:26.000000 ./usr/share/php/Composer/DependencyResolver/
│ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2022-05-28 16:18:24.000000 ./usr/share/php/Composer/DependencyResolver/
│ │ │ -rw-r--r-- 0 root (0) root (0) 5517 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/DependencyResolver/Decisions.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 9337 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/DependencyResolver/DefaultPolicy.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 2170 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/DependencyResolver/GenericRule.php
│ │ │ -drwxr-xr-x 0 root (0) root (0) 0 2021-04-27 22:47:26.000000 ./usr/share/php/Composer/DependencyResolver/Operation/
│ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2022-05-28 16:18:24.000000 ./usr/share/php/Composer/DependencyResolver/Operation/
│ │ │ -rw-r--r-- 0 root (0) root (0) 1355 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/DependencyResolver/Operation/InstallOperation.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 1521 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/DependencyResolver/Operation/MarkAliasInstalledOperation.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 1527 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/DependencyResolver/Operation/MarkAliasUninstalledOperation.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 803 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/DependencyResolver/Operation/OperationInterface.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 1020 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/DependencyResolver/Operation/SolverOperation.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 1363 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/DependencyResolver/Operation/UninstallOperation.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 1838 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/DependencyResolver/Operation/UpdateOperation.php
│ │ │ @@ -128,53 +128,53 @@
│ │ │ -rw-r--r-- 0 root (0) root (0) 1402 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/DependencyResolver/RuleWatchChain.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 5349 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/DependencyResolver/RuleWatchGraph.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 2780 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/DependencyResolver/RuleWatchNode.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 27538 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/DependencyResolver/Solver.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 766 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/DependencyResolver/SolverBugException.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 2757 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/DependencyResolver/SolverProblemsException.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 7725 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/DependencyResolver/Transaction.php
│ │ │ -drwxr-xr-x 0 root (0) root (0) 0 2021-04-27 22:47:26.000000 ./usr/share/php/Composer/Downloader/
│ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2022-05-28 16:18:24.000000 ./usr/share/php/Composer/Downloader/
│ │ │ -rw-r--r-- 0 root (0) root (0) 4644 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Downloader/ArchiveDownloader.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 766 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Downloader/ChangeReportInterface.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 10584 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Downloader/DownloadManager.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 1781 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Downloader/DownloaderInterface.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 782 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Downloader/DvcsDownloaderInterface.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 11415 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Downloader/FileDownloader.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 672 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Downloader/FilesystemException.php
│ │ │ --rw-r--r-- 0 root (0) root (0) 4019 2021-04-27 22:47:26.000000 ./usr/share/php/Composer/Downloader/FossilDownloader.php
│ │ │ --rw-r--r-- 0 root (0) root (0) 19949 2021-04-27 22:47:26.000000 ./usr/share/php/Composer/Downloader/GitDownloader.php
│ │ │ --rw-r--r-- 0 root (0) root (0) 2605 2021-04-27 22:47:26.000000 ./usr/share/php/Composer/Downloader/GzipDownloader.php
│ │ │ --rw-r--r-- 0 root (0) root (0) 3012 2021-04-27 22:47:26.000000 ./usr/share/php/Composer/Downloader/HgDownloader.php
│ │ │ +-rw-r--r-- 0 root (0) root (0) 4019 2022-05-28 16:18:24.000000 ./usr/share/php/Composer/Downloader/FossilDownloader.php
│ │ │ +-rw-r--r-- 0 root (0) root (0) 19949 2022-05-28 16:18:24.000000 ./usr/share/php/Composer/Downloader/GitDownloader.php
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2605 2022-05-28 16:18:24.000000 ./usr/share/php/Composer/Downloader/GzipDownloader.php
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3012 2022-05-28 16:18:24.000000 ./usr/share/php/Composer/Downloader/HgDownloader.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 7156 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Downloader/PathDownloader.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 11666 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Downloader/PearPackageExtractor.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 2852 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Downloader/PerforceDownloader.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 937 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Downloader/PharDownloader.php
│ │ │ --rw-r--r-- 0 root (0) root (0) 2857 2021-04-27 22:47:26.000000 ./usr/share/php/Composer/Downloader/RarDownloader.php
│ │ │ --rw-r--r-- 0 root (0) root (0) 7871 2021-04-27 22:47:26.000000 ./usr/share/php/Composer/Downloader/SvnDownloader.php
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2857 2022-05-28 16:18:24.000000 ./usr/share/php/Composer/Downloader/RarDownloader.php
│ │ │ +-rw-r--r-- 0 root (0) root (0) 7871 2022-05-28 16:18:24.000000 ./usr/share/php/Composer/Downloader/SvnDownloader.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 697 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Downloader/TarDownloader.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 1009 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Downloader/TransportException.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 795 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Downloader/VcsCapableDownloaderInterface.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 10640 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Downloader/VcsDownloader.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 1715 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Downloader/XzDownloader.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 8639 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Downloader/ZipDownloader.php
│ │ │ -drwxr-xr-x 0 root (0) root (0) 0 2021-04-27 22:47:26.000000 ./usr/share/php/Composer/EventDispatcher/
│ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2022-05-28 16:18:24.000000 ./usr/share/php/Composer/EventDispatcher/
│ │ │ -rw-r--r-- 0 root (0) root (0) 2150 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/EventDispatcher/Event.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 21748 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/EventDispatcher/EventDispatcher.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 1553 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/EventDispatcher/EventSubscriberInterface.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 422 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/EventDispatcher/ScriptExecutionException.php
│ │ │ drwxr-xr-x 0 root (0) root (0) 0 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Exception/
│ │ │ -rw-r--r-- 0 root (0) root (0) 406 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Exception/NoSslException.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 24432 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Factory.php
│ │ │ -drwxr-xr-x 0 root (0) root (0) 0 2021-04-27 22:47:26.000000 ./usr/share/php/Composer/IO/
│ │ │ --rw-r--r-- 0 root (0) root (0) 7571 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/IO/BaseIO.php
│ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2022-05-28 16:18:24.000000 ./usr/share/php/Composer/IO/
│ │ │ +-rw-r--r-- 0 root (0) root (0) 7575 2022-05-28 16:18:24.000000 ./usr/share/php/Composer/IO/BaseIO.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 1811 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/IO/BufferIO.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 10047 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/IO/ConsoleIO.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 6708 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/IO/IOInterface.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 2311 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/IO/NullIO.php
│ │ │ -drwxr-xr-x 0 root (0) root (0) 0 2021-04-27 22:47:26.000000 ./usr/share/php/Composer/Installer/
│ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2022-05-28 16:18:24.000000 ./usr/share/php/Composer/Installer/
│ │ │ -rw-r--r-- 0 root (0) root (0) 7014 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Installer/BinaryInstaller.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 731 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Installer/BinaryPresenceInterface.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 10767 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Installer/InstallationManager.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 3220 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Installer/InstallerEvent.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 1039 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Installer/InstallerEvents.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 2457 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Installer/InstallerInterface.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 7590 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Installer/LibraryInstaller.php
│ │ │ @@ -184,22 +184,22 @@
│ │ │ -rw-r--r-- 0 root (0) root (0) 2020 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Installer/PackageEvents.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 4948 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Installer/PearBinaryInstaller.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 2870 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Installer/PearInstaller.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 2561 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Installer/PluginInstaller.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 2607 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Installer/ProjectInstaller.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 4031 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Installer/SuggestedPackagesReporter.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 69941 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Installer.php
│ │ │ -drwxr-xr-x 0 root (0) root (0) 0 2021-04-27 22:47:26.000000 ./usr/share/php/Composer/Json/
│ │ │ --rw-r--r-- 0 root (0) root (0) 9499 2021-04-27 22:47:26.000000 ./usr/share/php/Composer/Json/JsonFile.php
│ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2022-05-28 16:18:24.000000 ./usr/share/php/Composer/Json/
│ │ │ +-rw-r--r-- 0 root (0) root (0) 9499 2022-05-28 16:18:24.000000 ./usr/share/php/Composer/Json/JsonFile.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 4505 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Json/JsonFormatter.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 19398 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Json/JsonManipulator.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 704 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Json/JsonValidationException.php
│ │ │ drwxr-xr-x 0 root (0) root (0) 0 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Package/
│ │ │ -rw-r--r-- 0 root (0) root (0) 9095 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Package/AliasPackage.php
│ │ │ -drwxr-xr-x 0 root (0) root (0) 0 2021-04-27 22:47:26.000000 ./usr/share/php/Composer/Package/Archiver/
│ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2022-05-28 16:18:24.000000 ./usr/share/php/Composer/Package/Archiver/
│ │ │ -rw-r--r-- 0 root (0) root (0) 990 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Package/Archiver/ArchivableFilesFilter.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 2891 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Package/Archiver/ArchivableFilesFinder.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 6204 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Package/Archiver/ArchiveManager.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 1271 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Package/Archiver/ArchiverInterface.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 3991 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Package/Archiver/BaseExcludeFilter.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 858 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Package/Archiver/ComposerExcludeFilter.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 2105 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Package/Archiver/GitExcludeFilter.php
│ │ │ @@ -210,65 +210,65 @@
│ │ │ drwxr-xr-x 0 root (0) root (0) 0 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Package/Comparer/
│ │ │ -rw-r--r-- 0 root (0) root (0) 3636 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Package/Comparer/Comparer.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 3642 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Package/CompletePackage.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 2019 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Package/CompletePackageInterface.php
│ │ │ drwxr-xr-x 0 root (0) root (0) 0 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Package/Dumper/
│ │ │ -rw-r--r-- 0 root (0) root (0) 4696 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Package/Dumper/ArrayDumper.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 3013 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Package/Link.php
│ │ │ -drwxr-xr-x 0 root (0) root (0) 0 2021-04-27 22:47:26.000000 ./usr/share/php/Composer/Package/LinkConstraint/
│ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2022-05-28 16:18:24.000000 ./usr/share/php/Composer/Package/LinkConstraint/
│ │ │ -rw-r--r-- 0 root (0) root (0) 713 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Package/LinkConstraint/EmptyConstraint.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 687 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Package/LinkConstraint/LinkConstraintInterface.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 713 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Package/LinkConstraint/MultiConstraint.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 691 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Package/LinkConstraint/SpecificConstraint.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 666 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Package/LinkConstraint/VersionConstraint.php
│ │ │ -drwxr-xr-x 0 root (0) root (0) 0 2021-04-27 22:47:26.000000 ./usr/share/php/Composer/Package/Loader/
│ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2022-05-28 16:18:24.000000 ./usr/share/php/Composer/Package/Loader/
│ │ │ -rw-r--r-- 0 root (0) root (0) 11446 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Package/Loader/ArrayLoader.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 1001 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Package/Loader/InvalidPackageException.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 1116 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Package/Loader/JsonLoader.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 834 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Package/Loader/LoaderInterface.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 10097 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Package/Loader/RootPackageLoader.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 21789 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Package/Loader/ValidatingArrayLoader.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 14697 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Package/Locker.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 12546 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Package/Package.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 9107 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Package/PackageInterface.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 3645 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Package/RootAliasPackage.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 2628 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Package/RootPackage.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 3208 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Package/RootPackageInterface.php
│ │ │ -drwxr-xr-x 0 root (0) root (0) 0 2021-04-27 22:47:26.000000 ./usr/share/php/Composer/Package/Version/
│ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2022-05-28 16:18:24.000000 ./usr/share/php/Composer/Package/Version/
│ │ │ -rw-r--r-- 0 root (0) root (0) 11783 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Package/Version/VersionGuesser.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 2491 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Package/Version/VersionParser.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 6090 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Package/Version/VersionSelector.php
│ │ │ -drwxr-xr-x 0 root (0) root (0) 0 2021-04-27 22:47:26.000000 ./usr/share/php/Composer/Plugin/
│ │ │ -drwxr-xr-x 0 root (0) root (0) 0 2021-04-27 22:47:26.000000 ./usr/share/php/Composer/Plugin/Capability/
│ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2022-05-28 16:18:24.000000 ./usr/share/php/Composer/Plugin/
│ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2022-05-28 16:18:24.000000 ./usr/share/php/Composer/Plugin/Capability/
│ │ │ -rw-r--r-- 0 root (0) root (0) 485 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Plugin/Capability/Capability.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 863 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Plugin/Capability/CommandProvider.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 1179 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Plugin/Capable.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 1965 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Plugin/CommandEvent.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 1448 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Plugin/PluginEvents.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 810 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Plugin/PluginInterface.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 15907 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Plugin/PluginManager.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 1357 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Plugin/PreCommandRunEvent.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 1591 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Plugin/PreFileDownloadEvent.php
│ │ │ drwxr-xr-x 0 root (0) root (0) 0 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Question/
│ │ │ -rw-r--r-- 0 root (0) root (0) 2667 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Question/StrictConfirmationQuestion.php
│ │ │ -drwxr-xr-x 0 root (0) root (0) 0 2021-04-27 22:47:26.000000 ./usr/share/php/Composer/Repository/
│ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2022-05-28 16:18:24.000000 ./usr/share/php/Composer/Repository/
│ │ │ -rw-r--r-- 0 root (0) root (0) 5718 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Repository/ArrayRepository.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 5137 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Repository/ArtifactRepository.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 7818 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Repository/BaseRepository.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 32540 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Repository/ComposerRepository.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 3927 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Repository/CompositeRepository.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 478 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Repository/ConfigurableRepositoryInterface.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 2280 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Repository/FilesystemRepository.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 584 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Repository/InstalledArrayRepository.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 504 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Repository/InstalledFilesystemRepository.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 579 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Repository/InstalledRepositoryInterface.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 479 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Repository/InvalidRepositoryException.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 1628 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Repository/PackageRepository.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 5609 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Repository/PathRepository.php
│ │ │ -drwxr-xr-x 0 root (0) root (0) 0 2021-04-27 22:47:26.000000 ./usr/share/php/Composer/Repository/Pear/
│ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2022-05-28 16:18:24.000000 ./usr/share/php/Composer/Repository/Pear/
│ │ │ -rw-r--r-- 0 root (0) root (0) 2527 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Repository/Pear/BaseChannelReader.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 1218 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Repository/Pear/ChannelInfo.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 3216 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Repository/Pear/ChannelReader.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 4823 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Repository/Pear/ChannelRest10Reader.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 4089 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Repository/Pear/ChannelRest11Reader.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 1248 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Repository/Pear/DependencyConstraint.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 1179 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Repository/Pear/DependencyInfo.php
│ │ │ @@ -277,62 +277,62 @@
│ │ │ -rw-r--r-- 0 root (0) root (0) 1026 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Repository/Pear/ReleaseInfo.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 8743 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Repository/PearRepository.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 12479 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Repository/PlatformRepository.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 6948 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Repository/RepositoryFactory.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 2233 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Repository/RepositoryInterface.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 5638 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Repository/RepositoryManager.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 482 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Repository/RepositorySecurityException.php
│ │ │ -drwxr-xr-x 0 root (0) root (0) 0 2021-04-27 22:47:26.000000 ./usr/share/php/Composer/Repository/Vcs/
│ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2022-05-28 16:18:24.000000 ./usr/share/php/Composer/Repository/Vcs/
│ │ │ -rw-r--r-- 0 root (0) root (0) 13335 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Repository/Vcs/BitbucketDriver.php
│ │ │ --rw-r--r-- 0 root (0) root (0) 7166 2021-04-27 22:47:26.000000 ./usr/share/php/Composer/Repository/Vcs/FossilDriver.php
│ │ │ +-rw-r--r-- 0 root (0) root (0) 7166 2022-05-28 16:18:24.000000 ./usr/share/php/Composer/Repository/Vcs/FossilDriver.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 2380 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Repository/Vcs/GitBitbucketDriver.php
│ │ │ --rw-r--r-- 0 root (0) root (0) 6593 2021-04-27 22:47:26.000000 ./usr/share/php/Composer/Repository/Vcs/GitDriver.php
│ │ │ +-rw-r--r-- 0 root (0) root (0) 6826 2022-05-28 16:18:24.000000 ./usr/share/php/Composer/Repository/Vcs/GitDriver.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 15610 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Repository/Vcs/GitHubDriver.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 15033 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Repository/Vcs/GitLabDriver.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 2374 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Repository/Vcs/HgBitbucketDriver.php
│ │ │ --rw-r--r-- 0 root (0) root (0) 6721 2021-04-27 22:47:26.000000 ./usr/share/php/Composer/Repository/Vcs/HgDriver.php
│ │ │ +-rw-r--r-- 0 root (0) root (0) 6980 2022-05-28 16:18:24.000000 ./usr/share/php/Composer/Repository/Vcs/HgDriver.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 3692 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Repository/Vcs/PerforceDriver.php
│ │ │ --rw-r--r-- 0 root (0) root (0) 12198 2021-04-27 22:47:26.000000 ./usr/share/php/Composer/Repository/Vcs/SvnDriver.php
│ │ │ +-rw-r--r-- 0 root (0) root (0) 12198 2022-05-28 16:18:24.000000 ./usr/share/php/Composer/Repository/Vcs/SvnDriver.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 4958 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Repository/Vcs/VcsDriver.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 3198 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Repository/Vcs/VcsDriverInterface.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 14166 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Repository/VcsRepository.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 520 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Repository/VersionCacheInterface.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 1520 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Repository/WritableArrayRepository.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 1253 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Repository/WritableRepositoryInterface.php
│ │ │ -drwxr-xr-x 0 root (0) root (0) 0 2021-04-27 22:47:26.000000 ./usr/share/php/Composer/Script/
│ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2022-05-28 16:18:24.000000 ./usr/share/php/Composer/Script/
│ │ │ -rw-r--r-- 0 root (0) root (0) 416 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Script/CommandEvent.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 2000 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Script/Event.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 495 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Script/PackageEvent.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 5803 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Script/ScriptEvents.php
│ │ │ -drwxr-xr-x 0 root (0) root (0) 0 2021-04-27 22:47:26.000000 ./usr/share/php/Composer/SelfUpdate/
│ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2022-05-28 16:18:24.000000 ./usr/share/php/Composer/SelfUpdate/
│ │ │ -rw-r--r-- 0 root (0) root (0) 874 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/SelfUpdate/Keys.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 2140 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/SelfUpdate/Versions.php
│ │ │ -drwxr-xr-x 0 root (0) root (0) 0 2021-04-27 22:47:26.000000 ./usr/share/php/Composer/Util/
│ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2022-05-28 16:18:24.000000 ./usr/share/php/Composer/Util/
│ │ │ -rw-r--r-- 0 root (0) root (0) 1695 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Util/AuthHelper.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 8589 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Util/Bitbucket.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 1787 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Util/ComposerMirror.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 7801 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Util/ConfigValidator.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 2329 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Util/ErrorHandler.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 21843 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Util/Filesystem.php
│ │ │ --rw-r--r-- 0 root (0) root (0) 16407 2021-04-27 22:47:26.000000 ./usr/share/php/Composer/Util/Git.php
│ │ │ +-rw-r--r-- 0 root (0) root (0) 16407 2022-05-28 16:18:24.000000 ./usr/share/php/Composer/Util/Git.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 6060 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Util/GitHub.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 5551 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Util/GitLab.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 2883 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Util/Hg.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 1632 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Util/IniHelper.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 4171 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Util/NoProxyPattern.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 17526 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Util/Perforce.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 2600 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Util/Platform.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 5790 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Util/ProcessExecutor.php
│ │ │ --rw-r--r-- 0 root (0) root (0) 45172 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Util/RemoteFilesystem.php
│ │ │ +-rw-r--r-- 0 root (0) root (0) 45151 2022-05-28 16:18:24.000000 ./usr/share/php/Composer/Util/RemoteFilesystem.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 2166 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Util/Silencer.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 570 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Util/SpdxLicense.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 7345 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Util/StreamContextFactory.php
│ │ │ --rw-r--r-- 0 root (0) root (0) 10044 2021-04-27 22:47:26.000000 ./usr/share/php/Composer/Util/Svn.php
│ │ │ +-rw-r--r-- 0 root (0) root (0) 10044 2022-05-28 16:18:24.000000 ./usr/share/php/Composer/Util/Svn.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 6662 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Util/TlsHelper.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 2904 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/Util/Url.php
│ │ │ -rw-r--r-- 0 root (0) root (0) 845 2019-02-11 09:52:10.000000 ./usr/share/php/Composer/XdebugHandler.php
│ │ │ --rw-r--r-- 0 root (0) root (0) 23899 2021-04-27 22:47:26.000000 ./usr/share/php/Composer/autoload.php
│ │ │ -drwxr-xr-x 0 root (0) root (0) 0 2021-04-27 22:47:26.000000 ./usr/share/php/data/
│ │ │ -drwxr-xr-x 0 root (0) root (0) 0 2021-04-27 22:47:26.000000 ./usr/share/php/data/Composer/
│ │ │ -drwxr-xr-x 0 root (0) root (0) 0 2021-04-27 22:47:26.000000 ./usr/share/php/data/Composer/res/
│ │ │ +-rw-r--r-- 0 root (0) root (0) 23899 2022-05-28 16:18:24.000000 ./usr/share/php/Composer/autoload.php
│ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2022-05-28 16:18:24.000000 ./usr/share/php/data/
│ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2022-05-28 16:18:24.000000 ./usr/share/php/data/Composer/
│ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2022-05-28 16:18:24.000000 ./usr/share/php/data/Composer/res/
│ │ │ -rw-r--r-- 0 root (0) root (0) 4080 2019-02-11 09:52:10.000000 ./usr/share/php/data/Composer/res/composer-repository-schema.json
│ │ │ -rw-r--r-- 0 root (0) root (0) 38533 2019-02-11 09:52:10.000000 ./usr/share/php/data/Composer/res/composer-schema.json
│ │ ├── ./usr/share/doc/composer/changelog.Debian.gz
│ │ │ ├── changelog.Debian
│ │ │ │ @@ -1,7 +1,16 @@
│ │ │ │ +composer (1.8.4-1+deb10u2) buster; urgency=medium
│ │ │ │ +
│ │ │ │ + * Fix code injection vulnerability [CVE-2022-24828] (Closes: #1009960)
│ │ │ │ + * Update GitHub token pattern (Closes: #989315)
│ │ │ │ + * Use Authorization header instead of deprecated access_token query param
│ │ │ │ + (Closes: #955485)
│ │ │ │ +
│ │ │ │ + -- David Prévot <taf...@debian.org> Sat, 28 May 2022 18:18:24 +0200
│ │ │ │ +
│ │ │ │ composer (1.8.4-1+deb10u1) buster-security; urgency=high
│ │ │ │
│ │ │ │ * Use debian/buster 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.47.8.
│ │ │ │ -.TH COMPOSER "1" "April 2021" "composer 1.8.4+deb10u1" "User Commands"
│ │ │ │ +.TH COMPOSER "1" "May 2022" "composer 1.8.4+deb10u2" "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
│ │ │ @@ -96,15 +96,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
│ │ │ @@ -119,14 +119,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;
│ │ │ }
│ │ │
│ │ │ @@ -172,15 +176,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
│ │ │ @@ -112,15 +112,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;
│ │ │ @@ -172,22 +176,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);
│ │ │ }
│ │ ├── ./usr/share/php/Composer/Util/RemoteFilesystem.php
│ │ │ @@ -270,15 +270,15 @@
│ │ │ unset($tempAdditionalOptions);
│ │ │
│ │ │ $origFileUrl = $fileUrl;
│ │ │
│ │ │ if (isset($options['github-token'])) {
│ │ │ // only add the access_token if it is actually a github URL (in case we were redirected to S3)
│ │ │ if (preg_match('{^https?://([a-z0-9-]+\.)*github\.com/}', $fileUrl)) {
│ │ │ - $fileUrl .= (false === strpos($fileUrl, '?') ? '?' : '&') . 'access_token='.$options['github-token'];
│ │ │ + $options['http']['header'][] = 'Authorization: token '.$options['github-token'];
│ │ │ }
│ │ │ unset($options['github-token']);
│ │ │ }
│ │ │
│ │ │ if (isset($options['gitlab-token'])) {
│ │ │ $fileUrl .= (false === strpos($fileUrl, '?') ? '?' : '&') . 'access_token='.$options['gitlab-token'];
│ │ │ unset($options['gitlab-token']);
signature.asc
Description: PGP signature
--- End Message ---