Skip to content

Releases: TYPO3/phar-stream-wrapper

PHP 7.4 compatibility

18 Oct 12:07
Compare
Choose a tag to compare

Resolved Issues

  • #49: Ensure PHP 7.4 compatibility

Notice

Branch v2 is not considered to be dramatically changed in order to be compatible with future PHP versions anymore. Albeit this branch now should be working for PHP 5.3, 5.4, 5.5, 5.6, 7.0, 7.1, 7.2, 7.3 and 7.4 we'd like to encourage projects to switch to the master branch and v3.1.3 or any later version - which is considered to be adjusted for future PHP versions as well.

tl;dr: No guarantee v2 branch will be maintained for upcoming PHP 7.4.x and PHP 8 versions

Handling mime-type & Windows paths

14 May 13:27
Compare
Choose a tag to compare

Resolved Issues

  • #34: Normalize resolved Windows path to Unix-style
  • #42: Avoid analysing non-phar files on alias resolving
  • #40: Add Windows tests using AppVeyor
  • #33: Add alternative mime-type resolving (without ext-fileinfo)

Handling mime-type & Windows paths

14 May 13:26
Compare
Choose a tag to compare

Resolved Issues

  • #34: Normalize resolved Windows path to Unix-style
  • #42: Avoid analysing non-phar files on alias resolving
  • #40: Add Windows tests using AppVeyor
  • #33: Add alternative mime-type resolving (without ext-fileinfo)

Phar Alias Handling & Performance

06 May 09:40
Compare
Choose a tag to compare

Releases v3.1.1 and v.2.1.1 aim to overcome drawbacks in Phar's alias resolving from Phar stub as well as solving performance aspects.

Resolved Issues

  • alias resolving & handling #21, #24
  • performance #23

Phar Alias Handling & Performance

06 May 09:41
Compare
Choose a tag to compare

Releases v3.1.1 and v.2.1.1 aim to overcome drawbacks in Phar's alias resolving from Phar stub as well as solving performance aspects.

Resolved Issues

  • alias resolving & handling #21, #24
  • performance #23

Phar Alias Handling

04 Mar 19:45
Compare
Choose a tag to compare
Phar Alias Handling Pre-release
Pre-release

Description

Releases v3.1.0 and v.2.1.0 aim to overcome drawbacks in Phar's alias resolving (either by Phar archives using Phar::setAlias() in meta-data or Phar::mapPhar() in stub code).

Merged pull-requests

Migration

In case custom Assertable interceptors have been used, path resolving has to be adjusted in order to make use of alias resolving features.

before - example in v3.0.1

$baseFile = Helper::determineBaseFile($path);

after - example in v3.1.0

$invocation = Manager::instance()->resolve($path);
$baseName = $invocation->getBaseName(); // previously called $baseFile

Open Issues

There have been reports about flaws using stream_select() and according stream_cast() in PharStreamWrapper. Since it was not possible to reproduce the behavior in an isolated scenario and specific platform requiresments were not clear, these aspects have not been covered by these releses - see #8 and #19 for details.

Features

  • added low-level Phar\Reader for stub & meta-data (incl. alias) and their model representations
  • added Resolver\PharInvocationResolver in order to resolve/handle alias names
  • added Interceptor\ConjunctionInterceptor for combining multiple interceptors
  • added Interceptor\PharMetaDataInterceptor for actually testing against insecure deserialization in meta-data of Phar archives

Phar Alias Handling

04 Mar 19:47
b7a21f0
Compare
Choose a tag to compare
Phar Alias Handling Pre-release
Pre-release

Description

Releases v3.1.0 and v.2.1.0 aim to overcome drawbacks in Phar's alias resolving (either by Phar archives using Phar::setAlias() in meta-data or Phar::mapPhar() in stub code).

Merged pull-requests

Migration

In case custom Assertable interceptors have been used, path resolving has to be adjusted in order to make use of alias resolving features.

before - example in v3.0.1

$baseFile = Helper::determineBaseFile($path);

after - example in v3.1.0

$invocation = Manager::instance()->resolve($path);
$baseName = $invocation->getBaseName(); // previously called $baseFile

Open Issues

There have been reports about flaws using stream_select() and according stream_cast() in PharStreamWrapper. Since it was not possible to reproduce the behavior in an isolated scenario and specific platform requiresments were not clear, these aspects have not been covered by these releses - see #8 and #19 for details.

Features

  • added low-level Phar\Reader for stub & meta-data (incl. alias) and their model representations
  • added Resolver\PharInvocationResolver in order to resolve/handle alias names
  • added Interceptor\ConjunctionInterceptor for combining multiple interceptors
  • added Interceptor\PharMetaDataInterceptor for actually testing against insecure deserialization in meta-data of Phar archives

TYPO3-PSA-2018-001: By-passing protection of PharStreamWrapper Interceptor

TYPO3-PSA-2018-001: By-passing protection of PharStreamWrapper Interceptor

Raise to version v3

07 Sep 15:18
072007e
Compare
Choose a tag to compare

Basically no functional differences to v1.0.1 release. Since PHP 5.3 compatibility has been merged into this repository, the new v2 branch will be used for PHP 5.3 related sources and master still requires PHP 7.0. That's why v1.0.1 is re-released now as v3.0.0.