940 Commits (e8a3a330232cf53e1b4bbbb3a8ba8947122e575d)

Author SHA1 Message Date
Simon Berger 80a75e9959 Minor code improvements 4 years ago
Simon Berger 7053b6f761 Fixed function case declaration <> call 4 years ago
Simon Berger 33d7a64df9 Removed unused private functions 4 years ago
Simon Berger a6475a7118 Removed unused variables, properties and parameters of private functions 4 years ago
Simon Berger 002fd39bc6 Removed passing of parameters with default value 4 years ago
Jordi Boggiano c6d0309d48
Merge pull request #9188 from simonberger/fix-php53-closure-self-usage
Fix self usage in closures results in fatal error on PHP 5.3
4 years ago
Simon Berger 7ef87626ac Fixed self usage in closure fails on PHP 5.3 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 45653c55d8
Handle authentication for api domains of GitHub/Bitbucket, fixes #9173 4 years ago
Stephan 32a0563443 RemoteFileSystem: catch decode errors for content length mismatch 4 years ago
Stephan 3b2d91975e RemoteFileSystem: response decode for TransportException 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
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
Stephan d140a842fa RemoteFilesystem: avoid warning when setting max file size 4 years ago
Stephan a16f32484b Downloader: add a max_file_size to prevent too big files to be downloaded 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 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 8cec8bd546
Allow verify_peer/verify_peer_name http options to be handled by curl downloader 4 years ago
Jordi Boggiano 942562c382
Clean up Zip Util to be more strict about what is a valid package archive, fixes #8931 4 years ago
Jordi Boggiano 8b934a415f
Merge branch '1.10' 4 years ago
Jordi Boggiano 6cb4dc41b8
Fix bitbucket detection of redirects to login page, fixes #9041 4 years ago
Stephan fb0ad7c900 GitLab: clarify interactive auth prompt 4 years ago
Jordi Boggiano f70d527f4f
Fix git tests 4 years ago
Jordi Boggiano 04381c70fe
Merge branch '1.10' 4 years ago
Jordi Boggiano 93d4cf6f91
Add --no-show-signature where git supports it, fixes #8966 4 years ago
Jordi Boggiano 9f380d606c
Add basic progress bar capability while waiting for jobs to complete 4 years ago
Jordi Boggiano b1e15c7725
Fix a couple async bugs 4 years ago
Jordi Boggiano 8f6e82f562
Add support for aborting running promises cleanly 4 years ago
Jordi Boggiano 0dad963cd8
Add executeAsync to ProcessExecutor and allow Loop class to wait on it in addition to HttpDownloader 4 years ago
Michael Chekin 6d9bf42655
Additional Util\RemoteFileSystem tests (#8960)
* RemoteFilesystemTest: simplifying some mock expectations calls

- will($this->returnValue()) to willReturn()
- will($this->returnCallBack()) to willReturnCallback()

* RemoteFilesystemTest: extracting identical mocks for IOInterface into a separate getIOInterfaceMock() method

* RemoteFilesystemTest: converting protected helper methods to private.

* RemoteFilesystemTest: moving getConfigMock() private method after the public methods (with other private methods)

* adding RemoteFileSystemTest::testCopyWithRetryAuthFailureFalse() unit test.

* Allow optional injecting of AuthHelper into RemoteFilesystem constructor.

* adding RemoteFileSystemTest::testCopyWithSuccessOnRetry() unit test.

* using backward compatible @expectedException in RemoteFilesystemTest.php

* RemoteFilesystemTest: extracting RemoteFilesystem with mocked method creation into a separate method.

* RemoteFilesystemTest: extracting AuthHelper with mocked method creation into a separate method.
4 years ago
Jordi Boggiano a4a617abb4
Reduce amount of Filesystem/ProcessExecutor instantiations, add lots of docblocks 4 years ago
Graham Campbell 462dc5a933
Fix for HHVM 3 4 years ago
Matěj Kmínek a074819a51
Add support for gitlab deploy token (#8867)
* feat: Added ability to work with GitLab deploy tokens: https://docs.gitlab.com/ee/user/project/deploy_tokens/

Deploy tokens can be specified two ways:
1) GIT CONFIG:
git config --add gitlab.deploytoken.user USERNAME && git config --add gitlab.deploytoken.token TOKEN
2) Auth.json:
"gitlab-token": {
    "gitlab.com": {"username": "USERNAME", "token": "TOKEN"}
}
4 years ago
Jordi Boggiano dd0c8b4278
Merge pull request #8723 from helhum/fix-package-sorting
Fix package sorting
4 years ago
Jordi Boggiano 3134466b42
Merge branch '1.10' 4 years ago
Jordi Boggiano 4ce492d01d
Fix detection of gitlab URLs, fixes #8402, closes #8868 4 years ago
Helmut Hummel 7c891701e6 Fix package sorting
PackageSorter weighs the importance of a package
by counting how many times it is required by other packages.
This works by calculating the weight for each package name.

However currently the package index of the package array
is currently passed the weigh function, which basically
disables package sorting.

The reason for that is, that a package repository previously
returned the package list as associative array with  package name as keys,
but currently just as an array with integer keys.

Therefore we must extract the package name from the package
before passing it to the weigh function.
4 years ago
Jordi Boggiano 81bf47ffa2
Use fully qualified calls in hot classes 4 years ago
Jordi Boggiano 0d1922dc27
Add a Composer\Versions class which is available in all projects at runtime to query installed packages/versions 4 years ago
Kuba Werłos a54bf0e2d4 Use flags instead of boolean in ConfigValidator for checking version field 4 years ago
Kuba Werłos 4ec73874cb Add "no-check-version" option to ValidateCommand 4 years ago
Ayesh Karunaratne 280f02b4bc
Update HTTP URLs to their HTTPS if they already redirect automatically 5 years ago
Jordi Boggiano 40a35abb94
Resolve options when creating requests to fix 5.3 build 5 years ago
Jordi Boggiano 4cb74d33e6
Forward default HttpDownloader options to RemoteFilesystem/CurlDownloader, fixes #8757 5 years ago
Jordi Boggiano 8e664a37f5
Merge branch '1.10' 5 years ago
Matthias Van Woensel 067101dbf5
Only send GitHub API token to api.github.com domain (#8747) 5 years ago
Jordi Boggiano aa6be02c64
Allow COMPOSER_DISABLE_NETWORK to work with GitHubDriver by doing a cache priming pass first 5 years ago
Adam Žurek 25cd2382cb
Raise phpstan level to 1 (#8027) 5 years ago
Jordi Boggiano d63eb8179e
Merge branch 'master' into 2.0 5 years ago
Jordi Boggiano 0b993ba4b9
Merge pull request #8671 from ethanclevenger91/ethanclevenger91/explicit-bearer-support
Bearer support.
5 years ago
Jordi Boggiano 479414d8bd
Move bearer auth to be first to make sure it does not get shadowed by github/gitlab/.. configs 5 years ago
Jordi Boggiano 9d72c92f07
Avoid looping endlessly for invalid GitLab tokens in git config, fixes #8667 5 years ago
Ethan Clevenger cbec8ceb53 Bearer support. 5 years ago
Jordi Boggiano c5ce4de89e
Consistently return void 5 years ago
arai e61b559eb2 delete 'return' in Filesystem.php 5 years ago
Jordi Boggiano bc002ae1fb
Merge branch 'master' into 2.0 5 years ago
Stephan Vock 243ee9b1e4 Git: log error for sync mirror with existing local copy 5 years ago
Jordi Boggiano 006c3de542
Fix tests and make TTY usage on ProcessExecutor cleaner 5 years ago
Jordi Boggiano f572636628
Add support for TTY mode on Linux/OSX in script handlers when running in interactive mode, fixes #5856, fixes #3299, closes #4036 5 years ago
Jordi Boggiano 1e68555e0a
Sanitize URLs in getRepoName and centralize the Url sanitization process 5 years ago
Jordi Boggiano e6749d8717
Add comment, fix 5.3 build 5 years ago
Jordi Boggiano 30b6a41035
Extract MetadataMinifier util 5 years ago
Jordi Boggiano 4b6c25d4bc
Use Authorization header instead of deprecated access_token query param, fixes #8454 5 years ago
Jordi Boggiano a6176a7beb
Add IOInterface methods 5 years ago
Jordi Boggiano 23359f2db6
Merge branch 'master' into 2.0 5 years ago
Jordi Boggiano 3d72b56ed6
Merge branch '1.9' 5 years ago
Jordi Boggiano d3f1c664d4
Avoid formatting output from external processes, fixes #8524 5 years ago
Tyson Andre 6827105a5b Fix nits on typos 5 years ago
Adam Žurek 406a28708f updated phpstan to 0.12 5 years ago
Jordi Boggiano 5fc31716dd
Avoid using CURLPIPE_HTTP1 in php7.4+ 5 years ago
johnstevenson 74ba9decdf Rewrite NoProxyPattern to include IPv6
This includes two breaking changes:
- the hostname is not resolved in the case of an IP address.
- a hostname with a trailing period (FQDN) is not matched.

This brings the basic implementation in line with curl behaviour, with
the addition of full IP address and range matching (curl does not
differentiate between IP addresses host names).

The NO_PROXY environment variable can be set to either a comma-separated
list of host names that should not use a proxy, or single asterisk `*`
to match all hosts.

- Port numbers can be included by prefixing the port with a colon `:`.
- IP addresses can be used, but must be enclosed in square brackets
`[...]` if they include a port number.
- IP address ranges can specified in CIDR notation, separating the IP
address and prefix-length with a forward slash `/`.
5 years ago
Jordi Boggiano 88b051c96b
Merge branch 'master' into 2.0
Update deps
5 years ago
Jordi Boggiano 67e170eaa8
Merge branch '1.9' 5 years ago
Jordi Boggiano 89f6b2c54c
Merge pull request #8418 from glaubinix/f/github-authentication-behaviour
Git: fix authentication handling for private GitHub repositories
5 years ago
Stephan Vock b847115617 Git: fix authentication handling for private GitHub repositories 5 years ago
Jordi Boggiano eb3e3063b8
Revert "When network is disabled all uncached requests result in 404"
This reverts commit c325112670.
5 years ago
Nils Adermann c325112670 When network is disabled all uncached requests result in 404 5 years ago
Nils Adermann 7ef3a31de7 Make TransportException in network disabled case clearer
Otherwise it's a bit hard to work out what request triggered the exception
5 years ago
johnstevenson 7e649fac41 Fix Windows test regression from commit 149250a
Commit: 149250ab92

ProcessExecutor::escape handled a false value inconsistently across
platforms, returning an emtpy string on Windows, otherwise `''`. This
is fixed to return `""` on Windows.

The GitDownloaderTest code has been appropriately updated.
5 years ago
Jordi Boggiano f867c407c7
Merge branch 'master' into 2.0 5 years ago
Jordi Boggiano a0690525b5
Merge branch '1.9' 5 years ago
Jordi Boggiano 149250ab92
Remove credentials from git remotes in cache and vendor dirs
This only removes the credentials if they are managed by composer auth.json or equivalent, if the credentials were present in the package URL to begin with they might remain

Refs #8293
Fixes #3644
Closes #3608
5 years ago
Jordi Boggiano 4e43f849c7
Avoid overwriting credentials with existing ones from git repos, refs #8293 5 years ago
Jordi Boggiano 12184aa9c5
Fix github auth to try https with pwd also, fixes #8356 5 years ago
Jordi Boggiano b925d06861
Fix gitlab support for basic-auth fallback from ssh URLs 5 years ago
Jordi Boggiano ae9cc3db58
Avoid clearing the error output during removeDirectory execution, losing git error output, fixes #8351 5 years ago
Jordi Boggiano bc2a1d762a
Merge branch 'master' into 2.0 5 years ago
Jordi Boggiano 78b8c365cd
Merge branch '1.9' 5 years ago
Jordi Boggiano f2700bbd98
Merge pull request #8377 from TysonAndre/misc-nit
Fix misc phpdoc and strpos arg order nits for suggestions
5 years ago
Mikhail Fesenko c2f1a6b643 Added clear cache for windows, fix tests 5 years ago
Tyson Andre 4c8e41d9a9 Fix misc phpdoc and strpos arg order nits
https://www.php.net/strpos has the signature
`strpos ( string $haystack , mixed $needle [, int $offset = 0 ] ) : int`
(The needle is usually the constant)

`strpos('/', $suggestion)` would only be `false` for `''` and `'/'`

So the existing check would just not suggest **anything** that was
already installed (from pecl, built-in, or composer).

The intent seems to be to not suggest non-vendored php packages
that were already installed. (b20cc22ebb)
5 years ago
Stephan Vock 0d1d35c346 Debug: display used authentication for http calls 5 years ago
Jordi Boggiano f0d565bb6d
Avoid transforming the origins when prompting for auth, fixes #8300 5 years ago
Jordi Boggiano fd70d9cdc3
Stripe access tokens in a more generic way 5 years ago
Jordi Boggiano 53d2ab2253
Split up steps on VCS downloaders to allow doing network operations before touching the filesystem on GitDownloader, fixes #7903 5 years ago