6592 Commits (e537ae953ee6b91abca55050271b37340d5e7fa5)

Author SHA1 Message Date
Jordi Boggiano 57b4016f8a
Show default value instead of optional, refs #9181 4 years ago
Jordi Boggiano 5555b04cea
Merge pull request #9181 from shrink/feature/create-project-package-prompt
 Ask for target directory when using `create-project`
4 years ago
Jordi Boggiano 7859fe72e8
Fix line wrapping 4 years ago
Jordi Boggiano 9dc125f79c
Fix cleanup of useless feature_versions 4 years ago
Simon Berger bae227ec2d Changed all substr calls used to compare fragments of text to strpos
Some additional code cleanups in those classes

Reverted change causing issues
4 years ago
Jordi Boggiano 8694077564
Merge pull request #9177 from simonberger/reduce-requests
Re-Fetch cached packages only once in a run
4 years ago
Jordi Boggiano cb3c71a18a
Always assume the cache file is fresh when loading a package again which was already loaded, even if it lacks a last-modified header. 4 years ago
Jordi Boggiano 943c7a6433
Merge pull request #9165 from bpesch/master
Performance improvements
4 years ago
Jordi Boggiano b8ebc7be5f
Revert a few changes to ConfigCommand 4 years ago
Jordi Boggiano b1cbc08ec0
Allow false as well as repository value, refs #9165 4 years ago
Jordi Boggiano cc1874e21b
Merge pull request #9179 from simonberger/fix-duplicated-code
Moved duplicated table render code to a new method in BaseCommand
4 years ago
Jordi Boggiano 45653c55d8
Handle authentication for api domains of GitHub/Bitbucket, fixes #9173 4 years ago
Jordi Boggiano e6b45e853a
Fix status command handling of symlinks, and especially broken ones, fixes #9169 4 years ago
Jordi Boggiano 199696d120
Fix undefined method call 4 years ago
Jordi Boggiano 070530534d
Merge pull request #9176 from glaubinix/t/remote-file-system-response-decode
Composer2 RemoteFileSystem: response decode for TransportException
4 years ago
Stephan 32a0563443 RemoteFileSystem: catch decode errors for content length mismatch 4 years ago
Jordi Boggiano fc462ab978
Merge branch '1.10' 4 years ago
Jordi Boggiano b159e4da7e
Merge pull request #9172 from Toflar/platform-repo-cleanup
Consistently reuse new PlatformRepository::isPlatformPackage()
4 years ago
Alexander M. Turek fc961dce70 Call call_user_func_array() with a numeric arguments array. 4 years ago
Samuel Ryan a66db48673
Ask for target directory when using `create-project` 4 years ago
Simon Berger 687f886d56 Moved duplicated table render code to a new method in BaseCommand 4 years ago
Simon Berger 9516d0dc98 Re-Fetch cached packages only once in a run 4 years ago
Stephan 3b2d91975e RemoteFileSystem: response decode for TransportException 4 years ago
Yanick Witschi bd6f62c535 Consistently reuse the new PlatformRepository::isPlatformPackage() method 4 years ago
Nils Adermann 4ac9f44571 Clear up PoolBuilder comment after code move 4 years ago
Stephan 773635e355 ComposerRepository: avoid notice if includes do not provide a sha1 4 years ago
Nils Adermann 7b990f3767 PoolBuilder: Move merging of constaints to be loaded into relevant section 4 years ago
Nils Adermann b2670945bd PoolBuilder: clear up comment, matching and identity are different for constraints 4 years ago
username fc87caf639 Provide correct parameter data type 4 years ago
username 113adbcd87 Sort conditions by cost 4 years ago
username 98462292c0 Sort conditions by cost 4 years ago
username abedc0dc42 Sort conditions by cost 4 years ago
username 17ae93bc9c Remove unnecessary method call 4 years ago
username 18009af023 Inline variable 4 years ago
username e719be501e Remove unnecessary method call 4 years ago
username 459e2473c8 Remove unused variable 4 years ago
username 3f09ae0737 Simplify duplicate case 4 years ago
username 46cc387598 Split workflows 4 years ago
Nils Adermann 1385412748 Merge branch 'master' into filter-packages
* master:
  Add tests for edge cases of packages providing names which exist as real packages
  Add another test verifying that a package may provide an incompatible version of sth that actually exists
  Fix provider coexistence test, needs another requirement to install both
  Fix test filename to end with .test extension so it gets run
  Update config section to note required scope for GitLab tokens
  Fix pre/post-package-install/update/uninstall events receiving a partial list of operations, fixes #9079
  Also remove credentials from cache dirs in git/svn drivers, fixes #7439, refs #9155
  AuthHelper: Allow fall-through GitLab-specific HTTP headers for auth
  Sanitize repo URLs to mask HTTP auth passwords from cache directory
  Util/Zip: fix strpos args order
4 years ago
Yanick Witschi a1e1cd8fa4 Do not trigger Intervals::isSubsetOf() over and over again for platform packages 4 years ago
Jordi Boggiano f18d91bd58
Fix pre/post-package-install/update/uninstall events receiving a partial list of operations, fixes #9079 4 years ago
Jordi Boggiano c3db4614c9
Also remove credentials from cache dirs in git/svn drivers, fixes #7439, refs #9155 4 years ago
Jordi Boggiano 98862f5408
Merge pull request #9155 from Ayesh/hide-passwords-cache
Sanitize repo URLs to mask HTTP auth passwords from cache directory
4 years ago
Jordi Boggiano 9e77514764
Merge pull request #9156 from Ayesh/gitlab-repos
AuthHelper: Allow fall-through GitLab-specific HTTP headers for auth
4 years ago
Ayesh Karunaratne 931a1ff1f8
AuthHelper: Allow fall-through GitLab-specific HTTP headers for auth
Previously, `AuthHelper` consumed the authentication credentials for GitLab domains and added access tokens as GitLab-specific headers.
[Composer repositories now supported in GitLab](https://php.watch/articles/composer-gitlab-repositories) require standard Authorization headers with a personal access to function, which failed to work due to out GitLab-specific headers.

With this commit, AuthHelper checks if the password is an access token, and falls through to HTTP basic authentication even if the domain name is a GitLab domain name.
4 years ago
Ayesh Karunaratne 87573aab27
Sanitize repo URLs to mask HTTP auth passwords from cache directory
When a Composer repository is cached, a directory name is generated created stored package meta information fetched from that repository.
The cache directory can contain HTTP basic auth tokens, or access_token query parameters that end up in the directory name of the cache directory.

Discovered when trying out [GitLab composer repository feature](https://php.watch/articles/composer-gitlab-repositories), and the HTTP password was visible in a `composer update -vvv` command.

Using passwords/tokens in the URL is fundamentally a bad idea, but Composer already has `\Composer\Util\Url::sanitize()` that tries to mitigate such cases, and this same function is applied to the repo URL before deciding the name of the repo cache directory.
4 years ago
Iskander (Alex) Sharipov dc1fd92b9b
Util/Zip: fix strpos args order
`strpos()` first argument is a haystack, not a needle.

`strpos('x', $s)` is identical to `$s === 'x'` which is probably not what we want here.
4 years ago
Jordi Boggiano 9a04ecefbf
Merge branch 'master' into filter-packages 4 years ago
Jordi Boggiano f516d36f6f
Make sure Request::requireName can not be called twice for the same name 4 years ago
Jordi Boggiano 90332f1dbd
Add a readonly mode to the cache, fixes #9150 4 years ago
Jordi Boggiano 875a4784ed
Reorg config class a little 4 years ago
Jordi Boggiano 6186c7f36f
Fix handling of root aliases in partial updates, fixes #9110 4 years ago
Jordi Boggiano 05e9fe936f
Merge branch '1.10' 4 years ago
Jordi Boggiano b847c4dc3a
Validate licenses correctly even when proprietary is combined with some other license, fixes #9144 4 years ago
Stephan d140a842fa RemoteFilesystem: avoid warning when setting max file size 4 years ago
Jordi Boggiano 2bd1bd4194
Merge pull request #9142 from oleg-andreyev/fixing-error-message-for-higher-priority-repo
fixing error message for higher repository priority when it provides only a dev-branch
4 years ago
Jordi Boggiano 448daea696
Add support for detecting packages not matching only due to minimum stability 4 years ago
Jordi Boggiano e5ba99cf67
Merge branch '1.10' 4 years ago
Jordi Boggiano 9ea9d20b21
Merge pull request #9130 from glaubinix/t/max-file-size
Downloader: add a max_file_size option to prevent too big files to be downloaded
4 years ago
Stephan a16f32484b Downloader: add a max_file_size to prevent too big files to be downloaded 4 years ago
Oleg Andreyev f262feebec
fixing error message for higher repository priority, when higher repo has only a dev-branch 4 years ago
Lars Strojny a83588f568
The proper fix 4 years ago
Lars Strojny 4e06aa051a
Check if inet_pton() exists 4 years ago
johnstevenson 3be62a9fda Fix openssl_free_key deprecation notice in PHP 8 4 years ago
Jordi Boggiano 00e268cdbf
Clear Intervals cache when we are done with it 4 years ago
Markus Staab fdff3aeaba
emit github action formatted error messages (#9120) 4 years ago
Jordi Boggiano c845d66818
Lowercase ext- package names, refs #9093 4 years ago
Jordi Boggiano 4d20e6f5d6
Move Version util to Platform namespace, fix CS nitpicks, make regexes case insensitive for robustness, refs #9093 4 years ago
Jordi Boggiano 7e1ef19a5a
Expand library version checking capabilities (closes #9093) 4 years ago
Wissem Riahi 657ae5519e
Add support for TAR in Artifact packages (#9105) 4 years ago
Jordi Boggiano ff757e649c
Use pool to match packages to avoid getting packages without ids, fixes #9094 4 years ago
Jordi Boggiano 826db3db5e
Used locked repo only if it is present 4 years ago
Jordi Boggiano c0eb9834fe
Merge pull request #9116 from ryanaslett/patch-1
Update PathDownloader.php
4 years ago
Jordi Boggiano 51b1a752e3
Merge pull request #9098 from GrahamCampbell/patch-1
Use consistent phpdoc nullable syntax
4 years ago
Jordi Boggiano 7649c8438d
Fix exception when using create-project in current directory, fixes #9073 4 years ago
Ryan Aslett c0309f22d7
Update PathDownloader.php
If a path repository points at a directory that is managed by composer installers, the path that gets set ends up being relative, and this check fails to see that the source is already present, and therefore removes it.

Since ->install is already using realpath around the $path argument, remove should as well.

For an example repository that demonstrates this bug See: https://github.com/ryanaslett/pathrepotestcase
4 years ago
Graham Campbell 019febb5fa
Use consistent phpdoc nullable syntax 4 years ago
Jordi Boggiano 2d3905157d
Merge branch '1.10' 4 years ago
Jordi Boggiano 00f712a7c4
Revert "Allow specifying a version requirement for CLDR" 4 years ago
Jordi Boggiano 387e828993
Promote next major version when running stable self-update, and prevent self-update from automatically upgrading to the next major release 4 years ago
Jordi Boggiano 5bd61ac55c
Cache versions data to avoid redownloading it twice during self-update 4 years ago
Jordi Boggiano 7028d0ce27
Merge pull request #9077 from glaubinix/f/api-data-detection
Driver: only cache composer.json file without API data to disk
4 years ago
Jordi Boggiano daae46e1e0
Merge pull request #9085 from lstrojny/lib-cldr
Allow specifying a version requirement for CLDR
4 years ago
Jordi Boggiano 12d6759888
Fail hard instead of skipping branches/tags quietly when parsing VCS repos if 401/403 are returned, fixes #9087 4 years ago
Jordi Boggiano 7bcde1481d
Fix git downloader syntax for windows cmd when updating packages, fixes #9089 4 years ago
Jordi Boggiano 79813b2f77
Fix detection of git refs to be more strict 4 years ago
Lars Strojny 5a02ea6a96
Check that class exists 4 years ago
Lars Strojny 404dea61c2
Allow specifying a version requirement for the relevant CLDR 4 years ago
Stephan b25296ef74 Driver: only cache composer.json file without API data to disk 4 years ago
Tyson Andre e5c7835d57 Properly support PHP 8.0 Named Arguments
See https://wiki.php.net/rfc/named_params#internal_functions
(implemented but not yet merged)

An ArgumentCountError will be thrown when passing variadic arguments to
a function with call_user_func_array() if extra unknown named arguments
are encountered.

Fatal error: Uncaught ArgumentCountError: array_merge() does not accept unknown named parameters in phar:///path/to/composer.phar/src/Composer/DependencyResolver/DefaultPolicy.php:84

(e.g. for `['phpunit/phpunit' => [72]]`)
4 years ago
Andreas Möller ac055e5718
Fix: Reference 4 years ago
Jordi Boggiano d8fa746433
Merge pull request #9058 from Seldaek/zip-cleanup
Clean up Zip Util to be more strict about what is a valid package archive
4 years ago
Wissem Riahi c353ac835c
Add exception for multiple composer.json files (#3) 4 years ago
Markus Staab 4e1dd4bfdf
added phpdocs in StreamContextFactory 4 years ago
Jordi Boggiano 750a92b4b7
Fix headers array format 4 years ago
Jordi Boggiano 8cec8bd546
Allow verify_peer/verify_peer_name http options to be handled by curl downloader 4 years ago
Jordi Boggiano c3d40ae79a
Fix passing of repo http options in async requests 4 years ago
Jordi Boggiano 071350286f
Compact constraints to avoid ending up with very long multi constraints 4 years ago
Jordi Boggiano 22367a68f9
Avoid loading same packages multiple times 4 years ago
Jordi Boggiano 3577070efa
Fix docblocks 4 years ago