From 577a92c94e6ef51f2b141c662d1033df77c3cf40 Mon Sep 17 00:00:00 2001 From: Roeland Jago Douma Date: Tue, 17 Oct 2017 09:36:38 +0200 Subject: [PATCH] Use authoriative autoloader So we don't try to load other classes with this autoloader. Signed-off-by: Roeland Jago Douma --- 3rdparty/composer.json | 4 ++++ 3rdparty/vendor/composer/ClassLoader.php | 12 ++++++++---- 3rdparty/vendor/composer/LICENSE | 2 +- 3rdparty/vendor/composer/autoload_real.php | 11 +---------- 4 files changed, 14 insertions(+), 15 deletions(-) diff --git a/3rdparty/composer.json b/3rdparty/composer.json index 37dc116..988ab07 100644 --- a/3rdparty/composer.json +++ b/3rdparty/composer.json @@ -1,4 +1,8 @@ { + "config": { + "optimize-autoloader": true, + "classmap-authoritative": true + }, "require": { "onelogin/php-saml": "^2.9" } diff --git a/3rdparty/vendor/composer/ClassLoader.php b/3rdparty/vendor/composer/ClassLoader.php index 4626994..dc02dfb 100644 --- a/3rdparty/vendor/composer/ClassLoader.php +++ b/3rdparty/vendor/composer/ClassLoader.php @@ -374,10 +374,14 @@ class ClassLoader $first = $class[0]; if (isset($this->prefixLengthsPsr4[$first])) { - foreach ($this->prefixLengthsPsr4[$first] as $prefix => $length) { - if (0 === strpos($class, $prefix)) { - foreach ($this->prefixDirsPsr4[$prefix] as $dir) { - if (file_exists($file = $dir . DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $length))) { + $subPath = $class; + while (false !== $lastPos = strrpos($subPath, '\\')) { + $subPath = substr($subPath, 0, $lastPos); + $search = $subPath.'\\'; + if (isset($this->prefixDirsPsr4[$search])) { + $pathEnd = DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $lastPos + 1); + foreach ($this->prefixDirsPsr4[$search] as $dir) { + if (file_exists($file = $dir . $pathEnd)) { return $file; } } diff --git a/3rdparty/vendor/composer/LICENSE b/3rdparty/vendor/composer/LICENSE index 1a28124..f27399a 100644 --- a/3rdparty/vendor/composer/LICENSE +++ b/3rdparty/vendor/composer/LICENSE @@ -1,5 +1,5 @@ -Copyright (c) 2016 Nils Adermann, Jordi Boggiano +Copyright (c) Nils Adermann, Jordi Boggiano Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/3rdparty/vendor/composer/autoload_real.php b/3rdparty/vendor/composer/autoload_real.php index 251a560..65389da 100644 --- a/3rdparty/vendor/composer/autoload_real.php +++ b/3rdparty/vendor/composer/autoload_real.php @@ -29,22 +29,13 @@ class ComposerAutoloaderInitcc75f134f7630c1ee3a8e4d7c86f3bcc call_user_func(\Composer\Autoload\ComposerStaticInitcc75f134f7630c1ee3a8e4d7c86f3bcc::getInitializer($loader)); } else { - $map = require __DIR__ . '/autoload_namespaces.php'; - foreach ($map as $namespace => $path) { - $loader->set($namespace, $path); - } - - $map = require __DIR__ . '/autoload_psr4.php'; - foreach ($map as $namespace => $path) { - $loader->setPsr4($namespace, $path); - } - $classMap = require __DIR__ . '/autoload_classmap.php'; if ($classMap) { $loader->addClassMap($classMap); } } + $loader->setClassMapAuthoritative(true); $loader->register(true); return $loader;