1
0
Fork 0
Commit Graph

269 Commits (bae227ec2d2fe593bdae406687caab8901b7619f)

Author SHA1 Message Date
Jordi Boggiano 9521d1e7ad Make use of new hashed provider filenames, fixes #1431, refs composer/packagist#283 2013-02-21 16:50:04 +01:00
Eric Daspet 59f8be3b92 Throw Exception on broken signature
This is related to issue #1562

With a fresh installation of Composer I had the following message:

> The contents of https://packagist.org/p/providers-latest.json do not
match its signature, this is most likely due to a temporary glitch but
could indicate a man-in-the-middle attack.
> Try running composer again and please report it if it still persists.

This was *probably* a temporary glitch, as the error did not appear
again, even after a full reinstallation of all packages.

*However* Composer had no way to differentiate a man-in-the-middle
attack and a temporary glitch. The installation / update did continue
despite the problem and files where installed / updates with no easy
rollback. These files may have been corrupted with malicious code and I
have no way to check they don't.

This is a *serious* security issue.

The code in [ComposerRepository line
434](https://github.com/composer/composer/blob/master/src/Composer/Repos
itory/ComposerRepository.php#L434) states

```php
// TODO throw SecurityException and abort once we are sure this can not
happen accidentally
````

Even if the broken signature may happen in accidentally in a standard
process, if it may be a security issue, we have to abort the procedure,
or at least ask for confirmation to the user. If it helps continuing
despite the temporary glitch, it may be possible to add a command line
switch like `--ignore-signature` to force the process to continue.

Proposed :
Send a RepositorySecurityException instead of the warning, even if this
may happen accidentally
2013-02-14 15:53:40 +01:00
Jordi Boggiano a8f74a0983 Allow notification from locked installs, fixes #1368, fixes #1372, fixes #1369 2012-11-29 09:24:28 +01:00
Jordi Boggiano e868c9706b Add support for batch notifications 2012-11-28 18:44:49 +01:00
Jordi Boggiano 15475f0ef2 Rename cache dirs to consolidate them by purpose 2012-11-23 00:15:14 +01:00
Jordi Boggiano cbd91b5952 Fix FILTER_VALIDATE_URL not supporting IDNs 2012-11-05 15:39:43 +01:00
Martin Hasoň 45c1c3f881 Fixed package name for stability test in ComposerRepository 2012-10-30 22:20:49 +01:00
Bilal Amarni b10c832be0 fixed a typo 2012-10-28 09:57:42 +01:00
Jordi Boggiano 125ff3e4f5 Fix root aliasing with new providers repo format 2012-10-24 16:11:32 +02:00
Jordi Boggiano ad9f887edd Clarify error message to sound less scary until we can guarantee it 2012-10-23 10:53:17 +02:00
Chris Smith 9ed481ef02 Fix handling of legacy Composer repositories 2012-10-22 21:40:32 +01:00
Jordi Boggiano e887f6cea9 Fix CS 2012-10-22 20:25:11 +02:00
Jordi Boggiano 89d4df990a Use JsonFile to decode cached entries 2012-10-22 17:56:30 +02:00
Jordi Boggiano fef3dacdfb Reset ids of aliased packages as well 2012-10-22 14:28:55 +02:00
Jordi Boggiano 338127ff9c Disable failure on hash mismatch until it can be proven to work reliably 2012-10-21 16:10:47 +02:00
Jordi Boggiano 5978197b5d Reset package IDs before they can be used in the pool in case there are already some in the cache 2012-10-18 12:57:55 +02:00
Jordi Boggiano 541bcabbc0 Actually check the hash after downloading 2012-10-15 14:37:27 +02:00
Jordi Boggiano 07f72e9fb6 Add support for provider listings 2012-10-14 16:33:53 +02:00
Jordi Boggiano a3f9accd37 Fix various dumb issues 2012-10-13 18:54:48 +02:00
Jordi Boggiano aafc1f7857 Make sure alias package have a repo instance set 2012-10-13 17:19:06 +02:00
Jordi Boggiano 41c7432fef Do not fetch from repo for packages that obviously can not be there 2012-10-13 17:18:47 +02:00
Jordi Boggiano c0e5736ae7 Add support for one-file-per-provider composer repositories 2012-10-12 18:24:26 +02:00
Jordi Boggiano 116b822953 Fix loop and add missing options 2012-10-11 21:35:51 +02:00
Jordi Boggiano 1d80720405 Add retries and failover of all jsons to cache even if the main one worked 2012-10-11 21:26:11 +02:00
Jordi Boggiano fb296972ef Enable https for packagist when possible 2012-10-11 20:57:31 +02:00
Sander Marechal 6cf860669f Add repository stream context options
Add support for passing stream context options to the
StreamContextFactory. This allows support for SSH keyfiles, SSL
certificates and much more. Example:

{
    "repositories": [
        {
            "type": "composer",
            "url": "ssh2.sftp://host:22/path/to/packages.json",
            "options": {
                "ssh2": {
                    "username": "composer",
                    "pubkey_file": "/path/to/composer.key.pub",
                    "privkey_file": "/path/to/composer.key"
                }
            }
        }
    ]
}
2012-10-03 14:49:41 +02:00
Sander Marechal 4799053ca9 Allow dot in URL scheme
This makes it possible to support SSH2 urls, like ssh2.scp://
See: http://www.php.net/manual/en/wrappers.ssh2.php
2012-10-03 10:50:02 +02:00
Jordi Boggiano c14826dd1e Fix exception handling when loading repos 2012-09-08 13:49:37 +02:00
Jordi Boggiano fe4516aff8 Clarify exception messages when a package can not be loaded from a composer repository, fixes #1070 2012-09-08 02:00:02 +02:00
Povilas Balzaravicius Pawka 57d1b5a37d Issue #1056. Fixed callback call error on search command. 2012-09-06 09:15:29 +03:00
Jordi Boggiano 803178d28f CS fixes for #1038 2012-08-29 15:24:05 +02:00
Christoph Hochstrasser 560d6daccf Using separate variable for URL parts 2012-08-29 15:12:08 +02:00
Christoph Hochstrasser 841efc98a6 Appending 'packages.json' only if not present in URL 2012-08-29 15:08:04 +02:00
Jordi Boggiano c14bc368b0 Fix memory usage of the update command 2012-08-24 02:29:37 +02:00
Jordi Boggiano e3b6bd781c Add RepositoryInterface::filterPackages to stream ops on lists
This cuts down on memory usage and also speeds up the search command to a third of its previous time
2012-08-24 02:29:33 +02:00
Jordi Boggiano d6de4a0036 Rename Package interfaces to reduce BC issues 2012-08-24 02:29:31 +02:00
Jordi Boggiano e46d26cb9b Add loadAliasPackage to the StreamableRepositoryInterface and clear up responsibilities between Pool and Repositories 2012-08-24 02:29:29 +02:00
Jordi Boggiano 26e8217db7 Remove duplication of branch alias parsing code 2012-08-24 02:29:26 +02:00
Jordi Boggiano 2d4076e9b2 Add support for aliases in streamed repos 2012-08-24 02:29:24 +02:00
Jordi Boggiano c8a685be6b Reduce memory usage by only loading packages that are actually needed, fixes #456 2012-08-24 02:29:23 +02:00
Jordi Boggiano a54bf6269e Improve error messages when network failures occur 2012-08-17 16:51:58 +02:00
Jordi Boggiano 2d41774bcc Add warning when loading an https repo if openssl is disabled, refs #930 2012-07-20 10:27:18 +02:00
Jordi Boggiano d80180c2b9 Allow notifyUrl to be a complete URL 2012-07-18 14:57:17 +02:00
Jordi Boggiano a06ebdd8ef Add caching to svn metadata 2012-06-18 15:38:47 +02:00
Jordi Boggiano 1bd4ccbd54 php-cs-fixer magic 2012-05-22 12:07:08 +02:00
Jordi Boggiano 8ff497ac6f Skip filter_var on 5.3.2 since it is buggy 2012-04-27 14:04:39 +02:00
Jordi Boggiano 70ad8274cd Work around poorly configured php 2012-04-26 15:47:22 +02:00
Jordi Boggiano b094ef7155 Add repository notification API support 2012-04-13 02:59:23 +02:00
Jordi Boggiano fc29487a2a Add home config key and use it to create the cache instance 2012-04-09 16:36:06 +02:00
Jordi Boggiano 0d97ec4783 Add cache to the composer repositories 2012-04-06 22:39:43 +02:00
Jordi Boggiano a476d1f97d Add support for the new composer repository format 2012-04-06 20:40:31 +02:00
Jordi Boggiano a67f62990c Prepare for upcoming format break 2012-04-06 19:56:34 +02:00
Jordi Boggiano 7f65dd7409 Use RemoteFilesystem everywhere we do http requests 2012-03-18 21:26:04 +01:00
Jordi Boggiano 774e9d0da6 Remove dependency on filter_var 2012-03-05 15:13:07 +01:00
Jordi Boggiano f6b9488bf0 Move root package handling to a dedicated loader and make ArrayLoader more strict 2011-12-13 01:05:29 +01:00
Matthias Pigulla ebbc807de0 Fix whitespaces and add strict return code checking 2011-12-12 10:57:57 +01:00
Matthias Pigulla 4e1cb32f8c Allow for file://-URLs here as well 2011-12-09 23:37:52 +01:00
Jordi Boggiano 2e8762744f Fix ComposerRepository ctor 2011-12-03 12:43:38 +01:00
Fabien Potencier 527c711149 Move loader creation to avoid creating it more than once, unified the way packages are loading across repository classes 2011-10-29 07:43:26 +02:00
Jordi Boggiano 9b24734c9d Add parsing and on-the-fly loading of repositories defined in packages 2011-10-23 19:40:34 +02:00
everzet 1cca62dc97 move json parsing instructions into single class object 2011-10-01 16:01:33 +03:00
everzet 9deb10361f second batch of refactoring 2011-09-21 00:43:53 +03:00
everzet 5f4d46f7ae repository factoring refactoring 2011-09-21 00:39:15 +03:00
Jordi Boggiano ba9f12a517 Add extra and type info to packages 2011-08-21 13:33:37 +02:00
Jordi Boggiano 49c3446ac1 Make use of new dist properties, refactored ZipDownloader 2011-07-06 21:06:52 +02:00
Jordi Boggiano d185194d1a Create links/constraints between packages 2011-04-23 20:52:37 +02:00
Jordi Boggiano b53a3086b6 Minor refactorings and changes 2011-04-21 21:13:14 +02:00
Nils Adermann f0af6b7d57 It's called a repository, not a registry 2011-04-18 22:48:51 +02:00
Jordi Boggiano e03983697a Add base installer/downloader and ComposerRepository 2011-04-18 00:15:05 +02:00