Quantcast
Channel: Issues for Drupal core
Viewing all articles
Browse latest Browse all 293910

Domain-based language negotiation strips "destination" URL query argument, causing BigPipe error

$
0
0

Problem/Motivation

When using domain language negotiation the destination parameter can be stripped.

Steps to reproduce:

  1. Install standard
  2. Install the language module
  3. Add second language
  4. Go to Configuration > Regional and language > Languages > Detection, click on Domain and make up some configuration and save it.
  5. Visit /admin/structure/block
  6. Click the seven link in local tasks
  7. Click remove on the first block
  8. Click click the remove button
  9. You should be on admin/structure/block/list/seven but you're on admin/structure/block

This can also cause errors with disabled javascript, domain language negotiation and Big Pipe enabled:

"Symfony\Component\HttpKernel\Exception\HttpException: The original location is missing. Drupal\big_pipe\Controller\BigPipeController->setNoJsCookie() (line 50 /core/modules/big_pipe/src/Controller/BigPipeController.php)"

Proposed resolution

Fix the \Drupal\Core\Security\RequestSanitizer to use \Drupal\Component\Utility\UrlHelper::externalIsLocal() to determine is an external URL is really external.

Remaining tasks

User interface changes

None

API changes

None

Data model changes

None

Release notes snippet

N/a


Viewing all articles
Browse latest Browse all 293910

Trending Articles