Skip to content

Commit

Permalink
bug #36026 [Mime] Fix boundary header (guillbdx)
Browse files Browse the repository at this point in the history
This PR was squashed before being merged into the 4.4 branch.

Discussion
----------

[Mime] Fix boundary header

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | Fix #35443 (fixes the second problem described in this ticket)
| License       | MIT

The boundary value of Content-Type header was enclosed in quotes, cause of the "=" symbol.

Commits
-------

453078f [Mime] Fix boundary header
  • Loading branch information
fabpot committed Mar 14, 2020
2 parents 228b59d + 453078f commit f166fe5
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 1 deletion.
2 changes: 1 addition & 1 deletion src/Symfony/Component/Mime/Part/AbstractMultipartPart.php
Expand Up @@ -91,7 +91,7 @@ public function asDebugString(): string
private function getBoundary(): string
{
if (null === $this->boundary) {
$this->boundary = '_=_symfony_'.time().'_'.bin2hex(random_bytes(16)).'_=_';
$this->boundary = strtr(base64_encode(random_bytes(6)), '+/', '-_');
}

return $this->boundary;
Expand Down
Expand Up @@ -91,4 +91,16 @@ public function testContentLineLength()
$this->assertEquals($foo, $parts[0]->bodyToString());
$this->assertEquals($bar, $parts[1]->bodyToString());
}

public function testBoundaryContentTypeHeader()
{
$f = new FormDataPart([
'file' => new DataPart('data.csv', 'data.csv', 'text/csv'),
]);
$headers = $f->getPreparedHeaders()->toArray();
$this->assertRegExp(
'/^Content-Type: multipart\/form-data; boundary=[a-zA-Z0-9\-_]{8}$/',
$headers[0]
);
}
}

0 comments on commit f166fe5

Please sign in to comment.