From bad86c74fc0444fe72a7d471d23b18d2929c1dd4 Mon Sep 17 00:00:00 2001 From: Jonathon Joseph Date: Thu, 30 Nov 2017 16:04:39 -0500 Subject: [PATCH 1/5] Initial commit --- Resources/config/services.yml | 17 + composer.json | 2 +- composer.lock | 1817 +++++++++++++++++++++++++++------ 3 files changed, 1517 insertions(+), 319 deletions(-) diff --git a/Resources/config/services.yml b/Resources/config/services.yml index cbecd68..58ca076 100644 --- a/Resources/config/services.yml +++ b/Resources/config/services.yml @@ -55,3 +55,20 @@ services: - '@giftcards.encryption.encryptor' tags: - { name: console.command } + + giftcards.encryption.rotator: + class: Giftcards\Encryption\CipherText\Rotator\Rotator + arguments: + - '@giftcards.encryption.encryptor' + - '@giftcards.encryption.store_registry' #TODO: Create this service + + giftcards.encryption.command.rotate_store: + class: Giftcards\Encryption\Command\RotateStoreCommand + arguments: + - '@giftcards.encryption.rotator' + - '@giftcards.encryption.rotator.tracker' #TODO: Create this service + + giftcards.encryption.command.rotate_range: + class: Giftcards\Encryption\Command\RotateRangeInStoreCommand + arguments: + - '@giftcards.encryption.rotator' \ No newline at end of file diff --git a/composer.json b/composer.json index 4a816a2..a9ce2d4 100644 --- a/composer.json +++ b/composer.json @@ -4,7 +4,7 @@ "description": "Bundle to integrate the giftcards/encryption lib into symfony", "require": { "symfony/symfony": "~2.6|~3.0", - "giftcards/encryption": "~1.5" + "giftcards/encryption": "~1.6" }, "require-dev": { "mockery/mockery": "0.9.9", diff --git a/composer.lock b/composer.lock index d459967..eb3dacf 100644 --- a/composer.lock +++ b/composer.lock @@ -4,47 +4,258 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "This file is @generated automatically" ], - "content-hash": "824b19cb1a88cc539a4b143d71ac71fd", + "content-hash": "480de409888f9c666477f726e73092d4", "packages": [ { - "name": "doctrine/common", - "version": "2.2.0", + "name": "doctrine/annotations", + "version": "v1.5.0", "source": { "type": "git", - "url": "https://github.com/doctrine/common.git", - "reference": "84838bb8c9896cea6210050a2e1264ee9592ca1b" + "url": "https://github.com/doctrine/annotations.git", + "reference": "5beebb01b025c94e93686b7a0ed3edae81fe3e7f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/common/zipball/84838bb8c9896cea6210050a2e1264ee9592ca1b", - "reference": "84838bb8c9896cea6210050a2e1264ee9592ca1b", + "url": "https://api.github.com/repos/doctrine/annotations/zipball/5beebb01b025c94e93686b7a0ed3edae81fe3e7f", + "reference": "5beebb01b025c94e93686b7a0ed3edae81fe3e7f", "shasum": "" }, "require": { - "php": ">=5.3.2" + "doctrine/lexer": "1.*", + "php": "^7.1" + }, + "require-dev": { + "doctrine/cache": "1.*", + "phpunit/phpunit": "^5.7" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.5.x-dev" + } + }, "autoload": { - "psr-0": { - "Doctrine\\Common": "lib/" + "psr-4": { + "Doctrine\\Common\\Annotations\\": "lib/Doctrine/Common/Annotations" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "Docblock Annotations Parser", + "homepage": "http://www.doctrine-project.org", + "keywords": [ + "annotations", + "docblock", + "parser" + ], + "time": "2017-07-22T10:58:02+00:00" + }, + { + "name": "doctrine/cache", + "version": "v1.7.1", + "source": { + "type": "git", + "url": "https://github.com/doctrine/cache.git", + "reference": "b3217d58609e9c8e661cd41357a54d926c4a2a1a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/cache/zipball/b3217d58609e9c8e661cd41357a54d926c4a2a1a", + "reference": "b3217d58609e9c8e661cd41357a54d926c4a2a1a", + "shasum": "" + }, + "require": { + "php": "~7.1" + }, + "conflict": { + "doctrine/common": ">2.2,<2.4" + }, + "require-dev": { + "alcaeus/mongo-php-adapter": "^1.1", + "mongodb/mongodb": "^1.1", + "phpunit/phpunit": "^5.7", + "predis/predis": "~1.0" + }, + "suggest": { + "alcaeus/mongo-php-adapter": "Required to use legacy MongoDB driver" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.7.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\Common\\Cache\\": "lib/Doctrine/Common/Cache" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "LGPL" + "MIT" ], "authors": [ + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, { "name": "Jonathan Wage", - "email": "jonwage@gmail.com", - "homepage": "http://www.jwage.com/", - "role": "Creator" + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "Caching library offering an object-oriented API for many cache backends", + "homepage": "http://www.doctrine-project.org", + "keywords": [ + "cache", + "caching" + ], + "time": "2017-08-25T07:02:50+00:00" + }, + { + "name": "doctrine/collections", + "version": "v1.5.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/collections.git", + "reference": "a01ee38fcd999f34d9bfbcee59dbda5105449cbf" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/collections/zipball/a01ee38fcd999f34d9bfbcee59dbda5105449cbf", + "reference": "a01ee38fcd999f34d9bfbcee59dbda5105449cbf", + "shasum": "" + }, + "require": { + "php": "^7.1" + }, + "require-dev": { + "doctrine/coding-standard": "~0.1@dev", + "phpunit/phpunit": "^5.7" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.3.x-dev" + } + }, + "autoload": { + "psr-0": { + "Doctrine\\Common\\Collections\\": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" }, { "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com", - "homepage": "http://www.instaclick.com" + "email": "guilhermeblanco@gmail.com" }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "Collections Abstraction library", + "homepage": "http://www.doctrine-project.org", + "keywords": [ + "array", + "collections", + "iterator" + ], + "time": "2017-07-22T10:37:32+00:00" + }, + { + "name": "doctrine/common", + "version": "v2.8.1", + "source": { + "type": "git", + "url": "https://github.com/doctrine/common.git", + "reference": "f68c297ce6455e8fd794aa8ffaf9fa458f6ade66" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/common/zipball/f68c297ce6455e8fd794aa8ffaf9fa458f6ade66", + "reference": "f68c297ce6455e8fd794aa8ffaf9fa458f6ade66", + "shasum": "" + }, + "require": { + "doctrine/annotations": "1.*", + "doctrine/cache": "1.*", + "doctrine/collections": "1.*", + "doctrine/inflector": "1.*", + "doctrine/lexer": "1.*", + "php": "~7.1" + }, + "require-dev": { + "phpunit/phpunit": "^5.7" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.8.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\Common\\": "lib/Doctrine/Common" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ { "name": "Roman Borschel", "email": "roman@code-factory.org" @@ -53,11 +264,17 @@ "name": "Benjamin Eberlei", "email": "kontakt@beberlei.de" }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, { "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com", - "homepage": "https://github.com/schmittjoh", - "role": "Developer of wrapped JMSSerializerBundle" + "email": "schmittjoh@gmail.com" } ], "description": "Common Library for Doctrine projects", @@ -69,70 +286,830 @@ "persistence", "spl" ], - "time": "2012-01-29T08:29:07+00:00" + "time": "2017-08-31T08:43:38+00:00" }, { - "name": "giftcards/encryption", - "version": "1.5.0", - "target-dir": "Giftcards/Encryption", + "name": "doctrine/inflector", + "version": "v1.2.0", "source": { "type": "git", - "url": "https://github.com/giftcards/Encryption.git", - "reference": "6306fe132d1d392936dc23cad52957b122622b8a" + "url": "https://github.com/doctrine/inflector.git", + "reference": "e11d84c6e018beedd929cff5220969a3c6d1d462" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/giftcards/Encryption/zipball/6306fe132d1d392936dc23cad52957b122622b8a", - "reference": "6306fe132d1d392936dc23cad52957b122622b8a", + "url": "https://api.github.com/repos/doctrine/inflector/zipball/e11d84c6e018beedd929cff5220969a3c6d1d462", + "reference": "e11d84c6e018beedd929cff5220969a3c6d1d462", "shasum": "" }, "require": { - "symfony/options-resolver": "~2.6|~3.0" + "php": "^7.0" }, "require-dev": { - "doctrine/cache": "~1.4", - "doctrine/dbal": "~2.1", - "doctrine/mongodb": "~1.1", - "doctrine/mongodb-odm": "~1.0", - "doctrine/orm": "~2.1", - "fzaninotto/faker": "~1.3", - "guzzle/guzzle": "~3.4", - "mockery/mockery": ">=0.8@dev", - "symfony/console": "~2.3|~3.0", - "symfony/dependency-injection": "~2.3|~3.0", - "symfony/form": "~2.3|~3.0" + "phpunit/phpunit": "^6.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.2.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\Common\\Inflector\\": "lib/Doctrine/Common/Inflector" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "Common String Manipulations with regard to casing and singular/plural rules.", + "homepage": "http://www.doctrine-project.org", + "keywords": [ + "inflection", + "pluralize", + "singularize", + "string" + ], + "time": "2017-07-22T12:18:28+00:00" + }, + { + "name": "doctrine/lexer", + "version": "v1.0.1", + "source": { + "type": "git", + "url": "https://github.com/doctrine/lexer.git", + "reference": "83893c552fd2045dd78aef794c31e694c37c0b8c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/lexer/zipball/83893c552fd2045dd78aef794c31e694c37c0b8c", + "reference": "83893c552fd2045dd78aef794c31e694c37c0b8c", + "shasum": "" + }, + "require": { + "php": ">=5.3.2" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, "autoload": { "psr-0": { - "Giftcards\\Encryption": "" + "Doctrine\\Common\\Lexer\\": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" } + ], + "description": "Base library for a lexer that can be used in Top-Down, Recursive Descent Parsers.", + "homepage": "http://www.doctrine-project.org", + "keywords": [ + "lexer", + "parser" + ], + "time": "2014-09-09T13:34:57+00:00" + }, + { + "name": "fig/link-util", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/link-util.git", + "reference": "1a07821801a148be4add11ab0603e4af55a72fac" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/link-util/zipball/1a07821801a148be4add11ab0603e4af55a72fac", + "reference": "1a07821801a148be4add11ab0603e4af55a72fac", + "shasum": "" + }, + "require": { + "php": ">=5.5.0", + "psr/link": "~1.0@dev" + }, + "require-dev": { + "phpunit/phpunit": "^5.1", + "squizlabs/php_codesniffer": "^2.3.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Fig\\Link\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common utility implementations for HTTP links", + "keywords": [ + "http", + "http-link", + "link", + "psr", + "psr-13", + "rest" + ], + "time": "2016-10-17T18:31:11+00:00" + }, + { + "name": "giftcards/encryption", + "version": "1.6.0", + "target-dir": "Giftcards/Encryption", + "source": { + "type": "git", + "url": "https://github.com/giftcards/Encryption.git", + "reference": "95332f3b51b45e1144179407425044a2a89b245e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/giftcards/Encryption/zipball/95332f3b51b45e1144179407425044a2a89b245e", + "reference": "95332f3b51b45e1144179407425044a2a89b245e", + "shasum": "" + }, + "require": { + "symfony/options-resolver": "~2.6|~3.0" + }, + "require-dev": { + "alcaeus/mongo-php-adapter": "^1.0", + "doctrine/cache": "~1.4", + "doctrine/dbal": "~2.1", + "doctrine/mongodb": "~1.1", + "doctrine/mongodb-odm": "~1.0", + "doctrine/orm": "~2.1", + "fzaninotto/faker": "~1.3", + "guzzle/guzzle": "~3.4", + "mockery/mockery": "0.9.9", + "phpunit/phpunit": "^4.8", + "symfony/console": "~2.3|~3.0", + "symfony/dependency-injection": "~2.3|~3.0", + "symfony/form": "~2.3|~3.0" + }, + "type": "library", + "autoload": { + "psr-0": { + "Giftcards\\Encryption": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Library that helps with managing encrypting data.", + "time": "2017-11-30T18:39:04+00:00" + }, + { + "name": "paragonie/random_compat", + "version": "v2.0.11", + "source": { + "type": "git", + "url": "https://github.com/paragonie/random_compat.git", + "reference": "5da4d3c796c275c55f057af5a643ae297d96b4d8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/paragonie/random_compat/zipball/5da4d3c796c275c55f057af5a643ae297d96b4d8", + "reference": "5da4d3c796c275c55f057af5a643ae297d96b4d8", + "shasum": "" + }, + "require": { + "php": ">=5.2.0" + }, + "require-dev": { + "phpunit/phpunit": "4.*|5.*" + }, + "suggest": { + "ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes." + }, + "type": "library", + "autoload": { + "files": [ + "lib/random.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Paragon Initiative Enterprises", + "email": "security@paragonie.com", + "homepage": "https://paragonie.com" + } + ], + "description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7", + "keywords": [ + "csprng", + "pseudorandom", + "random" + ], + "time": "2017-09-27T21:40:39+00:00" + }, + { + "name": "psr/cache", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/php-fig/cache.git", + "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/cache/zipball/d11b50ad223250cf17b86e38383413f5a6764bf8", + "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Cache\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interface for caching libraries", + "keywords": [ + "cache", + "psr", + "psr-6" + ], + "time": "2016-08-06T20:24:11+00:00" + }, + { + "name": "psr/container", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/container.git", + "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/container/zipball/b7ce3b176482dbbc1245ebf52b181af44c2cf55f", + "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Container\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common Container Interface (PHP FIG PSR-11)", + "homepage": "https://github.com/php-fig/container", + "keywords": [ + "PSR-11", + "container", + "container-interface", + "container-interop", + "psr" + ], + "time": "2017-02-14T16:28:37+00:00" + }, + { + "name": "psr/link", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/link.git", + "reference": "eea8e8662d5cd3ae4517c9b864493f59fca95562" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/link/zipball/eea8e8662d5cd3ae4517c9b864493f59fca95562", + "reference": "eea8e8662d5cd3ae4517c9b864493f59fca95562", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Link\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interfaces for HTTP links", + "keywords": [ + "http", + "http-link", + "link", + "psr", + "psr-13", + "rest" + ], + "time": "2016-10-28T16:06:13+00:00" + }, + { + "name": "psr/log", + "version": "1.0.2", + "source": { + "type": "git", + "url": "https://github.com/php-fig/log.git", + "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/log/zipball/4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", + "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Log\\": "Psr/Log/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interface for logging libraries", + "homepage": "https://github.com/php-fig/log", + "keywords": [ + "log", + "psr", + "psr-3" + ], + "time": "2016-10-10T12:19:37+00:00" + }, + { + "name": "psr/simple-cache", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/simple-cache.git", + "reference": "753fa598e8f3b9966c886fe13f370baa45ef0e24" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/753fa598e8f3b9966c886fe13f370baa45ef0e24", + "reference": "753fa598e8f3b9966c886fe13f370baa45ef0e24", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\SimpleCache\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interfaces for simple caching", + "keywords": [ + "cache", + "caching", + "psr", + "psr-16", + "simple-cache" + ], + "time": "2017-01-02T13:31:39+00:00" + }, + { + "name": "symfony/polyfill-apcu", + "version": "v1.6.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-apcu.git", + "reference": "04f62674339602def515bff4bc6901fc1d4951e8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-apcu/zipball/04f62674339602def515bff4bc6901fc1d4951e8", + "reference": "04f62674339602def515bff4bc6901fc1d4951e8", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.6-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Apcu\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting apcu_* functions to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "apcu", + "compatibility", + "polyfill", + "portable", + "shim" + ], + "time": "2017-10-11T12:05:26+00:00" + }, + { + "name": "symfony/polyfill-intl-icu", + "version": "v1.6.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-icu.git", + "reference": "d2bb2ef00dd8605d6fbd4db53ed4af1395953497" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-icu/zipball/d2bb2ef00dd8605d6fbd4db53ed4af1395953497", + "reference": "d2bb2ef00dd8605d6fbd4db53ed4af1395953497", + "shasum": "" + }, + "require": { + "php": ">=5.3.3", + "symfony/intl": "~2.3|~3.0|~4.0" + }, + "suggest": { + "ext-intl": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.6-dev" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for intl's ICU-related data and classes", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "icu", + "intl", + "polyfill", + "portable", + "shim" + ], + "time": "2017-10-11T12:05:26+00:00" + }, + { + "name": "symfony/polyfill-mbstring", + "version": "v1.6.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-mbstring.git", + "reference": "2ec8b39c38cb16674bbf3fea2b6ce5bf117e1296" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/2ec8b39c38cb16674bbf3fea2b6ce5bf117e1296", + "reference": "2ec8b39c38cb16674bbf3fea2b6ce5bf117e1296", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "suggest": { + "ext-mbstring": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.6-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Mbstring\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for the Mbstring extension", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "mbstring", + "polyfill", + "portable", + "shim" + ], + "time": "2017-10-11T12:05:26+00:00" + }, + { + "name": "symfony/polyfill-php56", + "version": "v1.6.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php56.git", + "reference": "265fc96795492430762c29be291a371494ba3a5b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php56/zipball/265fc96795492430762c29be291a371494ba3a5b", + "reference": "265fc96795492430762c29be291a371494ba3a5b", + "shasum": "" + }, + "require": { + "php": ">=5.3.3", + "symfony/polyfill-util": "~1.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.6-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Php56\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 5.6+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "time": "2017-10-11T12:05:26+00:00" + }, + { + "name": "symfony/polyfill-php70", + "version": "v1.6.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php70.git", + "reference": "0442b9c0596610bd24ae7b5f0a6cdbbc16d9fcff" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php70/zipball/0442b9c0596610bd24ae7b5f0a6cdbbc16d9fcff", + "reference": "0442b9c0596610bd24ae7b5f0a6cdbbc16d9fcff", + "shasum": "" + }, + "require": { + "paragonie/random_compat": "~1.0|~2.0", + "php": ">=5.3.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.6-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Php70\\": "" + }, + "files": [ + "bootstrap.php" + ], + "classmap": [ + "Resources/stubs" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], - "description": "Library that helps with managing encrypting data.", - "time": "2016-12-08T23:09:29+00:00" + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 7.0+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "time": "2017-10-11T12:05:26+00:00" }, { - "name": "psr/log", - "version": "1.0.0", + "name": "symfony/polyfill-util", + "version": "v1.6.0", "source": { "type": "git", - "url": "https://github.com/php-fig/log.git", - "reference": "fe0936ee26643249e916849d48e3a51d5f5e278b" + "url": "https://github.com/symfony/polyfill-util.git", + "reference": "6e719200c8e540e0c0effeb31f96bdb344b94176" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/fe0936ee26643249e916849d48e3a51d5f5e278b", - "reference": "fe0936ee26643249e916849d48e3a51d5f5e278b", + "url": "https://api.github.com/repos/symfony/polyfill-util/zipball/6e719200c8e540e0c0effeb31f96bdb344b94176", + "reference": "6e719200c8e540e0c0effeb31f96bdb344b94176", "shasum": "" }, + "require": { + "php": ">=5.3.3" + }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.6-dev" + } + }, "autoload": { - "psr-0": { - "Psr\\Log\\": "" + "psr-4": { + "Symfony\\Polyfill\\Util\\": "" } }, "notification-url": "https://packagist.org/downloads/", @@ -141,40 +1118,71 @@ ], "authors": [ { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "Common interface for logging libraries", + "description": "Symfony utilities for portability of PHP codes", + "homepage": "https://symfony.com", "keywords": [ - "log", - "psr", - "psr-3" + "compat", + "compatibility", + "polyfill", + "shim" ], - "time": "2012-12-21T11:40:51+00:00" + "time": "2017-10-11T12:05:26+00:00" }, { "name": "symfony/symfony", - "version": "v2.6.0", + "version": "v3.4.0", "source": { "type": "git", "url": "https://github.com/symfony/symfony.git", - "reference": "645bb3248db50d653d18929eb0c92b131b4f35ad" + "reference": "0a47db379b8cc74cdd84e1e6870fafc4a4ac8351" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/symfony/zipball/645bb3248db50d653d18929eb0c92b131b4f35ad", - "reference": "645bb3248db50d653d18929eb0c92b131b4f35ad", + "url": "https://api.github.com/repos/symfony/symfony/zipball/0a47db379b8cc74cdd84e1e6870fafc4a4ac8351", + "reference": "0a47db379b8cc74cdd84e1e6870fafc4a4ac8351", "shasum": "" }, "require": { - "doctrine/common": "~2.2", - "php": ">=5.3.3", + "doctrine/common": "~2.4", + "ext-xml": "*", + "fig/link-util": "^1.0", + "php": "^5.5.9|>=7.0.8", + "psr/cache": "~1.0", + "psr/container": "^1.0", + "psr/link": "^1.0", "psr/log": "~1.0", - "twig/twig": "~1.12" + "psr/simple-cache": "^1.0", + "symfony/polyfill-apcu": "~1.1", + "symfony/polyfill-intl-icu": "~1.0", + "symfony/polyfill-mbstring": "~1.0", + "symfony/polyfill-php56": "~1.0", + "symfony/polyfill-php70": "~1.6", + "symfony/polyfill-util": "~1.0", + "twig/twig": "^1.35|^2.4.4" + }, + "conflict": { + "phpdocumentor/reflection-docblock": "<3.0||>=3.2.0,<3.2.2", + "phpdocumentor/type-resolver": "<0.2.1", + "phpunit/phpunit": "<4.8.35|<5.4.3,>=5.0" + }, + "provide": { + "psr/cache-implementation": "1.0", + "psr/container-implementation": "1.0", + "psr/log-implementation": "1.0", + "psr/simple-cache-implementation": "1.0" }, "replace": { + "symfony/asset": "self.version", "symfony/browser-kit": "self.version", + "symfony/cache": "self.version", "symfony/class-loader": "self.version", "symfony/config": "self.version", "symfony/console": "self.version", @@ -184,6 +1192,7 @@ "symfony/dependency-injection": "self.version", "symfony/doctrine-bridge": "self.version", "symfony/dom-crawler": "self.version", + "symfony/dotenv": "self.version", "symfony/event-dispatcher": "self.version", "symfony/expression-language": "self.version", "symfony/filesystem": "self.version", @@ -192,60 +1201,73 @@ "symfony/framework-bundle": "self.version", "symfony/http-foundation": "self.version", "symfony/http-kernel": "self.version", + "symfony/inflector": "self.version", "symfony/intl": "self.version", - "symfony/locale": "self.version", + "symfony/ldap": "self.version", + "symfony/lock": "self.version", "symfony/monolog-bridge": "self.version", "symfony/options-resolver": "self.version", "symfony/process": "self.version", - "symfony/propel1-bridge": "self.version", "symfony/property-access": "self.version", + "symfony/property-info": "self.version", "symfony/proxy-manager-bridge": "self.version", "symfony/routing": "self.version", "symfony/security": "self.version", - "symfony/security-acl": "self.version", "symfony/security-bundle": "self.version", "symfony/security-core": "self.version", "symfony/security-csrf": "self.version", + "symfony/security-guard": "self.version", "symfony/security-http": "self.version", "symfony/serializer": "self.version", "symfony/stopwatch": "self.version", - "symfony/swiftmailer-bridge": "self.version", "symfony/templating": "self.version", "symfony/translation": "self.version", "symfony/twig-bridge": "self.version", "symfony/twig-bundle": "self.version", "symfony/validator": "self.version", "symfony/var-dumper": "self.version", + "symfony/web-link": "self.version", "symfony/web-profiler-bundle": "self.version", + "symfony/web-server-bundle": "self.version", + "symfony/workflow": "self.version", "symfony/yaml": "self.version" }, "require-dev": { + "cache/integration-tests": "dev-master", + "doctrine/annotations": "~1.0", + "doctrine/cache": "~1.6", "doctrine/data-fixtures": "1.0.*", - "doctrine/dbal": "~2.2", - "doctrine/doctrine-bundle": "~1.2", - "doctrine/orm": "~2.2,>=2.2.3", - "egulias/email-validator": "~1.2", - "ircmaxell/password-compat": "1.0.*", + "doctrine/dbal": "~2.4", + "doctrine/doctrine-bundle": "~1.4", + "doctrine/orm": "~2.4,>=2.4.5", + "egulias/email-validator": "~1.2,>=1.2.8|~2.0", "monolog/monolog": "~1.11", - "ocramius/proxy-manager": ">=0.3.1,<0.6-dev", - "propel/propel1": "~1.6" + "ocramius/proxy-manager": "~0.4|~1.0|~2.0", + "phpdocumentor/reflection-docblock": "^3.0|^4.0", + "predis/predis": "~1.0", + "symfony/phpunit-bridge": "~3.4|~4.0", + "symfony/security-acl": "~2.8|~3.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.6-dev" + "dev-master": "3.4-dev" } }, "autoload": { - "psr-0": { - "Symfony\\": "src/" + "psr-4": { + "Symfony\\Bridge\\Doctrine\\": "src/Symfony/Bridge/Doctrine/", + "Symfony\\Bridge\\Monolog\\": "src/Symfony/Bridge/Monolog/", + "Symfony\\Bridge\\ProxyManager\\": "src/Symfony/Bridge/ProxyManager/", + "Symfony\\Bridge\\Twig\\": "src/Symfony/Bridge/Twig/", + "Symfony\\Bundle\\": "src/Symfony/Bundle/", + "Symfony\\Component\\": "src/Symfony/Component/" }, "classmap": [ - "src/Symfony/Component/HttpFoundation/Resources/stubs", "src/Symfony/Component/Intl/Resources/stubs" ], - "files": [ - "src/Symfony/Component/Intl/Resources/stubs/functions.php" + "exclude-from-classmap": [ + "**/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", @@ -253,62 +1275,79 @@ "MIT" ], "authors": [ - { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" - }, { "name": "Fabien Potencier", "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], "description": "The Symfony PHP framework", - "homepage": "http://symfony.com", + "homepage": "https://symfony.com", "keywords": [ "framework" ], - "time": "2014-11-28T15:59:01+00:00" + "time": "2017-11-30T16:56:19+00:00" }, { "name": "twig/twig", - "version": "v1.12.0", + "version": "v2.4.4", "source": { "type": "git", "url": "https://github.com/twigphp/Twig.git", - "reference": "19c860742bd9707540bc644465d4f456144974ce" + "reference": "eddb97148ad779f27e670e1e3f19fb323aedafeb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/Twig/zipball/19c860742bd9707540bc644465d4f456144974ce", - "reference": "19c860742bd9707540bc644465d4f456144974ce", + "url": "https://api.github.com/repos/twigphp/Twig/zipball/eddb97148ad779f27e670e1e3f19fb323aedafeb", + "reference": "eddb97148ad779f27e670e1e3f19fb323aedafeb", "shasum": "" }, "require": { - "php": ">=5.2.4" + "php": "^7.0", + "symfony/polyfill-mbstring": "~1.0" + }, + "require-dev": { + "psr/container": "^1.0", + "symfony/debug": "~2.7", + "symfony/phpunit-bridge": "~3.3@dev" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.12-dev" + "dev-master": "2.4-dev" } }, "autoload": { "psr-0": { "Twig_": "lib/" + }, + "psr-4": { + "Twig\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3" + "BSD-3-Clause" ], "authors": [ { "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "email": "fabien@symfony.com", + "homepage": "http://fabien.potencier.org", + "role": "Lead Developer" }, { "name": "Armin Ronacher", - "email": "armin.ronacher@active-4.com" + "email": "armin.ronacher@active-4.com", + "role": "Project Founder" + }, + { + "name": "Twig Team", + "homepage": "http://twig.sensiolabs.org/contributors", + "role": "Contributors" } ], "description": "Twig, the flexible, fast, and secure template language for PHP", @@ -316,105 +1355,56 @@ "keywords": [ "templating" ], - "time": "2013-01-08T13:42:43+00:00" + "time": "2017-09-27T18:10:31+00:00" } ], "packages-dev": [ { - "name": "dflydev/markdown", - "version": "v1.0.0", + "name": "doctrine/dbal", + "version": "v2.6.3", "source": { "type": "git", - "url": "https://github.com/dflydev/dflydev-markdown.git", - "reference": "76501a808522dbe40a5a71d272bd08d54cbae03d" + "url": "https://github.com/doctrine/dbal.git", + "reference": "e3eed9b1facbb0ced3a0995244843a189e7d1b13" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/dflydev/dflydev-markdown/zipball/76501a808522dbe40a5a71d272bd08d54cbae03d", - "reference": "76501a808522dbe40a5a71d272bd08d54cbae03d", + "url": "https://api.github.com/repos/doctrine/dbal/zipball/e3eed9b1facbb0ced3a0995244843a189e7d1b13", + "reference": "e3eed9b1facbb0ced3a0995244843a189e7d1b13", "shasum": "" }, "require": { - "php": ">=5.3" + "doctrine/common": "^2.7.1", + "ext-pdo": "*", + "php": "^7.1" }, - "type": "library", - "autoload": { - "psr-0": { - "dflydev\\markdown": "src" - } + "require-dev": { + "phpunit/phpunit": "^5.4.6", + "phpunit/phpunit-mock-objects": "!=3.2.4,!=3.2.5", + "symfony/console": "2.*||^3.0" }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "New BSD License" + "suggest": { + "symfony/console": "For helpful console commands such as SQL execution and import of files." + }, + "bin": [ + "bin/doctrine-dbal" ], - "authors": [ - { - "name": "Dragonfly Development Inc.", - "email": "info@dflydev.com", - "homepage": "http://dflydev.com" - }, - { - "name": "Beau Simensen", - "email": "beau@dflydev.com", - "homepage": "http://beausimensen.com" - }, - { - "name": "Michel Fortin", - "homepage": "http://michelf.com" - }, - { - "name": "John Gruber", - "homepage": "http://daringfireball.net" + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.6.x-dev" } - ], - "description": "PHP Markdown & Extra", - "homepage": "http://github.com/dflydev/dflydev-markdown", - "keywords": [ - "markdown" - ], - "abandoned": "michelf/php-markdown", - "time": "2012-01-02T23:11:32+00:00" - }, - { - "name": "doctrine/dbal", - "version": "2.1.5", - "source": { - "type": "git", - "url": "https://github.com/doctrine/dbal.git", - "reference": "ae358bd94ec09d7d3ad92ca7820e67825ad9e5f4" }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/dbal/zipball/ae358bd94ec09d7d3ad92ca7820e67825ad9e5f4", - "reference": "ae358bd94ec09d7d3ad92ca7820e67825ad9e5f4", - "shasum": "" - }, - "require": { - "doctrine/common": "2.*", - "php": ">=5.3.2" - }, - "type": "library", "autoload": { "psr-0": { - "Doctrine\\DBAL": "lib/" + "Doctrine\\DBAL\\": "lib/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "LGPL" + "MIT" ], "authors": [ - { - "name": "Jonathan Wage", - "email": "jonwage@gmail.com", - "homepage": "http://www.jwage.com/", - "role": "Creator" - }, - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com", - "homepage": "http://www.instaclick.com" - }, { "name": "Roman Borschel", "email": "roman@code-factory.org" @@ -422,6 +1412,14 @@ { "name": "Benjamin Eberlei", "email": "kontakt@beberlei.de" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" } ], "description": "Database Abstraction Layer", @@ -432,41 +1430,41 @@ "persistence", "queryobject" ], - "time": "2011-11-21T14:56:03+00:00" + "time": "2017-11-19T13:38:54+00:00" }, { "name": "doctrine/instantiator", - "version": "1.0.2", + "version": "1.1.0", "source": { "type": "git", "url": "https://github.com/doctrine/instantiator.git", - "reference": "26404e0c90565b614ee76b988b9bc8790d77f590" + "reference": "185b8868aa9bf7159f5f953ed5afb2d7fcdc3bda" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/26404e0c90565b614ee76b988b9bc8790d77f590", - "reference": "26404e0c90565b614ee76b988b9bc8790d77f590", + "url": "https://api.github.com/repos/doctrine/instantiator/zipball/185b8868aa9bf7159f5f953ed5afb2d7fcdc3bda", + "reference": "185b8868aa9bf7159f5f953ed5afb2d7fcdc3bda", "shasum": "" }, "require": { - "php": "~5.3" + "php": "^7.1" }, "require-dev": { "athletic/athletic": "~0.1.8", "ext-pdo": "*", "ext-phar": "*", - "phpunit/phpunit": "~4.0", - "squizlabs/php_codesniffer": "2.0.*@ALPHA" + "phpunit/phpunit": "^6.2.3", + "squizlabs/php_codesniffer": "^3.0.2" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "1.2.x-dev" } }, "autoload": { - "psr-0": { - "Doctrine\\Instantiator\\": "src" + "psr-4": { + "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" } }, "notification-url": "https://packagist.org/downloads/", @@ -486,35 +1484,39 @@ "constructor", "instantiate" ], - "time": "2014-08-25T15:09:25+00:00" + "time": "2017-07-22T11:58:36+00:00" }, { "name": "fzaninotto/faker", - "version": "v1.3.0", + "version": "v1.7.1", "source": { "type": "git", "url": "https://github.com/fzaninotto/Faker.git", - "reference": "1d143fd8caf4d264602450bc01d7484af788706b" + "reference": "d3ed4cc37051c1ca52d22d76b437d14809fc7e0d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/fzaninotto/Faker/zipball/1d143fd8caf4d264602450bc01d7484af788706b", - "reference": "1d143fd8caf4d264602450bc01d7484af788706b", + "url": "https://api.github.com/repos/fzaninotto/Faker/zipball/d3ed4cc37051c1ca52d22d76b437d14809fc7e0d", + "reference": "d3ed4cc37051c1ca52d22d76b437d14809fc7e0d", "shasum": "" }, "require": { - "php": ">=5.3.3" + "php": "^5.3.3 || ^7.0" + }, + "require-dev": { + "ext-intl": "*", + "phpunit/phpunit": "^4.0 || ^5.0", + "squizlabs/php_codesniffer": "^1.5" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.3.0-dev" + "dev-master": "1.8-dev" } }, "autoload": { - "psr-0": { - "Faker": "src/", - "Faker\\PHPUnit": "test/" + "psr-4": { + "Faker\\": "src/Faker/" } }, "notification-url": "https://packagist.org/downloads/", @@ -532,30 +1534,42 @@ "faker", "fixtures" ], - "time": "2013-12-16T21:56:48+00:00" + "time": "2017-08-15T16:48:10+00:00" }, { "name": "hamcrest/hamcrest-php", - "version": "v1.1.0", + "version": "v1.2.2", "source": { "type": "git", "url": "https://github.com/hamcrest/hamcrest-php.git", - "reference": "6dc849e4a8954177748320d06721d6bc972129eb" + "reference": "b37020aa976fa52d3de9aa904aa2522dc518f79c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/hamcrest/hamcrest-php/zipball/6dc849e4a8954177748320d06721d6bc972129eb", - "reference": "6dc849e4a8954177748320d06721d6bc972129eb", + "url": "https://api.github.com/repos/hamcrest/hamcrest-php/zipball/b37020aa976fa52d3de9aa904aa2522dc518f79c", + "reference": "b37020aa976fa52d3de9aa904aa2522dc518f79c", "shasum": "" }, "require": { "php": ">=5.3.2" }, + "replace": { + "cordoval/hamcrest-php": "*", + "davedevelopment/hamcrest-php": "*", + "kodova/hamcrest-php": "*" + }, + "require-dev": { + "phpunit/php-file-iterator": "1.3.3", + "satooshi/php-coveralls": "dev-master" + }, "type": "library", "autoload": { - "psr-0": { - "Hamcrest": "hamcrest" - } + "classmap": [ + "hamcrest" + ], + "files": [ + "hamcrest/Hamcrest.php" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -565,7 +1579,7 @@ "keywords": [ "test" ], - "time": "2013-06-01T23:02:01+00:00" + "time": "2015-05-11T14:41:42+00:00" }, { "name": "mockery/mockery", @@ -632,36 +1646,142 @@ ], "time": "2017-02-28T12:52:32+00:00" }, + { + "name": "phpdocumentor/reflection-common", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/ReflectionCommon.git", + "reference": "21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6", + "reference": "21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6", + "shasum": "" + }, + "require": { + "php": ">=5.5" + }, + "require-dev": { + "phpunit/phpunit": "^4.6" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "phpDocumentor\\Reflection\\": [ + "src" + ] + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jaap van Otterdijk", + "email": "opensource@ijaap.nl" + } + ], + "description": "Common reflection classes used by phpdocumentor to reflect the code structure", + "homepage": "http://www.phpdoc.org", + "keywords": [ + "FQSEN", + "phpDocumentor", + "phpdoc", + "reflection", + "static analysis" + ], + "time": "2017-09-11T18:02:19+00:00" + }, { "name": "phpdocumentor/reflection-docblock", - "version": "2.0.0", + "version": "4.2.0", "source": { "type": "git", "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "66ae84e9d7c8ea85c979cb65977bd8e608baf0c5" + "reference": "66465776cfc249844bde6d117abff1d22e06c2da" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/66ae84e9d7c8ea85c979cb65977bd8e608baf0c5", - "reference": "66ae84e9d7c8ea85c979cb65977bd8e608baf0c5", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/66465776cfc249844bde6d117abff1d22e06c2da", + "reference": "66465776cfc249844bde6d117abff1d22e06c2da", "shasum": "" }, "require": { - "dflydev/markdown": "1.0.*", - "php": ">=5.3.3" + "php": "^7.0", + "phpdocumentor/reflection-common": "^1.0.0", + "phpdocumentor/type-resolver": "^0.4.0", + "webmozart/assert": "^1.0" }, "require-dev": { - "phpunit/phpunit": "3.7.*@stable" + "doctrine/instantiator": "~1.0.5", + "mockery/mockery": "^1.0", + "phpunit/phpunit": "^6.4" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0.x-dev" + "dev-master": "4.x-dev" } }, "autoload": { - "psr-0": { - "phpDocumentor": [ + "psr-4": { + "phpDocumentor\\Reflection\\": [ + "src/" + ] + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mike van Riel", + "email": "me@mikevanriel.com" + } + ], + "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", + "time": "2017-11-27T17:38:31+00:00" + }, + { + "name": "phpdocumentor/type-resolver", + "version": "0.4.0", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/TypeResolver.git", + "reference": "9c977708995954784726e25d0cd1dddf4e65b0f7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/9c977708995954784726e25d0cd1dddf4e65b0f7", + "reference": "9c977708995954784726e25d0cd1dddf4e65b0f7", + "shasum": "" + }, + "require": { + "php": "^5.5 || ^7.0", + "phpdocumentor/reflection-common": "^1.0" + }, + "require-dev": { + "mockery/mockery": "^0.9.4", + "phpunit/phpunit": "^5.2||^4.8.24" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "phpDocumentor\\Reflection\\": [ "src/" ] } @@ -673,36 +1793,40 @@ "authors": [ { "name": "Mike van Riel", - "email": "mike.vanriel@naenius.com" + "email": "me@mikevanriel.com" } ], - "time": "2013-08-07T11:04:22+00:00" + "time": "2017-07-14T14:27:02+00:00" }, { "name": "phpspec/prophecy", - "version": "v1.3.1", + "version": "1.7.3", "source": { "type": "git", "url": "https://github.com/phpspec/prophecy.git", - "reference": "9ca52329bcdd1500de24427542577ebf3fc2f1c9" + "reference": "e4ed002c67da8eceb0eb8ddb8b3847bb53c5c2bf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/9ca52329bcdd1500de24427542577ebf3fc2f1c9", - "reference": "9ca52329bcdd1500de24427542577ebf3fc2f1c9", + "url": "https://api.github.com/repos/phpspec/prophecy/zipball/e4ed002c67da8eceb0eb8ddb8b3847bb53c5c2bf", + "reference": "e4ed002c67da8eceb0eb8ddb8b3847bb53c5c2bf", "shasum": "" }, "require": { - "doctrine/instantiator": "~1.0,>=1.0.2", - "phpdocumentor/reflection-docblock": "~2.0" + "doctrine/instantiator": "^1.0.2", + "php": "^5.3|^7.0", + "phpdocumentor/reflection-docblock": "^2.0|^3.0.2|^4.0", + "sebastian/comparator": "^1.1|^2.0", + "sebastian/recursion-context": "^1.0|^2.0|^3.0" }, "require-dev": { - "phpspec/phpspec": "~2.0" + "phpspec/phpspec": "^2.5|^3.2", + "phpunit/phpunit": "^4.8.35 || ^5.7" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.2.x-dev" + "dev-master": "1.7.x-dev" } }, "autoload": { @@ -726,7 +1850,7 @@ } ], "description": "Highly opinionated mocking framework for PHP 5.3+", - "homepage": "http://phpspec.org", + "homepage": "https://github.com/phpspec/prophecy", "keywords": [ "Double", "Dummy", @@ -735,20 +1859,20 @@ "spy", "stub" ], - "time": "2014-11-17T16:23:49+00:00" + "time": "2017-11-24T13:59:53+00:00" }, { "name": "phpunit/php-code-coverage", - "version": "2.1.0", + "version": "2.2.4", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "ba315f46873fd6e86fdb98685a1a900e7379c886" + "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/ba315f46873fd6e86fdb98685a1a900e7379c886", - "reference": "ba315f46873fd6e86fdb98685a1a900e7379c886", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/eabf68b476ac7d0f73793aada060f1c1a9bf8979", + "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979", "shasum": "" }, "require": { @@ -756,7 +1880,7 @@ "phpunit/php-file-iterator": "~1.3", "phpunit/php-text-template": "~1.2", "phpunit/php-token-stream": "~1.3", - "sebastian/environment": "~1.0", + "sebastian/environment": "^1.3.2", "sebastian/version": "~1.0" }, "require-dev": { @@ -771,7 +1895,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.1.x-dev" + "dev-master": "2.2.x-dev" } }, "autoload": { @@ -797,20 +1921,20 @@ "testing", "xunit" ], - "time": "2015-05-30T12:58:40+00:00" + "time": "2015-10-06T15:47:00+00:00" }, { "name": "phpunit/php-file-iterator", - "version": "1.4.0", + "version": "1.4.5", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "a923bb15680d0089e2316f7a4af8f437046e96bb" + "reference": "730b01bc3e867237eaac355e06a36b85dd93a8b4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/a923bb15680d0089e2316f7a4af8f437046e96bb", - "reference": "a923bb15680d0089e2316f7a4af8f437046e96bb", + "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/730b01bc3e867237eaac355e06a36b85dd93a8b4", + "reference": "730b01bc3e867237eaac355e06a36b85dd93a8b4", "shasum": "" }, "require": { @@ -844,20 +1968,20 @@ "filesystem", "iterator" ], - "time": "2015-04-02T05:19:05+00:00" + "time": "2017-11-27T13:52:08+00:00" }, { "name": "phpunit/php-text-template", - "version": "1.2.0", + "version": "1.2.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-text-template.git", - "reference": "206dfefc0ffe9cebf65c413e3d0e809c82fbf00a" + "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/206dfefc0ffe9cebf65c413e3d0e809c82fbf00a", - "reference": "206dfefc0ffe9cebf65c413e3d0e809c82fbf00a", + "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686", + "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686", "shasum": "" }, "require": { @@ -866,20 +1990,17 @@ "type": "library", "autoload": { "classmap": [ - "Text/" + "src/" ] }, "notification-url": "https://packagist.org/downloads/", - "include-path": [ - "" - ], "license": [ "BSD-3-Clause" ], "authors": [ { "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", + "email": "sebastian@phpunit.de", "role": "lead" } ], @@ -888,26 +2009,34 @@ "keywords": [ "template" ], - "time": "2014-01-30T17:20:04+00:00" + "time": "2015-06-21T13:50:34+00:00" }, { "name": "phpunit/php-timer", - "version": "1.0.6", + "version": "1.0.9", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "83fe1bdc5d47658b727595c14da140da92b3d66d" + "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/83fe1bdc5d47658b727595c14da140da92b3d66d", - "reference": "83fe1bdc5d47658b727595c14da140da92b3d66d", + "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", + "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", "shasum": "" }, "require": { - "php": ">=5.3.3" + "php": "^5.3.3 || ^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, "autoload": { "classmap": [ "src/" @@ -929,20 +2058,20 @@ "keywords": [ "timer" ], - "time": "2015-06-13T07:35:30+00:00" + "time": "2017-02-26T11:10:40+00:00" }, { "name": "phpunit/php-token-stream", - "version": "1.3.0", + "version": "1.4.11", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-token-stream.git", - "reference": "f8d5d08c56de5cfd592b3340424a81733259a876" + "reference": "e03f8f67534427a787e21a385a67ec3ca6978ea7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/f8d5d08c56de5cfd592b3340424a81733259a876", - "reference": "f8d5d08c56de5cfd592b3340424a81733259a876", + "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/e03f8f67534427a787e21a385a67ec3ca6978ea7", + "reference": "e03f8f67534427a787e21a385a67ec3ca6978ea7", "shasum": "" }, "require": { @@ -955,7 +2084,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.3-dev" + "dev-master": "1.4-dev" } }, "autoload": { @@ -978,20 +2107,20 @@ "keywords": [ "tokenizer" ], - "time": "2014-08-31T06:12:13+00:00" + "time": "2017-02-27T10:12:30+00:00" }, { "name": "phpunit/phpunit", - "version": "4.8.0", + "version": "4.8.36", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "283111a903eb9225aedb95e846bef876e006a688" + "reference": "46023de9a91eec7dfb06cc56cb4e260017298517" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/283111a903eb9225aedb95e846bef876e006a688", - "reference": "283111a903eb9225aedb95e846bef876e006a688", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/46023de9a91eec7dfb06cc56cb4e260017298517", + "reference": "46023de9a91eec7dfb06cc56cb4e260017298517", "shasum": "" }, "require": { @@ -1005,9 +2134,9 @@ "phpunit/php-code-coverage": "~2.1", "phpunit/php-file-iterator": "~1.4", "phpunit/php-text-template": "~1.2", - "phpunit/php-timer": ">=1.0.6", + "phpunit/php-timer": "^1.0.6", "phpunit/phpunit-mock-objects": "~2.3", - "sebastian/comparator": "~1.1", + "sebastian/comparator": "~1.2.2", "sebastian/diff": "~1.2", "sebastian/environment": "~1.3", "sebastian/exporter": "~1.2", @@ -1050,29 +2179,30 @@ "testing", "xunit" ], - "time": "2015-08-07T03:57:43+00:00" + "time": "2017-06-21T08:07:12+00:00" }, { "name": "phpunit/phpunit-mock-objects", - "version": "2.3.0", + "version": "2.3.8", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git", - "reference": "c63d2367247365f688544f0d500af90a11a44c65" + "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/c63d2367247365f688544f0d500af90a11a44c65", - "reference": "c63d2367247365f688544f0d500af90a11a44c65", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/ac8e7a3db35738d56ee9a76e78a4e03d97628983", + "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983", "shasum": "" }, "require": { - "doctrine/instantiator": "~1.0,>=1.0.1", + "doctrine/instantiator": "^1.0.2", "php": ">=5.3.3", - "phpunit/php-text-template": "~1.2" + "phpunit/php-text-template": "~1.2", + "sebastian/exporter": "~1.2" }, "require-dev": { - "phpunit/phpunit": "~4.3" + "phpunit/phpunit": "~4.4" }, "suggest": { "ext-soap": "*" @@ -1105,34 +2235,34 @@ "mock", "xunit" ], - "time": "2014-10-03T05:12:11+00:00" + "time": "2015-10-02T06:51:40+00:00" }, { "name": "sebastian/comparator", - "version": "1.1.0", + "version": "1.2.4", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "c484a80f97573ab934e37826dba0135a3301b26a" + "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/c484a80f97573ab934e37826dba0135a3301b26a", - "reference": "c484a80f97573ab934e37826dba0135a3301b26a", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", + "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", "shasum": "" }, "require": { "php": ">=5.3.3", - "sebastian/diff": "~1.1", - "sebastian/exporter": "~1.0" + "sebastian/diff": "~1.2", + "sebastian/exporter": "~1.2 || ~2.0" }, "require-dev": { - "phpunit/phpunit": "~4.1" + "phpunit/phpunit": "~4.4" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.1.x-dev" + "dev-master": "1.2.x-dev" } }, "autoload": { @@ -1169,32 +2299,32 @@ "compare", "equality" ], - "time": "2014-11-16T21:32:38+00:00" + "time": "2017-01-29T09:50:25+00:00" }, { "name": "sebastian/diff", - "version": "1.2.0", + "version": "1.4.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "5843509fed39dee4b356a306401e9dd1a931fec7" + "reference": "7f066a26a962dbe58ddea9f72a4e82874a3975a4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/5843509fed39dee4b356a306401e9dd1a931fec7", - "reference": "5843509fed39dee4b356a306401e9dd1a931fec7", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/7f066a26a962dbe58ddea9f72a4e82874a3975a4", + "reference": "7f066a26a962dbe58ddea9f72a4e82874a3975a4", "shasum": "" }, "require": { - "php": ">=5.3.3" + "php": "^5.3.3 || ^7.0" }, "require-dev": { - "phpunit/phpunit": "~4.2" + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.2-dev" + "dev-master": "1.4-dev" } }, "autoload": { @@ -1217,31 +2347,31 @@ } ], "description": "Diff implementation", - "homepage": "http://www.github.com/sebastianbergmann/diff", + "homepage": "https://github.com/sebastianbergmann/diff", "keywords": [ "diff" ], - "time": "2014-08-15T10:29:00+00:00" + "time": "2017-05-22T07:24:03+00:00" }, { "name": "sebastian/environment", - "version": "1.3.0", + "version": "1.3.8", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "4fe0a44cddd8cc19583a024bdc7374eb2fef0b87" + "reference": "be2c607e43ce4c89ecd60e75c6a85c126e754aea" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/4fe0a44cddd8cc19583a024bdc7374eb2fef0b87", - "reference": "4fe0a44cddd8cc19583a024bdc7374eb2fef0b87", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/be2c607e43ce4c89ecd60e75c6a85c126e754aea", + "reference": "be2c607e43ce4c89ecd60e75c6a85c126e754aea", "shasum": "" }, "require": { - "php": ">=5.3.3" + "php": "^5.3.3 || ^7.0" }, "require-dev": { - "phpunit/phpunit": "~4.4" + "phpunit/phpunit": "^4.8 || ^5.0" }, "type": "library", "extra": { @@ -1271,20 +2401,20 @@ "environment", "hhvm" ], - "time": "2015-07-26T06:42:57+00:00" + "time": "2016-08-18T05:49:44+00:00" }, { "name": "sebastian/exporter", - "version": "1.2.0", + "version": "1.2.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "84839970d05254c73cde183a721c7af13aede943" + "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/84839970d05254c73cde183a721c7af13aede943", - "reference": "84839970d05254c73cde183a721c7af13aede943", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/42c4c2eec485ee3e159ec9884f95b431287edde4", + "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4", "shasum": "" }, "require": { @@ -1292,12 +2422,13 @@ "sebastian/recursion-context": "~1.0" }, "require-dev": { + "ext-mbstring": "*", "phpunit/phpunit": "~4.4" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.2.x-dev" + "dev-master": "1.3.x-dev" } }, "autoload": { @@ -1337,20 +2468,20 @@ "export", "exporter" ], - "time": "2015-01-27T07:23:06+00:00" + "time": "2016-06-17T09:04:28+00:00" }, { "name": "sebastian/global-state", - "version": "1.0.0", + "version": "1.1.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "c7428acdb62ece0a45e6306f1ae85e1c05b09c01" + "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/c7428acdb62ece0a45e6306f1ae85e1c05b09c01", - "reference": "c7428acdb62ece0a45e6306f1ae85e1c05b09c01", + "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bc37d50fea7d017d3d340f230811c9f1d7280af4", + "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4", "shasum": "" }, "require": { @@ -1388,20 +2519,20 @@ "keywords": [ "global state" ], - "time": "2014-10-06T09:23:50+00:00" + "time": "2015-10-12T03:26:01+00:00" }, { "name": "sebastian/recursion-context", - "version": "1.0.0", + "version": "1.0.5", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "3989662bbb30a29d20d9faa04a846af79b276252" + "reference": "b19cc3298482a335a95f3016d2f8a6950f0fbcd7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/3989662bbb30a29d20d9faa04a846af79b276252", - "reference": "3989662bbb30a29d20d9faa04a846af79b276252", + "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/b19cc3298482a335a95f3016d2f8a6950f0fbcd7", + "reference": "b19cc3298482a335a95f3016d2f8a6950f0fbcd7", "shasum": "" }, "require": { @@ -1441,20 +2572,20 @@ ], "description": "Provides functionality to recursively process PHP variables", "homepage": "http://www.github.com/sebastianbergmann/recursion-context", - "time": "2015-01-24T09:48:32+00:00" + "time": "2016-10-03T07:41:43+00:00" }, { "name": "sebastian/version", - "version": "1.0.0", + "version": "1.0.6", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/version.git", - "reference": "16b021aed448b654ae05846e394e057e9a6f04cb" + "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/16b021aed448b654ae05846e394e057e9a6f04cb", - "reference": "16b021aed448b654ae05846e394e057e9a6f04cb", + "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", + "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", "shasum": "" }, "type": "library", @@ -1476,14 +2607,64 @@ ], "description": "Library that helps with managing the version number of Git-hosted PHP projects", "homepage": "https://github.com/sebastianbergmann/version", - "time": "2013-01-05T14:27:32+00:00" + "time": "2015-06-21T13:59:46+00:00" + }, + { + "name": "webmozart/assert", + "version": "1.2.0", + "source": { + "type": "git", + "url": "https://github.com/webmozart/assert.git", + "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/webmozart/assert/zipball/2db61e59ff05fe5126d152bd0655c9ea113e550f", + "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f", + "shasum": "" + }, + "require": { + "php": "^5.3.3 || ^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.6", + "sebastian/version": "^1.0.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.3-dev" + } + }, + "autoload": { + "psr-4": { + "Webmozart\\Assert\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" + } + ], + "description": "Assertions to validate method input/output with nice error messages.", + "keywords": [ + "assert", + "check", + "validate" + ], + "time": "2016-11-23T20:04:58+00:00" } ], "aliases": [], "minimum-stability": "stable", "stability-flags": [], "prefer-stable": false, - "prefer-lowest": true, + "prefer-lowest": false, "platform": [], "platform-dev": [] } From 2413ee815e378077743115d656879387bc44e328 Mon Sep 17 00:00:00 2001 From: Jonathon Joseph Date: Fri, 1 Dec 2017 14:01:08 -0500 Subject: [PATCH 2/5] SourceRegistryBuilder pass --- .../Compiler/AddSourceRegistryPass.php | 37 +++++++++++++++++++ GiftcardsEncryptionBundle.php | 2 + Resources/config/services.yml | 10 ++++- 3 files changed, 48 insertions(+), 1 deletion(-) create mode 100644 DependencyInjection/Compiler/AddSourceRegistryPass.php diff --git a/DependencyInjection/Compiler/AddSourceRegistryPass.php b/DependencyInjection/Compiler/AddSourceRegistryPass.php new file mode 100644 index 0000000..1f4b11b --- /dev/null +++ b/DependencyInjection/Compiler/AddSourceRegistryPass.php @@ -0,0 +1,37 @@ +has("giftcards.encryption.store_registry_builder")) { + return; + } + + $storeRegistryBuilder = $container->findDefinition("giftcards.encryption.store_registry_builder"); + + $storeIds = $container->findTaggedServiceIds("giftcards.encryption.store"); + foreach ($storeIds as $storeId) { + $store = $container->get($storeId); + $storeRegistryBuilder->addMethodCall("addStore", array( + $storeId, + $store + )); + } + + } +} diff --git a/GiftcardsEncryptionBundle.php b/GiftcardsEncryptionBundle.php index 998a64f..45989a6 100644 --- a/GiftcardsEncryptionBundle.php +++ b/GiftcardsEncryptionBundle.php @@ -7,6 +7,7 @@ use Giftcards\EncryptionBundle\DependencyInjection\Compiler\AddCiphersPass; use Giftcards\EncryptionBundle\DependencyInjection\Compiler\AddCipherTextSerializersDeserializersPass; use Giftcards\EncryptionBundle\DependencyInjection\Compiler\AddKeySourcesPass; +use Giftcards\EncryptionBundle\DependencyInjection\Compiler\AddSourceRegistryPass; use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\HttpKernel\Bundle\Bundle; @@ -20,6 +21,7 @@ public function build(ContainerBuilder $container) ->addCompilerPass(new AddKeySourcesPass()) ->addCompilerPass(new AddCipherTextSerializersDeserializersPass()) ->addCompilerPass(new AddBuildersPass()) + ->addCompilerPass(new AddSourceRegistryPass()) ; } } diff --git a/Resources/config/services.yml b/Resources/config/services.yml index 58ca076..7165df2 100644 --- a/Resources/config/services.yml +++ b/Resources/config/services.yml @@ -56,11 +56,19 @@ services: tags: - { name: console.command } + giftcards.encryption.store_registry_builder: + class: Giftcards\Encryption\CipherText\Rotator\Store\StoreRegistryBuilder + factory: ['Giftcards\Encryption\CipherText\Rotator\Store\StoreRegistryBuilder', newInstance] + + giftcards.encryption.store_registry: + class: Giftcards\Encryption\CipherText\Rotator\Store\StoreRegistry + factory: ['@giftcards.encryption.store_registry_builder', build] + giftcards.encryption.rotator: class: Giftcards\Encryption\CipherText\Rotator\Rotator arguments: - '@giftcards.encryption.encryptor' - - '@giftcards.encryption.store_registry' #TODO: Create this service + - '@giftcards.encryption.store_registry' giftcards.encryption.command.rotate_store: class: Giftcards\Encryption\Command\RotateStoreCommand From 2761e1016924a9116a825768ee2f6a9d3ea628c6 Mon Sep 17 00:00:00 2001 From: Jonathon Joseph Date: Mon, 5 Feb 2018 18:05:40 -0500 Subject: [PATCH 3/5] Added stores properly --- .../Store/DoctrineDBALStoreBuilder.php | 44 +++++++++++++++++++ .../Compiler/AddBuildersPass.php | 1 + .../Compiler/AddCipherTextStoresPass.php | 37 ++++++++++++++++ .../Compiler/AddSourceRegistryPass.php | 37 ---------------- DependencyInjection/Configuration.php | 14 ++++++ .../GiftcardsEncryptionExtension.php | 16 +++++++ GiftcardsEncryptionBundle.php | 4 +- Resources/config/builders.yml | 8 ++++ Resources/config/factories.yml | 22 +++++++++- Resources/config/services.yml | 15 +++---- .../AddCipherTextRotatorsPassTest.php | 6 +-- Tests/GiftcardsEncryptionBundleTest.php | 2 +- 12 files changed, 152 insertions(+), 54 deletions(-) create mode 100644 CipherText/Rotator/Store/DoctrineDBALStoreBuilder.php create mode 100644 DependencyInjection/Compiler/AddCipherTextStoresPass.php delete mode 100644 DependencyInjection/Compiler/AddSourceRegistryPass.php diff --git a/CipherText/Rotator/Store/DoctrineDBALStoreBuilder.php b/CipherText/Rotator/Store/DoctrineDBALStoreBuilder.php new file mode 100644 index 0000000..743a101 --- /dev/null +++ b/CipherText/Rotator/Store/DoctrineDBALStoreBuilder.php @@ -0,0 +1,44 @@ +container = $container; + } + + public function configureOptionsResolver(OptionsResolver $resolver) + { + parent::configureOptionsResolver($resolver); + $container = $this->container; + $resolver + ->addAllowedTypes('connection', 'string') + ->setNormalizer('connection', function ($_, $connection) use ($container) { + if ($connection instanceof Connection) { + return $connection; + } + + return $container->get($connection); + }) + ; + } +} \ No newline at end of file diff --git a/DependencyInjection/Compiler/AddBuildersPass.php b/DependencyInjection/Compiler/AddBuildersPass.php index dc40799..4f860a8 100644 --- a/DependencyInjection/Compiler/AddBuildersPass.php +++ b/DependencyInjection/Compiler/AddBuildersPass.php @@ -17,6 +17,7 @@ class AddBuildersPass implements CompilerPassInterface protected $registries = array( 'giftcards.encryption.key_source.factory.registry' => 'giftcards.encryption.key_source.builder', 'giftcards.encryption.cipher_text_rotator.factory.registry' => 'giftcards.encryption.cipher_text_rotator.builder', + 'giftcards.encryption.cipher_text_store.factory.registry' => 'giftcards.encryption.cipher_text_store.builder', 'giftcards.encryption.cipher_text_serializer.factory.registry' => 'giftcards.encryption.cipher_text_serializer.builder', 'giftcards.encryption.cipher_text_deserializer.factory.registry' => 'giftcards.encryption.cipher_text_deserializer.builder', ); diff --git a/DependencyInjection/Compiler/AddCipherTextStoresPass.php b/DependencyInjection/Compiler/AddCipherTextStoresPass.php new file mode 100644 index 0000000..2ffe3af --- /dev/null +++ b/DependencyInjection/Compiler/AddCipherTextStoresPass.php @@ -0,0 +1,37 @@ +hasDefinition('giftcards.encryption.cipher_text_store.registry')) { + return; + } + + $registry = $container->getDefinition('giftcards.encryption.cipher_text_store.registry'); + + foreach ($container->findTaggedServiceIds('giftcards.encryption.cipher_text_store') as $id => $tags) { + foreach ($tags as $tag) { + if (!isset($tag['alias'])) { + throw new \InvalidArgumentException(sprintf( + 'The service "%s" tagged giftcards.encryption.cipher_text_store must have an "alias" key given.', + $id + )); + } + $registry->addMethodCall('setServiceId', array($tag['alias'], $id)); + } + } + } +} \ No newline at end of file diff --git a/DependencyInjection/Compiler/AddSourceRegistryPass.php b/DependencyInjection/Compiler/AddSourceRegistryPass.php deleted file mode 100644 index 1f4b11b..0000000 --- a/DependencyInjection/Compiler/AddSourceRegistryPass.php +++ /dev/null @@ -1,37 +0,0 @@ -has("giftcards.encryption.store_registry_builder")) { - return; - } - - $storeRegistryBuilder = $container->findDefinition("giftcards.encryption.store_registry_builder"); - - $storeIds = $container->findTaggedServiceIds("giftcards.encryption.store"); - foreach ($storeIds as $storeId) { - $store = $container->get($storeId); - $storeRegistryBuilder->addMethodCall("addStore", array( - $storeId, - $store - )); - } - - } -} diff --git a/DependencyInjection/Configuration.php b/DependencyInjection/Configuration.php index 4bf6918..b1c81ec 100644 --- a/DependencyInjection/Configuration.php +++ b/DependencyInjection/Configuration.php @@ -40,6 +40,20 @@ public function getConfigTreeBuilder() ->end() ->end() ->end() + ->arrayNode('stores') + ->defaultValue(array()) + ->useAttributeAsKey('name') + ->prototype('array') + ->children() + ->scalarNode('type')->isRequired()->cannotBeEmpty()->end() + ->arrayNode('options') + ->defaultValue(array()) + ->prototype('variable') + ->end() + ->end() + ->end() + ->end() + ->end() ->arrayNode('serializers') ->defaultValue(array()) ->prototype('array') diff --git a/DependencyInjection/GiftcardsEncryptionExtension.php b/DependencyInjection/GiftcardsEncryptionExtension.php index 5695987..c4eb620 100644 --- a/DependencyInjection/GiftcardsEncryptionExtension.php +++ b/DependencyInjection/GiftcardsEncryptionExtension.php @@ -140,6 +140,22 @@ public function load(array $configs, ContainerBuilder $container) ; } + foreach ($config['cipher_texts']['stores'] as $name => $rotatorConfig) { + $serviceId = sprintf('giftcards.encryption.cipher_text_store.%s', $name); + $container + ->setDefinition( + $serviceId, + new DefinitionDecorator('giftcards.encryption.abstract_cipher_text_store') + ) + ->replaceArgument(0, $rotatorConfig['type']) + ->replaceArgument(1, $rotatorConfig['options']) + ->addTag( + 'giftcards.encryption.cipher_text_store', + array('alias' => $name) + ) + ; + } + foreach ($config['cipher_texts']['serializers'] as $name => $serializerConfig) { $serviceId = sprintf('giftcards.encryption.cipher_text_serializer.%s', $name); $container diff --git a/GiftcardsEncryptionBundle.php b/GiftcardsEncryptionBundle.php index 45989a6..d04cbb9 100644 --- a/GiftcardsEncryptionBundle.php +++ b/GiftcardsEncryptionBundle.php @@ -6,8 +6,8 @@ use Giftcards\EncryptionBundle\DependencyInjection\Compiler\AddCipherTextRotatorsPass; use Giftcards\EncryptionBundle\DependencyInjection\Compiler\AddCiphersPass; use Giftcards\EncryptionBundle\DependencyInjection\Compiler\AddCipherTextSerializersDeserializersPass; +use Giftcards\EncryptionBundle\DependencyInjection\Compiler\AddCipherTextStoresPass; use Giftcards\EncryptionBundle\DependencyInjection\Compiler\AddKeySourcesPass; -use Giftcards\EncryptionBundle\DependencyInjection\Compiler\AddSourceRegistryPass; use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\HttpKernel\Bundle\Bundle; @@ -17,11 +17,11 @@ public function build(ContainerBuilder $container) { $container ->addCompilerPass(new AddCipherTextRotatorsPass()) + ->addCompilerPass(new AddCipherTextStoresPass()) ->addCompilerPass(new AddCiphersPass()) ->addCompilerPass(new AddKeySourcesPass()) ->addCompilerPass(new AddCipherTextSerializersDeserializersPass()) ->addCompilerPass(new AddBuildersPass()) - ->addCompilerPass(new AddSourceRegistryPass()) ; } } diff --git a/Resources/config/builders.yml b/Resources/config/builders.yml index 32328c2..f1b875f 100644 --- a/Resources/config/builders.yml +++ b/Resources/config/builders.yml @@ -13,6 +13,14 @@ services: - '@service_container' tags: - { name: giftcards.encryption.cipher_text_rotator.builder, alias: doctrine_dbal } + + #stores + giftcards.encryption.cipher_text_store.builder.doctrine_dbal: + class: Giftcards\EncryptionBundle\CipherText\Rotator\Store\DoctrineDBALStoreBuilder + arguments: + - '@service_container' + tags: + - { name: giftcards.encryption.cipher_text_store.builder, alias: doctrine_dbal } #serializers giftcards.encryption.cipher_text_serializer.builder.basic: diff --git a/Resources/config/factories.yml b/Resources/config/factories.yml index 5065071..a6c3a22 100644 --- a/Resources/config/factories.yml +++ b/Resources/config/factories.yml @@ -8,6 +8,11 @@ services: class: Giftcards\Encryption\Factory\ContainerAwareRegistry arguments: - '@service_container' + + giftcards.encryption.cipher_text_store.factory.registry: + class: Giftcards\Encryption\Factory\ContainerAwareRegistry + arguments: + - '@service_container' giftcards.encryption.cipher_text_serializer.factory.registry: class: Giftcards\Encryption\Factory\ContainerAwareRegistry @@ -30,7 +35,13 @@ services: arguments: - Giftcards\Encryption\CipherText\Rotator\RotatorInterface - '@giftcards.encryption.cipher_text_rotator.factory.registry' - + + giftcards.encryption.cipher_text_store.factory: + class: Giftcards\Encryption\Factory\Factory + arguments: + - Giftcards\Encryption\CipherText\Rotator\Store\StoreInterface + - '@giftcards.encryption.cipher_text_store.factory.registry' + giftcards.encryption.cipher_text_serializer.factory: class: Giftcards\Encryption\Factory\Factory arguments: @@ -58,6 +69,14 @@ services: - type - options abstract: true + + giftcards.encryption.abstract_cipher_text_store: + class: Giftcards\Encryption\CipherText\Rotator\Store\StoreInterface + factory: ['@giftcards.encryption.cipher_text_store.factory', create] + arguments: + - type + - options + abstract: true giftcards.encryption.abstract_cipher_text_serializer: class: Giftcards\Encryption\CipherText\Serializer\SerializerInterface @@ -74,4 +93,3 @@ services: - type - options abstract: true - \ No newline at end of file diff --git a/Resources/config/services.yml b/Resources/config/services.yml index 7165df2..978d96b 100644 --- a/Resources/config/services.yml +++ b/Resources/config/services.yml @@ -10,6 +10,11 @@ services: class: Giftcards\Encryption\CipherText\Rotator\ContainerAwareRotatorRegistry arguments: - '@service_container' + + giftcards.encryption.cipher_text_store.registry: + class: Giftcards\Encryption\CipherText\Rotator\Store\ContainerAwareStoreRegistry + arguments: + - '@service_container' giftcards.encryption.cipher.registry: class: Giftcards\Encryption\Cipher\ContainerAwareCipherRegistry @@ -56,19 +61,11 @@ services: tags: - { name: console.command } - giftcards.encryption.store_registry_builder: - class: Giftcards\Encryption\CipherText\Rotator\Store\StoreRegistryBuilder - factory: ['Giftcards\Encryption\CipherText\Rotator\Store\StoreRegistryBuilder', newInstance] - - giftcards.encryption.store_registry: - class: Giftcards\Encryption\CipherText\Rotator\Store\StoreRegistry - factory: ['@giftcards.encryption.store_registry_builder', build] - giftcards.encryption.rotator: class: Giftcards\Encryption\CipherText\Rotator\Rotator arguments: - '@giftcards.encryption.encryptor' - - '@giftcards.encryption.store_registry' + - '@giftcards.encryption.cipher_text_store.registry' giftcards.encryption.command.rotate_store: class: Giftcards\Encryption\Command\RotateStoreCommand diff --git a/Tests/DependencyInjection/Compiler/AddCipherTextRotatorsPassTest.php b/Tests/DependencyInjection/Compiler/AddCipherTextRotatorsPassTest.php index 7b98afd..eb75c48 100644 --- a/Tests/DependencyInjection/Compiler/AddCipherTextRotatorsPassTest.php +++ b/Tests/DependencyInjection/Compiler/AddCipherTextRotatorsPassTest.php @@ -8,7 +8,7 @@ namespace Giftcards\EncryptionBundle\Tests\DependencyInjection\Compiler; -use Giftcards\EncryptionBundle\DependencyInjection\Compiler\AddCipherTextRotatorsPass; +use Giftcards\EncryptionBundle\DependencyInjection\Compiler\AddCipherTextStoresPass; use Giftcards\Encryption\Tests\AbstractTestCase; use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\DependencyInjection\Definition; @@ -16,12 +16,12 @@ class AddCipherTextRotatorsPassTest extends AbstractTestCase { - /** @var AddCipherTextRotatorsPass */ + /** @var AddCipherTextStoresPass */ protected $pass; public function setUp() { - $this->pass = new AddCipherTextRotatorsPass(); + $this->pass = new AddCipherTextStoresPass(); } public function testProcessWithNoRegistry() diff --git a/Tests/GiftcardsEncryptionBundleTest.php b/Tests/GiftcardsEncryptionBundleTest.php index a446852..3849cce 100644 --- a/Tests/GiftcardsEncryptionBundleTest.php +++ b/Tests/GiftcardsEncryptionBundleTest.php @@ -27,7 +27,7 @@ public function testCompile() \Mockery::mock('Symfony\Component\DependencyInjection\ContainerBuilder') ->shouldReceive('addCompilerPass') ->once() - ->with('Giftcards\EncryptionBundle\DependencyInjection\Compiler\AddCipherTextRotatorsPass') + ->with('Giftcards\EncryptionBundle\DependencyInjection\Compiler\AddCipherTextStoresPass') ->andReturn(\Mockery::self()) ->getMock() ->shouldReceive('addCompilerPass') From 3e4fa2c941125d31a3c148a4b447d21a5326b182 Mon Sep 17 00:00:00 2001 From: Jonathon Joseph Date: Mon, 5 Feb 2018 18:33:43 -0500 Subject: [PATCH 4/5] Updated composer --- composer.json | 2 +- composer.lock | 153 +++++++++++++++++++++++++------------------------- 2 files changed, 77 insertions(+), 78 deletions(-) diff --git a/composer.json b/composer.json index a9ce2d4..a21a8aa 100644 --- a/composer.json +++ b/composer.json @@ -4,7 +4,7 @@ "description": "Bundle to integrate the giftcards/encryption lib into symfony", "require": { "symfony/symfony": "~2.6|~3.0", - "giftcards/encryption": "~1.6" + "giftcards/encryption": "~1.7" }, "require-dev": { "mockery/mockery": "0.9.9", diff --git a/composer.lock b/composer.lock index eb3dacf..e8b3f00 100644 --- a/composer.lock +++ b/composer.lock @@ -4,20 +4,20 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "This file is @generated automatically" ], - "content-hash": "480de409888f9c666477f726e73092d4", + "content-hash": "8a57b3aa8765d03e64349bdb5489dce2", "packages": [ { "name": "doctrine/annotations", - "version": "v1.5.0", + "version": "v1.6.0", "source": { "type": "git", "url": "https://github.com/doctrine/annotations.git", - "reference": "5beebb01b025c94e93686b7a0ed3edae81fe3e7f" + "reference": "c7f2050c68a9ab0bdb0f98567ec08d80ea7d24d5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/annotations/zipball/5beebb01b025c94e93686b7a0ed3edae81fe3e7f", - "reference": "5beebb01b025c94e93686b7a0ed3edae81fe3e7f", + "url": "https://api.github.com/repos/doctrine/annotations/zipball/c7f2050c68a9ab0bdb0f98567ec08d80ea7d24d5", + "reference": "c7f2050c68a9ab0bdb0f98567ec08d80ea7d24d5", "shasum": "" }, "require": { @@ -26,12 +26,12 @@ }, "require-dev": { "doctrine/cache": "1.*", - "phpunit/phpunit": "^5.7" + "phpunit/phpunit": "^6.4" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.5.x-dev" + "dev-master": "1.6.x-dev" } }, "autoload": { @@ -72,7 +72,7 @@ "docblock", "parser" ], - "time": "2017-07-22T10:58:02+00:00" + "time": "2017-12-06T07:11:42+00:00" }, { "name": "doctrine/cache", @@ -290,20 +290,20 @@ }, { "name": "doctrine/inflector", - "version": "v1.2.0", + "version": "v1.3.0", "source": { "type": "git", "url": "https://github.com/doctrine/inflector.git", - "reference": "e11d84c6e018beedd929cff5220969a3c6d1d462" + "reference": "5527a48b7313d15261292c149e55e26eae771b0a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/inflector/zipball/e11d84c6e018beedd929cff5220969a3c6d1d462", - "reference": "e11d84c6e018beedd929cff5220969a3c6d1d462", + "url": "https://api.github.com/repos/doctrine/inflector/zipball/5527a48b7313d15261292c149e55e26eae771b0a", + "reference": "5527a48b7313d15261292c149e55e26eae771b0a", "shasum": "" }, "require": { - "php": "^7.0" + "php": "^7.1" }, "require-dev": { "phpunit/phpunit": "^6.2" @@ -311,7 +311,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.2.x-dev" + "dev-master": "1.3.x-dev" } }, "autoload": { @@ -353,7 +353,7 @@ "singularize", "string" ], - "time": "2017-07-22T12:18:28+00:00" + "time": "2018-01-09T20:05:19+00:00" }, { "name": "doctrine/lexer", @@ -465,17 +465,17 @@ }, { "name": "giftcards/encryption", - "version": "1.6.0", + "version": "1.7.0", "target-dir": "Giftcards/Encryption", "source": { "type": "git", "url": "https://github.com/giftcards/Encryption.git", - "reference": "95332f3b51b45e1144179407425044a2a89b245e" + "reference": "a48f92408538e2ffe1c8603f168d57803aad7100" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/giftcards/Encryption/zipball/95332f3b51b45e1144179407425044a2a89b245e", - "reference": "95332f3b51b45e1144179407425044a2a89b245e", + "url": "https://api.github.com/repos/giftcards/Encryption/zipball/a48f92408538e2ffe1c8603f168d57803aad7100", + "reference": "a48f92408538e2ffe1c8603f168d57803aad7100", "shasum": "" }, "require": { @@ -507,7 +507,7 @@ "MIT" ], "description": "Library that helps with managing encrypting data.", - "time": "2017-11-30T18:39:04+00:00" + "time": "2018-02-05T23:23:04+00:00" }, { "name": "paragonie/random_compat", @@ -798,16 +798,16 @@ }, { "name": "symfony/polyfill-apcu", - "version": "v1.6.0", + "version": "v1.7.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-apcu.git", - "reference": "04f62674339602def515bff4bc6901fc1d4951e8" + "reference": "e8ae2136ddb53dea314df56fcd88e318ab936c00" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-apcu/zipball/04f62674339602def515bff4bc6901fc1d4951e8", - "reference": "04f62674339602def515bff4bc6901fc1d4951e8", + "url": "https://api.github.com/repos/symfony/polyfill-apcu/zipball/e8ae2136ddb53dea314df56fcd88e318ab936c00", + "reference": "e8ae2136ddb53dea314df56fcd88e318ab936c00", "shasum": "" }, "require": { @@ -816,7 +816,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.6-dev" + "dev-master": "1.7-dev" } }, "autoload": { @@ -850,20 +850,20 @@ "portable", "shim" ], - "time": "2017-10-11T12:05:26+00:00" + "time": "2018-01-30T19:27:44+00:00" }, { "name": "symfony/polyfill-intl-icu", - "version": "v1.6.0", + "version": "v1.7.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-icu.git", - "reference": "d2bb2ef00dd8605d6fbd4db53ed4af1395953497" + "reference": "254919c03761d46c29291616576ed003f10e91c1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-icu/zipball/d2bb2ef00dd8605d6fbd4db53ed4af1395953497", - "reference": "d2bb2ef00dd8605d6fbd4db53ed4af1395953497", + "url": "https://api.github.com/repos/symfony/polyfill-intl-icu/zipball/254919c03761d46c29291616576ed003f10e91c1", + "reference": "254919c03761d46c29291616576ed003f10e91c1", "shasum": "" }, "require": { @@ -876,7 +876,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.6-dev" + "dev-master": "1.7-dev" } }, "autoload": { @@ -908,20 +908,20 @@ "portable", "shim" ], - "time": "2017-10-11T12:05:26+00:00" + "time": "2018-01-30T19:27:44+00:00" }, { "name": "symfony/polyfill-mbstring", - "version": "v1.6.0", + "version": "v1.7.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "2ec8b39c38cb16674bbf3fea2b6ce5bf117e1296" + "reference": "78be803ce01e55d3491c1397cf1c64beb9c1b63b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/2ec8b39c38cb16674bbf3fea2b6ce5bf117e1296", - "reference": "2ec8b39c38cb16674bbf3fea2b6ce5bf117e1296", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/78be803ce01e55d3491c1397cf1c64beb9c1b63b", + "reference": "78be803ce01e55d3491c1397cf1c64beb9c1b63b", "shasum": "" }, "require": { @@ -933,7 +933,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.6-dev" + "dev-master": "1.7-dev" } }, "autoload": { @@ -967,20 +967,20 @@ "portable", "shim" ], - "time": "2017-10-11T12:05:26+00:00" + "time": "2018-01-30T19:27:44+00:00" }, { "name": "symfony/polyfill-php56", - "version": "v1.6.0", + "version": "v1.7.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php56.git", - "reference": "265fc96795492430762c29be291a371494ba3a5b" + "reference": "ebc999ce5f14204c5150b9bd15f8f04e621409d8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php56/zipball/265fc96795492430762c29be291a371494ba3a5b", - "reference": "265fc96795492430762c29be291a371494ba3a5b", + "url": "https://api.github.com/repos/symfony/polyfill-php56/zipball/ebc999ce5f14204c5150b9bd15f8f04e621409d8", + "reference": "ebc999ce5f14204c5150b9bd15f8f04e621409d8", "shasum": "" }, "require": { @@ -990,7 +990,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.6-dev" + "dev-master": "1.7-dev" } }, "autoload": { @@ -1023,20 +1023,20 @@ "portable", "shim" ], - "time": "2017-10-11T12:05:26+00:00" + "time": "2018-01-30T19:27:44+00:00" }, { "name": "symfony/polyfill-php70", - "version": "v1.6.0", + "version": "v1.7.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php70.git", - "reference": "0442b9c0596610bd24ae7b5f0a6cdbbc16d9fcff" + "reference": "3532bfcd8f933a7816f3a0a59682fc404776600f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php70/zipball/0442b9c0596610bd24ae7b5f0a6cdbbc16d9fcff", - "reference": "0442b9c0596610bd24ae7b5f0a6cdbbc16d9fcff", + "url": "https://api.github.com/repos/symfony/polyfill-php70/zipball/3532bfcd8f933a7816f3a0a59682fc404776600f", + "reference": "3532bfcd8f933a7816f3a0a59682fc404776600f", "shasum": "" }, "require": { @@ -1046,7 +1046,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.6-dev" + "dev-master": "1.7-dev" } }, "autoload": { @@ -1082,20 +1082,20 @@ "portable", "shim" ], - "time": "2017-10-11T12:05:26+00:00" + "time": "2018-01-30T19:27:44+00:00" }, { "name": "symfony/polyfill-util", - "version": "v1.6.0", + "version": "v1.7.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-util.git", - "reference": "6e719200c8e540e0c0effeb31f96bdb344b94176" + "reference": "e17c808ec4228026d4f5a8832afa19be85979563" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-util/zipball/6e719200c8e540e0c0effeb31f96bdb344b94176", - "reference": "6e719200c8e540e0c0effeb31f96bdb344b94176", + "url": "https://api.github.com/repos/symfony/polyfill-util/zipball/e17c808ec4228026d4f5a8832afa19be85979563", + "reference": "e17c808ec4228026d4f5a8832afa19be85979563", "shasum": "" }, "require": { @@ -1104,7 +1104,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.6-dev" + "dev-master": "1.7-dev" } }, "autoload": { @@ -1134,20 +1134,20 @@ "polyfill", "shim" ], - "time": "2017-10-11T12:05:26+00:00" + "time": "2018-01-31T18:08:44+00:00" }, { "name": "symfony/symfony", - "version": "v3.4.0", + "version": "v3.4.4", "source": { "type": "git", "url": "https://github.com/symfony/symfony.git", - "reference": "0a47db379b8cc74cdd84e1e6870fafc4a4ac8351" + "reference": "5220b6f9fcdee261c6fdd3e096f3b204fba5d906" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/symfony/zipball/0a47db379b8cc74cdd84e1e6870fafc4a4ac8351", - "reference": "0a47db379b8cc74cdd84e1e6870fafc4a4ac8351", + "url": "https://api.github.com/repos/symfony/symfony/zipball/5220b6f9fcdee261c6fdd3e096f3b204fba5d906", + "reference": "5220b6f9fcdee261c6fdd3e096f3b204fba5d906", "shasum": "" }, "require": { @@ -1165,7 +1165,6 @@ "symfony/polyfill-mbstring": "~1.0", "symfony/polyfill-php56": "~1.0", "symfony/polyfill-php70": "~1.6", - "symfony/polyfill-util": "~1.0", "twig/twig": "^1.35|^2.4.4" }, "conflict": { @@ -1289,7 +1288,7 @@ "keywords": [ "framework" ], - "time": "2017-11-30T16:56:19+00:00" + "time": "2018-01-29T12:30:04+00:00" }, { "name": "twig/twig", @@ -1702,16 +1701,16 @@ }, { "name": "phpdocumentor/reflection-docblock", - "version": "4.2.0", + "version": "4.3.0", "source": { "type": "git", "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "66465776cfc249844bde6d117abff1d22e06c2da" + "reference": "94fd0001232e47129dd3504189fa1c7225010d08" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/66465776cfc249844bde6d117abff1d22e06c2da", - "reference": "66465776cfc249844bde6d117abff1d22e06c2da", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/94fd0001232e47129dd3504189fa1c7225010d08", + "reference": "94fd0001232e47129dd3504189fa1c7225010d08", "shasum": "" }, "require": { @@ -1749,7 +1748,7 @@ } ], "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", - "time": "2017-11-27T17:38:31+00:00" + "time": "2017-11-30T07:14:17+00:00" }, { "name": "phpdocumentor/type-resolver", @@ -2062,16 +2061,16 @@ }, { "name": "phpunit/php-token-stream", - "version": "1.4.11", + "version": "1.4.12", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-token-stream.git", - "reference": "e03f8f67534427a787e21a385a67ec3ca6978ea7" + "reference": "1ce90ba27c42e4e44e6d8458241466380b51fa16" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/e03f8f67534427a787e21a385a67ec3ca6978ea7", - "reference": "e03f8f67534427a787e21a385a67ec3ca6978ea7", + "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/1ce90ba27c42e4e44e6d8458241466380b51fa16", + "reference": "1ce90ba27c42e4e44e6d8458241466380b51fa16", "shasum": "" }, "require": { @@ -2107,7 +2106,7 @@ "keywords": [ "tokenizer" ], - "time": "2017-02-27T10:12:30+00:00" + "time": "2017-12-04T08:55:13+00:00" }, { "name": "phpunit/phpunit", @@ -2611,16 +2610,16 @@ }, { "name": "webmozart/assert", - "version": "1.2.0", + "version": "1.3.0", "source": { "type": "git", "url": "https://github.com/webmozart/assert.git", - "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f" + "reference": "0df1908962e7a3071564e857d86874dad1ef204a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/webmozart/assert/zipball/2db61e59ff05fe5126d152bd0655c9ea113e550f", - "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f", + "url": "https://api.github.com/repos/webmozart/assert/zipball/0df1908962e7a3071564e857d86874dad1ef204a", + "reference": "0df1908962e7a3071564e857d86874dad1ef204a", "shasum": "" }, "require": { @@ -2657,7 +2656,7 @@ "check", "validate" ], - "time": "2016-11-23T20:04:58+00:00" + "time": "2018-01-29T19:49:41+00:00" } ], "aliases": [], From c1da993f15eae97aca86d04fd237ff28d169f66e Mon Sep 17 00:00:00 2001 From: Jonathon Joseph Date: Mon, 5 Feb 2018 18:48:20 -0500 Subject: [PATCH 5/5] Tracker --- DependencyInjection/Configuration.php | 11 +++++++++++ DependencyInjection/GiftcardsEncryptionExtension.php | 2 ++ Resources/config/services.yml | 5 ++++- 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/DependencyInjection/Configuration.php b/DependencyInjection/Configuration.php index b1c81ec..35f112c 100644 --- a/DependencyInjection/Configuration.php +++ b/DependencyInjection/Configuration.php @@ -40,6 +40,17 @@ public function getConfigTreeBuilder() ->end() ->end() ->end() + ->arrayNode('rotator') + ->addDefaultsIfNotSet() + ->children() + ->arrayNode('tracker') + ->addDefaultsIfNotSet() + ->children() + ->scalarNode('id')->defaultValue('giftcards.encryption.rotator.tracker.null')->cannotBeEmpty()->end() + ->end() + ->end() + ->end() + ->end() ->arrayNode('stores') ->defaultValue(array()) ->useAttributeAsKey('name') diff --git a/DependencyInjection/GiftcardsEncryptionExtension.php b/DependencyInjection/GiftcardsEncryptionExtension.php index c4eb620..81640e8 100644 --- a/DependencyInjection/GiftcardsEncryptionExtension.php +++ b/DependencyInjection/GiftcardsEncryptionExtension.php @@ -140,6 +140,8 @@ public function load(array $configs, ContainerBuilder $container) ; } + $container->setAlias("giftcards.encryption.rotator.tracker", $config['rotator']['tracker']['id']); + foreach ($config['cipher_texts']['stores'] as $name => $rotatorConfig) { $serviceId = sprintf('giftcards.encryption.cipher_text_store.%s', $name); $container diff --git a/Resources/config/services.yml b/Resources/config/services.yml index 978d96b..229b112 100644 --- a/Resources/config/services.yml +++ b/Resources/config/services.yml @@ -67,11 +67,14 @@ services: - '@giftcards.encryption.encryptor' - '@giftcards.encryption.cipher_text_store.registry' + giftcards.encryption.rotator.tracker.null: + class: Giftcards\Encryption\CipherText\Rotator\Tracker\NullTracker + giftcards.encryption.command.rotate_store: class: Giftcards\Encryption\Command\RotateStoreCommand arguments: - '@giftcards.encryption.rotator' - - '@giftcards.encryption.rotator.tracker' #TODO: Create this service + - '@giftcards.encryption.rotator.tracker' giftcards.encryption.command.rotate_range: class: Giftcards\Encryption\Command\RotateRangeInStoreCommand