Skip to content

Conversation

@markchalloner
Copy link
Contributor

Q A
Bug fix? yes
New feature? yes
BC breaks? no
Deprecations? no
Tests pass? yes
Fixed tickets #10018
License MIT
Doc PR symfony/symfony-docs#5320

...as rename can only work where $oldname and $newname have the same streams wrappers.

Added tempnam, stream wrapper aware version of tempnam(), to do the heavy lifting.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

hierarchy ? this is the first time I see this word used for a path component

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Includes the authority as well as the path.

STD 66 and RFC 3986 call it "hierarchical part" but hierarchy seemed nicer.

http://en.wikipedia.org/wiki/URI_scheme

Cheers

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

rather than implementing these in 2 separate methods, each of them redoing the same splitting of the path, what about doing the logic determining both in the same place (either here or in a method returning array($scheme, $hierarchy) and using list($scheme, $hierarchy) = ... here) ?

@javiereguiluz
Copy link
Member

In the current Filesystem component, all custom functions use the same name as the original PHP function (copy, mkdir, touch, etc.) Why should we change the name of the PHP function in this case (tempnam() -> tempNam())?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why don't you use file_exists (or is_readable)?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@staabm. See comment just above :)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

arghs sry ;)

@markchalloner
Copy link
Contributor Author

I think I fixed a TOCTOU security vulnerability but can someone check:

https://github.com/markchalloner/symfony/commit/26cbdfbd49b708367e459b7328859bef3207486a#diff-e88ad8ede40599bea0592b1113c4452c

I also added a MockStream as none of the built-in ones were suitable for testing (see comments in testTempnamWith*SchemeFails).

@markchalloner
Copy link
Contributor Author

Rebased onto 2.8 in #14970

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants