1.0.2¶
TYPO3.FLOW3¶
[BUGFIX] Make emptyDirectoryRecursively() ignore . and ..¶
The check for this breaks when the iterator returns . and .., they are then handled like files, which cannot work.
[BUGFIX] Unit tests remove their temporary files¶
Some unit tests create many temporary files outside vfs:// that are now removed after running the test.
[BUGFIX] Files::emptyDirectoryRecursively affects targets of symlinks¶
\TYPO3\FLOW3\Utility\Files::removeDirectoryRecursively() fails to properly unlink directory symlinks on Windows.
Thus \TYPO3\FLOW3\Utility\Files::emptyDirectoryRecursively() iterates through the target files of a symlinked folder and removes them!
This change fixes this by introducing a custom unlink() function that can remove a symlink regardless of it’s type (file/directory).
[BUGFIX] Logout doesn’t work anymore¶
Since 93b608a calling AuthenticationProviderManager::logout() without initializing the Security Context first, returns without actually destroying the authentication cookie.
This change fixes this by introducing a new convenience method isAuthenticated() to the AuthentcationManagerInterface allowing the AuthenticationProviderManager to check whether a user is authenticated before trying to fetch the session.
[BUGFIX] “Wrong” EOL characters break parsing of doc comments¶
When \n\r was used as EOL instead of just \n the parsed doc comments would retain the \r which would cause confusing exceptions in some cases later on.
[BUGFIX] Make validation upon persistence work again¶
The validation upon persistence was dropped (more or less by accident) when we switched to Doctrine. This change brings it back.
In addition it fixes the exception message produced in the generic AbstractBackend when validation fails.
[BUGFIX] Only flush() the Doctrine ORM if it is open¶
In some cases it can happen, that the EntityManager is closed at the end of a request This can be a valid situation (see #30933 for more).
This change makes persistAll() check if the EntityManager is open before calling flush() on it.
[BUGFIX] ACL file permissions do not work correctly¶
When setting file permissions the setting of ACL would succeed but the set permissions did not work as expected. This changes fixes that.
In addition it makes the calls in a chain so that the check for the return value of the chmod commands is more robust. The directories that are created are now always owned by the command line user.
[BUGFIX] Trigger allObjectsPersisted after every functional test¶
The tearDown() method of the base functional test case clears the persistence manager’s state so it is ready for the next test, avoiding side effects.
However, certain repositories (such as the TYPO3CR NodeRepository) rely on the signal “allObjectsPersisted” which triggers their internal cleanup function. If this signal is not, sent, the next test will still see added objects stored directly in the repository.
The solution is to call persistAll() in the tearDown() method, even if the just executed test doesn’t require it.
[BUGFIX] Fix check for stripped comments¶
The bootstrap checks for the presence of doc comments, to avoid problems with some bytecode caches that strip comments.
That check did not work correctly (FALSE is returned but the check expects an empty string). In case an error is seen, the exception cannot be thrown as well (no classloader available at that point). That exception issue has been been fixed for another check as well.
On top of this the check for magic_quotes_gpc has been adjusted a tiny bit.
[TASK] Move ObjectValidationFailedException out of Generic¶
The exception is not specific to generic persistence, thus it should not be inside the Generic namespace.
TYPO3.Fluid¶
TYPO3.Kickstart¶
No changes