|
Whoops, looks like something went wrong.
|
|
(1/1) TypeError
|
|
Cannot assign null to property Doctrine\DBAL\Schema\Column::$_comment of type string
|
|
|
|
in /path/typo3_src-13.4.1/typo3/sysext/core/Classes/Cache/Frontend/VariableFrontend.php line 85
|
|
$rawResult = $this->backend->get($entryIdentifier);
|
|
if ($rawResult === false) {
|
|
return false;
|
|
}
|
|
return $this->backend instanceof TransientBackendInterface ? $rawResult : unserialize($rawResult);
|
|
}
|
|
}
|
|
at unserialize()
|
|
in /path/typo3_src-13.4.1/typo3/sysext/core/Classes/Cache/Frontend/VariableFrontend.php line 85
|
|
$rawResult = $this->backend->get($entryIdentifier);
|
|
if ($rawResult === false) {
|
|
return false;
|
|
}
|
|
return $this->backend instanceof TransientBackendInterface ? $rawResult : unserialize($rawResult);
|
|
}
|
|
}
|
|
at TYPO3\CMS\Core\Cache\Frontend\VariableFrontend->get()
|
|
in /path/typo3_src-13.4.1/typo3/sysext/core/Classes/Database/Schema/SchemaInformation.php line 95
|
|
*/
|
|
public function introspectTable(string $tableName): Table
|
|
{
|
|
$identifier = $this->connectionIdentifier . '-table-' . $tableName;
|
|
$table = $this->cache->get($identifier);
|
|
if ($table instanceof Table) {
|
|
return $table;
|
|
}
|
|
$table = $this->connection->createSchemaManager()->introspectTable($tableName);
|
|
at TYPO3\CMS\Core\Database\Schema\SchemaInformation->introspectTable()
|
|
in /path/typo3_src-13.4.1/typo3/sysext/core/Classes/Database/Connection.php line 407
|
|
protected function ensureDatabaseValueTypes(string $tableName, array &$data, array &$types): void
|
|
{
|
|
// If types are incoming already (meaning they're hand over to insert() for instance), don't auto-set them.
|
|
$setAllTypes = $types === [];
|
|
$tableDetails = $this->getSchemaInformation()->introspectTable($tableName);
|
|
$databasePlatform = $this->getDatabasePlatform();
|
|
array_walk($data, function (mixed &$value, string $key) use ($tableDetails, $setAllTypes, &$types, $databasePlatform): void {
|
|
$typeName = ($types[$key] ?? '');
|
|
if (!$setAllTypes && is_string($typeName) && $typeName !== '' && Type::hasType($typeName)) {
|
|
at TYPO3\CMS\Core\Database\Connection->ensureDatabaseValueTypes()
|
|
in /path/typo3_src-13.4.1/typo3/sysext/core/Classes/Database/Connection.php line 271
|
|
* @return int The number of affected rows.
|
|
*/
|
|
public function update(string $tableName, array $data, array $identifier = [], array $types = []): int
|
|
{
|
|
$this->ensureDatabaseValueTypes($tableName, $data, $types);
|
|
return parent::update(
|
|
$this->quoteIdentifier($tableName),
|
|
$this->quoteColumnValuePairs($data),
|
|
$this->quoteColumnValuePairs($identifier),
|
|
at TYPO3\CMS\Core\Database\Connection->update()
|
|
in /path/typo3_src-13.4.1/typo3/sysext/core/Classes/Authentication/AuthenticationService.php line 203
|
|
*/
|
|
protected function updatePasswordHashInDatabase(string $table, int $uid, string $newPassword): void
|
|
{
|
|
$connection = GeneralUtility::makeInstance(ConnectionPool::class)->getConnectionForTable($table);
|
|
$connection->update(
|
|
$table,
|
|
['password' => $newPassword],
|
|
['uid' => $uid]
|
|
);
|
|
at TYPO3\CMS\Core\Authentication\AuthenticationService->updatePasswordHashInDatabase()
|
|
in /path/typo3_src-13.4.1/typo3/sysext/core/Classes/Authentication/AuthenticationService.php line 165
|
|
}
|
|
|
|
if ($isReHashNeeded) {
|
|
// Given password validated but a re-hash is needed. Do so.
|
|
$this->updatePasswordHashInDatabase(
|
|
$userDatabaseTable,
|
|
(int)$user['uid'],
|
|
$defaultHashInstance->getHashedPassword($submittedPassword)
|
|
);
|
|
at TYPO3\CMS\Core\Authentication\AuthenticationService->authUser()
|
|
in /path/typo3_src-13.4.1/typo3/sysext/core/Classes/Authentication/AbstractUserAuthentication.php line 506
|
|
$subType = 'authUser' . $this->loginType;
|
|
|
|
/** @var AuthenticationService $serviceObj */
|
|
foreach ($this->getAuthServices($subType, $loginData, $authenticatedUserFromSession, $request) as $serviceObj) {
|
|
if (($ret = (int)$serviceObj->authUser($userRecordCandidate)) > 0) {
|
|
// If the service returns >=200 then no more checking is needed - useful for IP checking without password
|
|
if ($ret >= 200) {
|
|
$authenticated = true;
|
|
break;
|
|
at TYPO3\CMS\Core\Authentication\AbstractUserAuthentication->checkAuthentication()
|
|
in /path/typo3_src-13.4.1/typo3/sysext/core/Classes/Authentication/AbstractUserAuthentication.php line 270
|
|
|
|
// Load user session, check to see if anyone has submitted login-information and if so authenticate
|
|
// the user with the session. $this->user[uid] may be used to write log...
|
|
try {
|
|
$this->checkAuthentication($request);
|
|
} catch (MfaRequiredException $mfaRequiredException) {
|
|
// Ensure the cookie is still set to keep the user session available
|
|
if ($this->shallSetSessionCookie()) {
|
|
$this->setSessionCookie();
|
|
at TYPO3\CMS\Core\Authentication\AbstractUserAuthentication->start()
|
|
in /path/typo3_src-13.4.1/typo3/sysext/backend/Classes/Middleware/BackendUserAuthenticator.php line 99
|
|
$rateLimiter = $this->ensureLoginRateLimit($GLOBALS['BE_USER'], $request);
|
|
// Whether multi-factor authentication is requested
|
|
$mfaRequested = $route->getOption('_identifier') === 'auth_mfa';
|
|
try {
|
|
$GLOBALS['BE_USER']->start($request);
|
|
} catch (MfaRequiredException $mfaRequiredException) {
|
|
// If MFA is required and we are not already on the "auth_mfa"
|
|
// route, force the user to it for further authentication.
|
|
if (!$mfaRequested && !$this->isLoggedInBackendUserRequired($route)) {
|
|
at TYPO3\CMS\Backend\Middleware\BackendUserAuthenticator->process()
|
|
in /path/typo3_src-13.4.1/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php line 162
|
|
|
|
if (!$middleware instanceof MiddlewareInterface) {
|
|
throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342);
|
|
}
|
|
return $middleware->process($request, $this->next);
|
|
}
|
|
};
|
|
}
|
|
}
|
|
at Psr\Http\Server\RequestHandlerInterface@anonymous/path/typo3_src-13.4.1/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php:128$46->handle()
|
|
in /path/typo3_src-13.4.1/typo3/sysext/core/Classes/Middleware/RequestTokenMiddleware.php line 71
|
|
$this->securityAspect->setReceivedRequestToken(false);
|
|
$this->logger->debug('Could not resolve request token', ['exception' => $exception]);
|
|
}
|
|
|
|
$response = $handler->handle($request);
|
|
return $this->enrichResponseWithCookie($request, $response);
|
|
}
|
|
|
|
protected function resolveNoncePool(ServerRequestInterface $request): NoncePool
|
|
at TYPO3\CMS\Core\Middleware\RequestTokenMiddleware->process()
|
|
in /path/typo3_src-13.4.1/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php line 162
|
|
|
|
if (!$middleware instanceof MiddlewareInterface) {
|
|
throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342);
|
|
}
|
|
return $middleware->process($request, $this->next);
|
|
}
|
|
};
|
|
}
|
|
}
|
|
at Psr\Http\Server\RequestHandlerInterface@anonymous/path/typo3_src-13.4.1/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php:128$46->handle()
|
|
in /path/typo3_src-13.4.1/typo3/sysext/backend/Classes/Middleware/BackendRouteInitialization.php line 78
|
|
$uri = $this->uriBuilder->buildUriFromRoute('login');
|
|
return new RedirectResponse($uri);
|
|
}
|
|
|
|
return $handler->handle($request);
|
|
}
|
|
}
|
|
at TYPO3\CMS\Backend\Middleware\BackendRouteInitialization->process()
|
|
in /path/typo3_src-13.4.1/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php line 162
|
|
|
|
if (!$middleware instanceof MiddlewareInterface) {
|
|
throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342);
|
|
}
|
|
return $middleware->process($request, $this->next);
|
|
}
|
|
};
|
|
}
|
|
}
|
|
at Psr\Http\Server\RequestHandlerInterface@anonymous/path/typo3_src-13.4.1/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php:128$46->handle()
|
|
in /path/typo3_src-13.4.1/typo3/sysext/backend/Classes/Middleware/ContentSecurityPolicyReporter.php line 41
|
|
// @todo create report, then call persist, then dispatch new event
|
|
$this->persistCspReport($scope, $request);
|
|
return new NullResponse();
|
|
}
|
|
return $handler->handle($request);
|
|
}
|
|
}
|
|
at TYPO3\CMS\Backend\Middleware\ContentSecurityPolicyReporter->process()
|
|
in /path/typo3_src-13.4.1/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php line 162
|
|
|
|
if (!$middleware instanceof MiddlewareInterface) {
|
|
throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342);
|
|
}
|
|
return $middleware->process($request, $this->next);
|
|
}
|
|
};
|
|
}
|
|
}
|
|
at Psr\Http\Server\RequestHandlerInterface@anonymous/path/typo3_src-13.4.1/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php:128$46->handle()
|
|
in /path/typo3_src-13.4.1/typo3/sysext/backend/Classes/Middleware/ForcedHttpsBackendRedirector.php line 55
|
|
->withPort($sslPortSuffix);
|
|
return new RedirectResponse($backendUrl);
|
|
}
|
|
|
|
return $handler->handle($request);
|
|
}
|
|
}
|
|
at TYPO3\CMS\Backend\Middleware\ForcedHttpsBackendRedirector->process()
|
|
in /path/typo3_src-13.4.1/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php line 162
|
|
|
|
if (!$middleware instanceof MiddlewareInterface) {
|
|
throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342);
|
|
}
|
|
return $middleware->process($request, $this->next);
|
|
}
|
|
};
|
|
}
|
|
}
|
|
at Psr\Http\Server\RequestHandlerInterface@anonymous/path/typo3_src-13.4.1/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php:128$46->handle()
|
|
in /path/typo3_src-13.4.1/typo3/sysext/backend/Classes/Middleware/LockedBackendGuard.php line 76
|
|
$request->getAttribute('normalizedParams')->getRemoteAddress(),
|
|
trim((string)$GLOBALS['TYPO3_CONF_VARS']['BE']['IPmaskList'])
|
|
);
|
|
|
|
return $handler->handle($request);
|
|
}
|
|
|
|
/**
|
|
* Check adminOnly configuration variable and redirects to an URL in file
|
|
at TYPO3\CMS\Backend\Middleware\LockedBackendGuard->process()
|
|
in /path/typo3_src-13.4.1/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php line 162
|
|
|
|
if (!$middleware instanceof MiddlewareInterface) {
|
|
throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342);
|
|
}
|
|
return $middleware->process($request, $this->next);
|
|
}
|
|
};
|
|
}
|
|
}
|
|
at Psr\Http\Server\RequestHandlerInterface@anonymous/path/typo3_src-13.4.1/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php:128$46->handle()
|
|
in /path/typo3_src-13.4.1/typo3/sysext/core/Classes/Middleware/NormalizedParamsAttribute.php line 44
|
|
$normalizedParams = $request->getAttribute('normalizedParams', null);
|
|
if ($normalizedParams === null) {
|
|
$request = $request->withAttribute('normalizedParams', NormalizedParams::createFromRequest($request));
|
|
}
|
|
return $handler->handle($request);
|
|
}
|
|
}
|
|
at TYPO3\CMS\Core\Middleware\NormalizedParamsAttribute->process()
|
|
in /path/typo3_src-13.4.1/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php line 162
|
|
|
|
if (!$middleware instanceof MiddlewareInterface) {
|
|
throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342);
|
|
}
|
|
return $middleware->process($request, $this->next);
|
|
}
|
|
};
|
|
}
|
|
}
|
|
at Psr\Http\Server\RequestHandlerInterface@anonymous/path/typo3_src-13.4.1/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php:128$46->handle()
|
|
in /path/typo3_src-13.4.1/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php line 70
|
|
* Invoke the middleware stack
|
|
*/
|
|
public function handle(ServerRequestInterface $request): ResponseInterface
|
|
{
|
|
return $this->tip->handle($request);
|
|
}
|
|
|
|
/**
|
|
* Seed the middleware stack with the inner request handler
|
|
at TYPO3\CMS\Core\Http\MiddlewareDispatcher->handle()
|
|
in /path/typo3_src-13.4.1/typo3/sysext/core/Classes/Http/AbstractApplication.php line 83
|
|
|
|
public function handle(ServerRequestInterface $request): ResponseInterface
|
|
{
|
|
try {
|
|
$response = $this->requestHandler->handle($request);
|
|
} catch (ImmediateResponseException $exception) {
|
|
$response = $exception->getResponse();
|
|
}
|
|
return $response;
|
|
at TYPO3\CMS\Core\Http\AbstractApplication->handle()
|
|
in /path/typo3_src-13.4.1/typo3/sysext/backend/Classes/Http/Application.php line 51
|
|
}
|
|
|
|
// Set up the initial context
|
|
$this->initializeContext();
|
|
return parent::handle($request);
|
|
}
|
|
|
|
/**
|
|
* Initializes the Context used for accessing data and finding out the current state of the application
|
|
at TYPO3\CMS\Backend\Http\Application->handle()
|
|
in /path/typo3_src-13.4.1/typo3/sysext/core/Classes/Http/RequestHandler.php line 38
|
|
|
|
public function handle(ServerRequestInterface $request): ResponseInterface
|
|
{
|
|
if ($this->container->has(BackendApplication::class) && $this->backendEntryPointResolver->isBackendRoute($request)) {
|
|
return $this->container->get(BackendApplication::class)->handle($request);
|
|
}
|
|
|
|
if ($this->container->has(FrontendApplication::class)) {
|
|
return $this->container->get(FrontendApplication::class)->handle($request);
|
|
at TYPO3\CMS\Core\Http\RequestHandler->handle()
|
|
in /path/typo3_src-13.4.1/typo3/sysext/core/Classes/Middleware/ResponsePropagation.php line 34
|
|
{
|
|
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
|
|
{
|
|
try {
|
|
$response = $handler->handle($request);
|
|
} catch (PropagateResponseException $e) {
|
|
$response = $e->getResponse();
|
|
}
|
|
|
|
at TYPO3\CMS\Core\Middleware\ResponsePropagation->process()
|
|
in /path/typo3_src-13.4.1/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php line 162
|
|
|
|
if (!$middleware instanceof MiddlewareInterface) {
|
|
throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342);
|
|
}
|
|
return $middleware->process($request, $this->next);
|
|
}
|
|
};
|
|
}
|
|
}
|
|
at Psr\Http\Server\RequestHandlerInterface@anonymous/path/typo3_src-13.4.1/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php:128$46->handle()
|
|
in /path/typo3_src-13.4.1/typo3/sysext/core/Classes/Middleware/NormalizedParamsAttribute.php line 44
|
|
$normalizedParams = $request->getAttribute('normalizedParams', null);
|
|
if ($normalizedParams === null) {
|
|
$request = $request->withAttribute('normalizedParams', NormalizedParams::createFromRequest($request));
|
|
}
|
|
return $handler->handle($request);
|
|
}
|
|
}
|
|
at TYPO3\CMS\Core\Middleware\NormalizedParamsAttribute->process()
|
|
in /path/typo3_src-13.4.1/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php line 162
|
|
|
|
if (!$middleware instanceof MiddlewareInterface) {
|
|
throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342);
|
|
}
|
|
return $middleware->process($request, $this->next);
|
|
}
|
|
};
|
|
}
|
|
}
|
|
at Psr\Http\Server\RequestHandlerInterface@anonymous/path/typo3_src-13.4.1/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php:128$46->handle()
|
|
in /path/typo3_src-13.4.1/typo3/sysext/core/Classes/Middleware/VerifyHostHeader.php line 55
|
|
1396795884
|
|
);
|
|
}
|
|
|
|
return $handler->handle($request);
|
|
}
|
|
|
|
/**
|
|
* Checks if the provided host header value matches the trusted hosts pattern.
|
|
at TYPO3\CMS\Core\Middleware\VerifyHostHeader->process()
|
|
in /path/typo3_src-13.4.1/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php line 162
|
|
|
|
if (!$middleware instanceof MiddlewareInterface) {
|
|
throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342);
|
|
}
|
|
return $middleware->process($request, $this->next);
|
|
}
|
|
};
|
|
}
|
|
}
|
|
at Psr\Http\Server\RequestHandlerInterface@anonymous/path/typo3_src-13.4.1/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php:128$46->handle()
|
|
in /path/typo3_src-13.4.1/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php line 70
|
|
* Invoke the middleware stack
|
|
*/
|
|
public function handle(ServerRequestInterface $request): ResponseInterface
|
|
{
|
|
return $this->tip->handle($request);
|
|
}
|
|
|
|
/**
|
|
* Seed the middleware stack with the inner request handler
|
|
at TYPO3\CMS\Core\Http\MiddlewareDispatcher->handle()
|
|
in /path/typo3_src-13.4.1/typo3/sysext/core/Classes/Http/AbstractApplication.php line 83
|
|
|
|
public function handle(ServerRequestInterface $request): ResponseInterface
|
|
{
|
|
try {
|
|
$response = $this->requestHandler->handle($request);
|
|
} catch (ImmediateResponseException $exception) {
|
|
$response = $exception->getResponse();
|
|
}
|
|
return $response;
|
|
at TYPO3\CMS\Core\Http\AbstractApplication->handle()
|
|
in /path/typo3_src-13.4.1/typo3/sysext/core/Classes/Http/Application.php line 44
|
|
if (!Bootstrap::checkIfEssentialConfigurationExists($this->configurationManager)) {
|
|
return $this->installToolRedirect($request);
|
|
}
|
|
|
|
return parent::handle($request);
|
|
}
|
|
|
|
protected function installToolRedirect(ServerRequestInterface $request): ResponseInterface
|
|
{
|
|
at TYPO3\CMS\Core\Http\Application->handle()
|
|
in /path/typo3_src-13.4.1/typo3/sysext/core/Classes/Http/AbstractApplication.php line 95
|
|
* Set up the application and shut it down afterwards
|
|
*/
|
|
final public function run()
|
|
{
|
|
$response = $this->handle(ServerRequestFactory::fromGlobals());
|
|
$this->sendResponse($response);
|
|
}
|
|
}
|
|
at TYPO3\CMS\Core\Http\AbstractApplication->run()
|
|
in /path/typo3_src-13.4.1/index.php line 20
|
|
// Set up the application for the frontend
|
|
call_user_func(static function () {
|
|
$classLoader = require __DIR__.'/vendor/autoload.php';
|
|
\TYPO3\CMS\Core\Core\SystemEnvironmentBuilder::run();
|
|
\TYPO3\CMS\Core\Core\Bootstrap::init($classLoader)->get(\TYPO3\CMS\Core\Http\Application::class)->run();
|
|
});
|
|
at {closure}()
|
|
in /path/typo3_src-13.4.1/index.php line 21
|
|
call_user_func(static function () {
|
|
$classLoader = require __DIR__.'/vendor/autoload.php';
|
|
\TYPO3\CMS\Core\Core\SystemEnvironmentBuilder::run();
|
|
\TYPO3\CMS\Core\Core\Bootstrap::init($classLoader)->get(\TYPO3\CMS\Core\Http\Application::class)->run();
|
|
});
|
|
at require('/path/typo3_src-13.4.1/index.php')
|
|
in /path/typo3_src-13.4.1/typo3/index.php line 48
|
|
},
|
|
['SCRIPT_NAME', 'SCRIPT_FILENAME', 'SCRIPT_URI', 'SCRIPT_URL', 'PHP_SELF'],
|
|
);
|
|
|
|
require '../index.php';
|