mirror of
https://github.com/Combodo/iTop.git
synced 2026-04-30 22:18:46 +02:00
N°6934 - Symfony 6.4 - upgrade Symfony bundles to 6.4 (#580)
* Update Symfony lib to version ~6.4.0 * Update code missing return type * Add an iTop general configuration entry to store application secret (Symfony mandatory parameter) * Use dependency injection in ExceptionListener & UserProvider classes
This commit is contained in:
@@ -13,8 +13,6 @@ namespace Symfony\Bundle\FrameworkBundle\Secrets;
|
||||
|
||||
/**
|
||||
* @author Nicolas Grekas <p@tchwork.com>
|
||||
*
|
||||
* @internal
|
||||
*/
|
||||
abstract class AbstractVault
|
||||
{
|
||||
@@ -42,6 +40,9 @@ abstract class AbstractVault
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
protected function getPrettyPath(string $path)
|
||||
{
|
||||
return str_replace(getcwd().\DIRECTORY_SEPARATOR, '', $path);
|
||||
|
||||
@@ -13,12 +13,10 @@ namespace Symfony\Bundle\FrameworkBundle\Secrets;
|
||||
|
||||
/**
|
||||
* @author Nicolas Grekas <p@tchwork.com>
|
||||
*
|
||||
* @internal
|
||||
*/
|
||||
class DotenvVault extends AbstractVault
|
||||
{
|
||||
private $dotenvFile;
|
||||
private string $dotenvFile;
|
||||
|
||||
public function __construct(string $dotenvFile)
|
||||
{
|
||||
@@ -54,9 +52,9 @@ class DotenvVault extends AbstractVault
|
||||
{
|
||||
$this->lastMessage = null;
|
||||
$this->validateName($name);
|
||||
$v = \is_string($_SERVER[$name] ?? null) && !str_starts_with($name, 'HTTP_') ? $_SERVER[$name] : ($_ENV[$name] ?? null);
|
||||
$v = $_ENV[$name] ?? (str_starts_with($name, 'HTTP_') ? null : ($_SERVER[$name] ?? null));
|
||||
|
||||
if (null === $v) {
|
||||
if ('' === ($v ?? '')) {
|
||||
$this->lastMessage = sprintf('Secret "%s" not found in "%s".', $name, $this->getPrettyPath($this->dotenvFile));
|
||||
|
||||
return null;
|
||||
@@ -91,13 +89,13 @@ class DotenvVault extends AbstractVault
|
||||
$secrets = [];
|
||||
|
||||
foreach ($_ENV as $k => $v) {
|
||||
if (preg_match('/^\w+$/D', $k)) {
|
||||
if ('' !== ($v ?? '') && preg_match('/^\w+$/D', $k)) {
|
||||
$secrets[$k] = $reveal ? $v : null;
|
||||
}
|
||||
}
|
||||
|
||||
foreach ($_SERVER as $k => $v) {
|
||||
if (\is_string($v) && preg_match('/^\w+$/D', $k)) {
|
||||
if ('' !== ($v ?? '') && preg_match('/^\w+$/D', $k)) {
|
||||
$secrets[$k] = $reveal ? $v : null;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,26 +18,20 @@ use Symfony\Component\VarExporter\VarExporter;
|
||||
* @author Tobias Schultze <http://tobion.de>
|
||||
* @author Jérémy Derussé <jeremy@derusse.com>
|
||||
* @author Nicolas Grekas <p@tchwork.com>
|
||||
*
|
||||
* @internal
|
||||
*/
|
||||
class SodiumVault extends AbstractVault implements EnvVarLoaderInterface
|
||||
{
|
||||
private $encryptionKey;
|
||||
private $decryptionKey;
|
||||
private $pathPrefix;
|
||||
private $secretsDir;
|
||||
private ?string $encryptionKey = null;
|
||||
private string|\Stringable|null $decryptionKey = null;
|
||||
private string $pathPrefix;
|
||||
private ?string $secretsDir;
|
||||
|
||||
/**
|
||||
* @param string|\Stringable|null $decryptionKey A string or a stringable object that defines the private key to use to decrypt the vault
|
||||
* or null to store generated keys in the provided $secretsDir
|
||||
* @param $decryptionKey A string or a stringable object that defines the private key to use to decrypt the vault
|
||||
* or null to store generated keys in the provided $secretsDir
|
||||
*/
|
||||
public function __construct(string $secretsDir, $decryptionKey = null)
|
||||
public function __construct(string $secretsDir, #[\SensitiveParameter] string|\Stringable $decryptionKey = null)
|
||||
{
|
||||
if (null !== $decryptionKey && !\is_string($decryptionKey) && !(\is_object($decryptionKey) && method_exists($decryptionKey, '__toString'))) {
|
||||
throw new \TypeError(sprintf('Decryption key should be a string or an object that implements the __toString() method, "%s" given.', get_debug_type($decryptionKey)));
|
||||
}
|
||||
|
||||
$this->pathPrefix = rtrim(strtr($secretsDir, '/', \DIRECTORY_SEPARATOR), \DIRECTORY_SEPARATOR).\DIRECTORY_SEPARATOR.basename($secretsDir).'.';
|
||||
$this->decryptionKey = $decryptionKey;
|
||||
$this->secretsDir = $secretsDir;
|
||||
@@ -55,7 +49,7 @@ class SodiumVault extends AbstractVault implements EnvVarLoaderInterface
|
||||
|
||||
try {
|
||||
$this->loadKeys();
|
||||
} catch (\RuntimeException $e) {
|
||||
} catch (\RuntimeException) {
|
||||
// ignore failures to load keys
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user