Hello community, here is the log from the commit of package platformsh-cli for openSUSE:Factory checked in at 2020-06-23 21:05:59 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/platformsh-cli (Old) and /work/SRC/openSUSE:Factory/.platformsh-cli.new.2956 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "platformsh-cli" Tue Jun 23 21:05:59 2020 rev:101 rq:816463 version:3.57.5 Changes: -------- --- /work/SRC/openSUSE:Factory/platformsh-cli/platformsh-cli.changes 2020-06-10 00:53:59.559816622 +0200 +++ /work/SRC/openSUSE:Factory/.platformsh-cli.new.2956/platformsh-cli.changes 2020-06-23 21:06:25.662197586 +0200 @@ -1,0 +2,20 @@ +Mon Jun 22 22:53:01 UTC 2020 - [email protected] + +- Update to version 3.57.5: + * Release v3.57.5 + * Add logout --other option, to log out from other sessions (#947) + * Add redeploy warnings to the user:add and user:delete commands (#946) + * Add a couple more user:add examples + * Only prompt to add an SSH key if one isn't found locally + * Release v3.57.4 + * Fix: exclude API token session IDs from the autocomplete list + * Release v3.57.3 + * Fix: do not reuse session file storage when an API token is set + * Release v3.57.2 + * Improve session info after logout + * Clean the whole session directory on logout + * Release v3.57.1 + * Better ensure the legacy session SSH config file is removed + * Silence SSH certificate reload + +------------------------------------------------------------------- Old: ---- platformsh-cli-3.57.0.tar.xz New: ---- platformsh-cli-3.57.5.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ platformsh-cli.spec ++++++ --- /var/tmp/diff_new_pack.DM8q8v/_old 2020-06-23 21:06:26.298199640 +0200 +++ /var/tmp/diff_new_pack.DM8q8v/_new 2020-06-23 21:06:26.298199640 +0200 @@ -17,7 +17,7 @@ Name: platformsh-cli -Version: 3.57.0 +Version: 3.57.5 Release: 0 Summary: Tool for managing Platform.sh services from the command line # See licenses.txt for dependency licenses. ++++++ _service ++++++ --- /var/tmp/diff_new_pack.DM8q8v/_old 2020-06-23 21:06:26.334199757 +0200 +++ /var/tmp/diff_new_pack.DM8q8v/_new 2020-06-23 21:06:26.334199757 +0200 @@ -2,7 +2,7 @@ <service name="tar_scm" mode="disabled"> <param name="versionformat">@PARENT_TAG@</param> <param name="versionrewrite-pattern">v(.*)</param> - <param name="revision">refs/tags/v3.57.0</param> + <param name="revision">refs/tags/v3.57.5</param> <param name="url">git://github.com/platformsh/platformsh-cli.git</param> <param name="scm">git</param> <param name="changesgenerate">enable</param> ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.DM8q8v/_old 2020-06-23 21:06:26.354199821 +0200 +++ /var/tmp/diff_new_pack.DM8q8v/_new 2020-06-23 21:06:26.354199821 +0200 @@ -1,6 +1,6 @@ <servicedata> <service name="tar_scm"> <param name="url">git://github.com/platformsh/platformsh-cli.git</param> - <param name="changesrevision">90d020777dd129b1549c7011c37e7a071d2053f6</param> + <param name="changesrevision">8552ed3f17f28ef6504c599d4df707e7d294044e</param> </service> </servicedata> ++++++ platformsh-cli-3.57.0.tar.xz -> platformsh-cli-3.57.5.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/platformsh-cli-3.57.0/dist/manifest.json new/platformsh-cli-3.57.5/dist/manifest.json --- old/platformsh-cli-3.57.0/dist/manifest.json 2020-06-09 15:49:09.000000000 +0200 +++ new/platformsh-cli-3.57.5/dist/manifest.json 2020-06-22 08:30:26.000000000 +0200 @@ -17,10 +17,10 @@ }, { "name": "platform.phar", - "sha1": "dbfe9a331d4740b62e620d7f1b9fb1d8beda4b06", - "sha256": "46f6c0448964b0aa426be8c07206cdb4241510e6bc6c9b3a2703898eefbb9189", - "url": "https://github.com/platformsh/platformsh-cli/releases/download/v3.57.0/platform.phar", - "version": "3.57.0", + "sha1": "5d8b57fc687a2df41ff14b688a22bd9aa4502349", + "sha256": "df6d8baf36d6229b12cdb93f57f49c719554fbed36b2b0266b4af6e9f9ba1f2b", + "url": "https://github.com/platformsh/platformsh-cli/releases/download/v3.57.5/platform.phar", + "version": "3.57.5", "php": { "min": "5.5.9" }, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/platformsh-cli-3.57.0/src/Command/Auth/LogoutCommand.php new/platformsh-cli-3.57.5/src/Command/Auth/LogoutCommand.php --- old/platformsh-cli-3.57.0/src/Command/Auth/LogoutCommand.php 2020-06-09 15:49:09.000000000 +0200 +++ new/platformsh-cli-3.57.5/src/Command/Auth/LogoutCommand.php 2020-06-22 08:30:26.000000000 +0200 @@ -2,6 +2,7 @@ namespace Platformsh\Cli\Command\Auth; use Platformsh\Cli\Command\CommandBase; +use Platformsh\Cli\Service\Api; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Input\InputOption; use Symfony\Component\Console\Output\OutputInterface; @@ -15,7 +16,8 @@ $this ->setName('auth:logout') ->setAliases(['logout']) - ->addOption('all', 'a', InputOption::VALUE_NONE, 'Log out of all sessions') + ->addOption('all', 'a', InputOption::VALUE_NONE, 'Log out from all local sessions') + ->addOption('other', null, InputOption::VALUE_NONE, 'Log out from other local sessions') ->setDescription('Log out of ' . $this->config()->get('service.name')); } @@ -29,15 +31,31 @@ $this->stdErr->writeln('<comment>Warning: an API token is set via config</comment>'); } + if ($input->getOption('other') && !$input->getOption('all')) { + $currentSessionId = $this->config()->getSessionId(); + $this->stdErr->writeln(sprintf('The current session ID is: <info>%s</info>', $currentSessionId)); + $other = \array_filter($this->api()->listSessionIds(), function ($sessionId) use ($currentSessionId) { + return $sessionId !== $currentSessionId; + }); + if (empty($other)) { + $this->stdErr->writeln('No other sessions exist.'); + return 0; + } + $this->stdErr->writeln(''); + foreach ($other as $sessionId) { + $api = new Api($this->config()->withOverrides(['api.session_id' => $sessionId]), null, $output); + $api->logout(); + $this->stdErr->writeln(sprintf('Logged out from session: <info>%s</info>', $sessionId)); + } + $this->stdErr->writeln(''); + $this->stdErr->writeln('All other sessions have been deleted.'); + return 0; + } + $this->api()->logout(); $this->stdErr->writeln('You are now logged out.'); - // Delete certificate files. - /** @var \Platformsh\Cli\SshCert\Certifier $certifier */ - $certifier = $this->getService('certifier'); - $certifier->deleteFiles(); - - // Delete session configuration. + // Delete session SSH configuration. /** @var \Platformsh\Cli\Service\SshConfig $sshConfig */ $sshConfig = $this->getService('ssh_config'); $sshConfig->deleteSessionConfiguration(); @@ -47,8 +65,13 @@ $this->api()->deleteAllSessions(); $this->stdErr->writeln(''); $this->stdErr->writeln('All sessions have been deleted.'); - } elseif ($this->api()->anySessionsExist()) { $this->showSessionInfo(); + return 0; + } + + $this->showSessionInfo(); + + if ($this->api()->anySessionsExist()) { $this->stdErr->writeln(''); $this->stdErr->writeln(sprintf( 'Other sessions exist. Log out of all sessions with: <comment>%s logout --all</comment>', diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/platformsh-cli-3.57.0/src/Command/Project/ProjectGetCommand.php new/platformsh-cli-3.57.5/src/Command/Project/ProjectGetCommand.php --- old/platformsh-cli-3.57.0/src/Command/Project/ProjectGetCommand.php 2020-06-09 15:49:09.000000000 +0200 +++ new/platformsh-cli-3.57.5/src/Command/Project/ProjectGetCommand.php 2020-06-22 08:30:26.000000000 +0200 @@ -314,16 +314,12 @@ return; } - $sshKeys = []; - try { - $sshKeys = $this->api()->getClient(false)->getSshKeys(); - } catch (\Exception $e) { - // Ignore exceptions. - } + /** @var \Platformsh\Cli\Service\SshKey $sshKey */ + $sshKey = $this->getService('ssh_key'); $this->stdErr->writeln(''); - if (empty($sshKeys)) { + if (!$sshKey->hasLocalKey()) { $this->stdErr->writeln(sprintf( 'You probably need to add an SSH key, with: <comment>%s ssh-key:add</comment>', $this->config()->get('application.executable') diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/platformsh-cli-3.57.0/src/Command/User/UserAddCommand.php new/platformsh-cli-3.57.5/src/Command/User/UserAddCommand.php --- old/platformsh-cli-3.57.0/src/Command/User/UserAddCommand.php 2020-06-09 15:49:09.000000000 +0200 +++ new/platformsh-cli-3.57.5/src/Command/User/UserAddCommand.php 2020-06-22 08:30:26.000000000 +0200 @@ -28,6 +28,8 @@ $this->addWaitOptions(); $this->addExample('Add Alice as a project admin', '[email protected] -r admin'); + $this->addExample('Add Bob as a viewer on the "master" environment, and a contributor on environments starting with "dev"', '[email protected] -r master:a -r dev%:c'); + $this->addExample('Add Charlie as viewer on "master" and "staging"', '[email protected] -r master:v -r staging:v'); } /** @@ -292,24 +294,24 @@ } else { continue; } - } else { - if ($access) { - if ($access->role === $role) { - continue; - } - $this->stdErr->writeln("Setting the user's role on the environment <info>$environmentId</info> to: $role"); - $result = $access->update(['role' => $role]); - } else { - $this->stdErr->writeln("Adding the user to the environment: <info>$environmentId</info>"); - $result = $environment->addUser($userId, $role); + } elseif ($access) { + if ($access->role === $role) { + continue; } + $this->stdErr->writeln("Setting the user's role on the environment <info>$environmentId</info> to: $role"); + $result = $access->update(['role' => $role]); + } else { + $this->stdErr->writeln("Adding the user to the environment: <info>$environmentId</info>"); + $result = $environment->addUser($userId, $role); } $activities = array_merge($activities, $result->getActivities()); } } // Wait for activities to complete. - if ($this->shouldWait($input)) { + if (!$activities) { + $this->redeployWarning(); + } elseif ($this->shouldWait($input)) { /** @var \Platformsh\Cli\Service\ActivityMonitor $activityMonitor */ $activityMonitor = $this->getService('activity_monitor'); if (!$activityMonitor->waitMultiple($activities, $project)) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/platformsh-cli-3.57.0/src/Command/User/UserDeleteCommand.php new/platformsh-cli-3.57.5/src/Command/User/UserDeleteCommand.php --- old/platformsh-cli-3.57.0/src/Command/User/UserDeleteCommand.php 2020-06-09 15:49:09.000000000 +0200 +++ new/platformsh-cli-3.57.5/src/Command/User/UserDeleteCommand.php 2020-06-22 08:30:26.000000000 +0200 @@ -53,7 +53,9 @@ $this->stdErr->writeln("User <info>$email</info> deleted"); - if ($this->shouldWait($input)) { + if (!$result->getActivities()) { + $this->redeployWarning(); + } elseif ($this->shouldWait($input)) { /** @var \Platformsh\Cli\Service\ActivityMonitor $activityMonitor */ $activityMonitor = $this->getService('activity_monitor'); $activityMonitor->waitMultiple($result->getActivities(), $project); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/platformsh-cli-3.57.0/src/Command/WelcomeCommand.php new/platformsh-cli-3.57.5/src/Command/WelcomeCommand.php --- old/platformsh-cli-3.57.0/src/Command/WelcomeCommand.php 2020-06-09 15:49:09.000000000 +0200 +++ new/platformsh-cli-3.57.5/src/Command/WelcomeCommand.php 2020-06-22 08:30:26.000000000 +0200 @@ -38,8 +38,12 @@ $this->showSessionInfo(); if ($this->api()->isLoggedIn() && !$this->config()->get('api.auto_load_ssh_cert')) { - $this->stdErr->writeln(''); - $this->stdErr->writeln("Manage your SSH keys by running <info>$executable ssh-keys</info>\n"); + /** @var \Platformsh\Cli\Service\SshKey $sshKey */ + $sshKey = $this->getService('ssh_key'); + if (!$sshKey->hasLocalKey()) { + $this->stdErr->writeln(''); + $this->stdErr->writeln("To add an SSH key, run: <info>$executable ssh-key:add</info>"); + } } $this->stdErr->writeln(''); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/platformsh-cli-3.57.0/src/CredentialHelper/SessionStorage.php new/platformsh-cli-3.57.5/src/CredentialHelper/SessionStorage.php --- old/platformsh-cli-3.57.0/src/CredentialHelper/SessionStorage.php 2020-06-09 15:49:09.000000000 +0200 +++ new/platformsh-cli-3.57.5/src/CredentialHelper/SessionStorage.php 2020-06-22 08:30:26.000000000 +0200 @@ -120,8 +120,8 @@ private function loadFromFile(SessionInterface $session) { $id = preg_replace('/[^\w\-]+/', '-', $session->getId()); - $dir = $this->config->getSessionDir(true); - $filename = "$dir/sess-$id.json"; + $dir = $this->config->getSessionDir(); + $filename = "$dir/sess-$id/sess-$id.json"; if (is_readable($filename) && ($contents = file_get_contents($filename))) { $data = json_decode($contents, true) ?: []; $session->setData($data); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/platformsh-cli-3.57.0/src/Service/Api.php new/platformsh-cli-3.57.5/src/Service/Api.php --- old/platformsh-cli-3.57.0/src/Service/Api.php 2020-06-09 15:49:09.000000000 +0200 +++ new/platformsh-cli-3.57.5/src/Service/Api.php 2020-06-22 08:30:26.000000000 +0200 @@ -144,6 +144,8 @@ /** * Lists existing sessions. * + * Excludes API-token-specific session IDs. + * * @return string[] */ public function listSessionIds() @@ -159,6 +161,9 @@ $ids[] = $matches[1]; } } + $ids = \array_filter($ids, function ($id) { + return strpos($id, 'api-token-') !== 0; + }); return \array_unique($ids); } @@ -193,6 +198,12 @@ // Clear the cache. $this->cache->flushAll(); + + // Ensure the session directory is wiped. + $dir = $this->config->getSessionDir(true); + if (is_dir($dir)) { + (new \Symfony\Component\Filesystem\Filesystem())->remove($dir); + } } /** @@ -284,7 +295,14 @@ } $this->logout(); - $this->stdErr->writeln('<comment>Your session has expired. You have been logged out.</comment>'); + + $body = (string) $e->getRequest()->getBody(); + \parse_str($body, $parsed); + if (isset($parsed['grant_type']) && $parsed['grant_type'] === 'api_token') { + $this->stdErr->writeln('<comment>The API token is invalid.</comment>'); + } else { + $this->stdErr->writeln('<comment>Your session has expired. You have been logged out.</comment>'); + } if ($response && $this->stdErr->isVeryVerbose()) { $this->stdErr->writeln($e->getMessage() . ApiResponseException::getErrorDetails($response)); @@ -362,16 +380,29 @@ public function getClient($autoLogin = true, $reset = false) { if (!isset(self::$client) || $reset) { - $connector = new Connector($this->getConnectorOptions()); + $options = $this->getConnectorOptions(); + $connector = new Connector($options); // Set up a persistent session to store OAuth2 tokens. By default, // this will be stored in a JSON file: // $HOME/.platformsh/.session/sess-cli-default/sess-cli-default.json $session = $connector->getSession(); - $session->setId('cli-' . $this->config->getSessionId()); + $sessionId = $this->config->getSessionId(); + + // Override the session ID if an API token is set. + // This ensures file storage from other credentials will not be + // reused. + if (!empty($options['api_token'])) { + $sessionId = 'api-token-' . \substr(\hash('sha256', $options['api_token']), 0, 32); + } + $session->setId('cli-' . $sessionId); $this->initSessionStorage(); - $session->setStorage($this->sessionStorage); + + // Don't use any storage for the session if an access token is set. + if (!isset($options['api_token']) || $options['api_token_type'] !== 'access') { + $session->setStorage($this->sessionStorage); + } // Ensure session data is (re-)loaded every time. // @todo move this to the Session diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/platformsh-cli-3.57.0/src/Service/Config.php new/platformsh-cli-3.57.5/src/Service/Config.php --- old/platformsh-cli-3.57.0/src/Service/Config.php 2020-06-09 15:49:09.000000000 +0200 +++ new/platformsh-cli-3.57.5/src/Service/Config.php 2020-06-22 08:30:26.000000000 +0200 @@ -220,7 +220,6 @@ */ public function setSessionId($id, $persist = false) { - $this->validateSessionId($id); $this->config['api']['session_id'] = $id; if ($persist) { $filename = $this->getSessionIdFile(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/platformsh-cli-3.57.0/src/Service/SshConfig.php new/platformsh-cli-3.57.5/src/Service/SshConfig.php --- old/platformsh-cli-3.57.0/src/Service/SshConfig.php 2020-06-09 15:49:09.000000000 +0200 +++ new/platformsh-cli-3.57.5/src/Service/SshConfig.php 2020-06-22 08:30:26.000000000 +0200 @@ -3,6 +3,7 @@ namespace Platformsh\Cli\Service; use Platformsh\Cli\SshCert\Certifier; +use Platformsh\Cli\Util\OsUtil; use Platformsh\Cli\Util\Snippeter; use Symfony\Component\Console\Output\ConsoleOutputInterface; use Symfony\Component\Console\Output\OutputInterface; @@ -32,11 +33,20 @@ */ public function configureSessionSsh() { + // Backwards compatibility: delete the old SSH configuration file. + $legacy = $this->getCliSshDir() . DIRECTORY_SEPARATOR . 'sess-cli-default.config'; + if (\file_exists($legacy)) { + $this->fs->remove($legacy); + } + $lines = []; if ($certificate = $this->certifier->getExistingCertificate()) { $executable = $this->config->get('application.executable'); $refreshCommand = sprintf('%s ssh-cert:load --refresh-only --yes --quiet', $executable); + if (!OsUtil::isWindows()) { + $refreshCommand .= ' 2>/dev/null'; + } $lines[] = sprintf('Match host %s exec "%s"', $this->config->get('api.ssh_domain_wildcard'), $refreshCommand); $lines[] = sprintf(' CertificateFile %s', $certificate->certificateFilename()); $lines[] = sprintf(' IdentityFile %s', $certificate->privateKeyFilename()); @@ -75,12 +85,6 @@ ] ); - // Backwards compatibility: delete the old SSH configuration file. - $legacy = $this->getCliSshDir() . DIRECTORY_SEPARATOR . 'sess-cli-default.config'; - if (\file_exists($legacy)) { - $this->fs->remove($legacy); - } - return true; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/platformsh-cli-3.57.0/src/Service/SshKey.php new/platformsh-cli-3.57.5/src/Service/SshKey.php --- old/platformsh-cli-3.57.0/src/Service/SshKey.php 2020-06-09 15:49:09.000000000 +0200 +++ new/platformsh-cli-3.57.5/src/Service/SshKey.php 2020-06-22 08:30:26.000000000 +0200 @@ -34,10 +34,10 @@ * selected key. */ public function selectIdentity() { - $keys = $this->api->getSshKeys(); - $accountKeyFingerprints = \array_map(function (SshKeyModel $sshKey) { - return $sshKey->fingerprint; - }, $keys); + $accountKeyFingerprints = $this->listAccountKeyFingerprints(); + if (!$accountKeyFingerprints) { + return null; + } // Do not return a specific key if there is only one that will likely // be used by default. @@ -75,6 +75,31 @@ } /** + * Lists SSH key MD5 fingerprints in the user's account. + * + * @return string[] + */ + private function listAccountKeyFingerprints() + { + $keys = $this->api->getSshKeys(); + if (!count($keys)) { + return []; + } + + return \array_map(function (SshKeyModel $sshKey) { + return $sshKey->fingerprint; + }, $keys); + } + + /** + * Checks whether the user has an SSH key in ~/.ssh matching their account. + */ + public function hasLocalKey() + { + return $this->findIdentityMatchingPublicKeys($this->listAccountKeyFingerprints()) !== null; + } + + /** * @param string[] $fingerprints * * @return string|null diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/platformsh-cli-3.57.0/src/SshCert/Certifier.php new/platformsh-cli-3.57.5/src/SshCert/Certifier.php --- old/platformsh-cli-3.57.0/src/SshCert/Certifier.php 2020-06-09 15:49:09.000000000 +0200 +++ new/platformsh-cli-3.57.5/src/SshCert/Certifier.php 2020-06-22 08:30:26.000000000 +0200 @@ -91,25 +91,6 @@ } /** - * Deletes certificate and SSH configuration files. - * - * Called from the logout command. - */ - public function deleteFiles() - { - $dir = $this->config->getSessionDir(true) . DIRECTORY_SEPARATOR . 'ssh'; - $private = $dir . DIRECTORY_SEPARATOR . self::PRIVATE_KEY_FILENAME; - $public = $private . '.pub'; - $cert = $private . '-cert.pub'; - - if (\file_exists($private) || \file_exists($cert) || \file_exists($public)) { - $this->stdErr->writeln(''); - $this->stdErr->writeln('Deleting SSH certificate and related files'); - $this->fs->remove([$private, $cert, $public]); - } - } - - /** * Generate a temporary ssh key pair to request a new certificate. * * @param string $dir ++++++ platformsh-cli-vendor.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/autoload.php new/vendor/autoload.php --- old/vendor/autoload.php 2020-06-09 20:55:25.379569733 +0200 +++ new/vendor/autoload.php 2020-06-23 00:53:04.335194143 +0200 @@ -4,4 +4,4 @@ require_once __DIR__ . '/composer/autoload_real.php'; -return ComposerAutoloaderInitcdc25cd154dee2da8bb20d9b620b75f7::getLoader(); +return ComposerAutoloaderInit9834387945acdb00b08973da2ab31550::getLoader(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/composer/autoload_real.php new/vendor/composer/autoload_real.php --- old/vendor/composer/autoload_real.php 2020-06-09 20:55:25.379569733 +0200 +++ new/vendor/composer/autoload_real.php 2020-06-23 00:53:04.335194143 +0200 @@ -2,7 +2,7 @@ // autoload_real.php @generated by Composer -class ComposerAutoloaderInitcdc25cd154dee2da8bb20d9b620b75f7 +class ComposerAutoloaderInit9834387945acdb00b08973da2ab31550 { private static $loader; @@ -13,21 +13,24 @@ } } + /** + * @return \Composer\Autoload\ClassLoader + */ public static function getLoader() { if (null !== self::$loader) { return self::$loader; } - spl_autoload_register(array('ComposerAutoloaderInitcdc25cd154dee2da8bb20d9b620b75f7', 'loadClassLoader'), true, true); + spl_autoload_register(array('ComposerAutoloaderInit9834387945acdb00b08973da2ab31550', 'loadClassLoader'), true, true); self::$loader = $loader = new \Composer\Autoload\ClassLoader(); - spl_autoload_unregister(array('ComposerAutoloaderInitcdc25cd154dee2da8bb20d9b620b75f7', 'loadClassLoader')); + spl_autoload_unregister(array('ComposerAutoloaderInit9834387945acdb00b08973da2ab31550', 'loadClassLoader')); $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded()); if ($useStaticLoader) { require_once __DIR__ . '/autoload_static.php'; - call_user_func(\Composer\Autoload\ComposerStaticInitcdc25cd154dee2da8bb20d9b620b75f7::getInitializer($loader)); + call_user_func(\Composer\Autoload\ComposerStaticInit9834387945acdb00b08973da2ab31550::getInitializer($loader)); } else { $map = require __DIR__ . '/autoload_namespaces.php'; foreach ($map as $namespace => $path) { @@ -48,19 +51,19 @@ $loader->register(true); if ($useStaticLoader) { - $includeFiles = Composer\Autoload\ComposerStaticInitcdc25cd154dee2da8bb20d9b620b75f7::$files; + $includeFiles = Composer\Autoload\ComposerStaticInit9834387945acdb00b08973da2ab31550::$files; } else { $includeFiles = require __DIR__ . '/autoload_files.php'; } foreach ($includeFiles as $fileIdentifier => $file) { - composerRequirecdc25cd154dee2da8bb20d9b620b75f7($fileIdentifier, $file); + composerRequire9834387945acdb00b08973da2ab31550($fileIdentifier, $file); } return $loader; } } -function composerRequirecdc25cd154dee2da8bb20d9b620b75f7($fileIdentifier, $file) +function composerRequire9834387945acdb00b08973da2ab31550($fileIdentifier, $file) { if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) { require $file; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/composer/autoload_static.php new/vendor/composer/autoload_static.php --- old/vendor/composer/autoload_static.php 2020-06-09 20:55:25.379569733 +0200 +++ new/vendor/composer/autoload_static.php 2020-06-23 00:53:04.335194143 +0200 @@ -4,7 +4,7 @@ namespace Composer\Autoload; -class ComposerStaticInitcdc25cd154dee2da8bb20d9b620b75f7 +class ComposerStaticInit9834387945acdb00b08973da2ab31550 { public static $files = array ( '320cde22f66dd4f5d3fd621d3e88b98f' => __DIR__ . '/..' . '/symfony/polyfill-ctype/bootstrap.php', @@ -193,9 +193,9 @@ public static function getInitializer(ClassLoader $loader) { return \Closure::bind(function () use ($loader) { - $loader->prefixLengthsPsr4 = ComposerStaticInitcdc25cd154dee2da8bb20d9b620b75f7::$prefixLengthsPsr4; - $loader->prefixDirsPsr4 = ComposerStaticInitcdc25cd154dee2da8bb20d9b620b75f7::$prefixDirsPsr4; - $loader->classMap = ComposerStaticInitcdc25cd154dee2da8bb20d9b620b75f7::$classMap; + $loader->prefixLengthsPsr4 = ComposerStaticInit9834387945acdb00b08973da2ab31550::$prefixLengthsPsr4; + $loader->prefixDirsPsr4 = ComposerStaticInit9834387945acdb00b08973da2ab31550::$prefixDirsPsr4; + $loader->classMap = ComposerStaticInit9834387945acdb00b08973da2ab31550::$classMap; }, null, ClassLoader::class); }
