[BUGFIX] FunctionalTestcase->registerRoute() does not allow httpMethods

The FunctionalTestcase->registerRoute() did not allow configurable httpMethods.
This change adds an httpMethods argument to this method, and adds a simple
test to verify the behavior.

Change-Id: If804afe39b941428c75cc0e1197ff23ad683ed23
Releases: master, 2.0, 2.1, 2.2
Fixes: #58959
[TASK] Implement case insensitive like() in the Query object

This change implements the missing case insensitive like() into
the Query object which was still documented as todo.

Change-Id: I53cd80e145eb49bcf8251f0045b9f3ec4fd61105
Releases: master, 2.2, 2.1, 2.0
[TASK] Use Unicode-aware strtolower in equals()

The implementation of equals() in Doctrine\Query used plain strtolower()
instead of a Unicode-aware function to lowercase the parameter. This
changes fixes that by using the Unicode\Functions::strtolower() method.

Change-Id: I78f004d3b4313d0508e46ca99bbd824b5c27a4fe
Releases: master, 2.2, 2.1, 2.0
Merge "[TASK] Implement case insensitive like() in the Query object" into 2.2
Merge "[TASK] Use Unicode-aware strtolower in equals()" into 2.2
[TASK] Raise cURL timeout

This change raises the default cURL timeout to 30 seconds.

Change-Id: I705e8da205e53ca1ce4001cf7027cafeaefc62d0
Releases: master, 2.2
[BUGFIX] Proxy compiler should only remove opening php tag

Without this change the proxy compiler throws away the full line
containing the opening php tag, but that is not correct as this
first line could contain important information like the namepace
declaration.

This change just removed the opening php tag and all following
whitespace but leaves anything else in the line unchanged.

Change-Id: I42867963468c23a3dd11512c31ab1bff0ba3db1c
Releases: master, 2.2, 2.1
Fixes: FLOW-3
[FEATURE] Allow logging of exceptions to be switched off

The AbstractExceptionHandler logs all exceptions before passing control
to the concrete ExceptionHandler. This means that even if an exception
is handled with a custom template (e.g. for exceptions grouped as 404
status errors) the error log is filled with exceptions and the traces
fill up the Data/Logs/Exceptions directory.

Now the new option ``logException`` can be used to switch that off. Flow
sets this to FALSE for the ``notFoundExceptions`` rendering group by
default.

Change-Id: Id6e523aeebcfdd366b7831f20c7a4634b494962b
Releases: master, 2.2
Merge "[BUGFIX] Proxy compiler should only remove opening php tag" into 2.2
[FEATURE] Improve type converters

The ArrayConverter can now convert CSV strings (with configurable
delimiter) and JSON to array, depending on configuration. Conversion of
Resource instances to arrays is added with configurable file export
(base64 or external file).

The StringConverter accepts float, boolean, array and DateTime as source
types now. For DateTime conversion the W3C format is the default and can
be changed through configuration. Array sources can be converted to a
CSV string (with configurable delimiter)  or JSON, again depending on
configuration.

A ResourceConverter has been added. Unlike the ResourceTypeConverter it
is not for converting file uploads to Resource instances but handles
conversion of string and array sources.

Further changes:

* the BooleanConverter accepts integer and float as source types
* the IntegerConverter now can convert DateTime soures (to timestamp)
* add (more) class documentation for type converters to improve the
  converter reference in the Flow guide appendix

Change-Id: Ib5acdb59ee2ff9593456fe35960cdc9c41d71ace
Related: NEOS-158
Releases: master, 2.2
[TASK] Update references in documentation

See https://ci.neos.typo3.org/job/typo3-flow-release/20/

Releases: 2.2
[TASK] Add changelog for TYPO3 Flow 2.2.1

See https://ci.neos.typo3.org/job/typo3-flow-release/20/

Releases: 2.2
[BUGFIX] REMOTE_AUTHORIZATION strips "Basic" string

Currently the .htaccess file passes the "Authorization" header
to the REMOTE_AUTHORIZATION environment variable by stripping
the "Basic" string. This means as soon as the authentication
token tries to authenticate, the only remaining thing is the
base64 encoded value of username/password without the "Basic"
indicator. This leads to no basic auth possible when running
CGI.

Change-Id: Ia316a732c1eecade595f67928fc1ce6935731af0
Resolves: #53010
Releases: master, 2.2, 2.1
(cherry picked from commit 8bd0eca54fefa1eb014d000f368634d2a91f477d)
[BUGFIX] sessionManager->getActiveSessions() returns empty array

This change adds the tag 'session' to all started sessions.
As SessionManager->getActiveSessions() searches sessions by
'session' tag, nothing will ever be returned if the tag is
not set.

Change-Id: Ib92b13bd67dafb4eae04a669befc8da581a405dd
Fixes: #55936
Releases: master, 2.2, 2.1
[BUGFIX] Add domain model validators only once

If a domain model validator is present and a controller action accepts
this domain model as argument, the validator is added twice to the
validation tree.

It is added in ValidatorResolver::buildMethodArgumentsValidatorConjunctions()
and in ValidatorResolver::addCustomValidators() which is called from
ValidatorResolver::getBaseValidatorConjunction()

Both methods are called when building the validation tree in
ActionController::initializeActionMethodValidators()

Resolves: #49624
Releases: master, 2.2, 2.1
Change-Id: I1f8902d09f468177d580a7a3d949242cce78313e
[TASK] Remove link to forge from DebugExceptionHandler output

The link to create an issue from the exception screen was not used much
and since we moved away from forge it would link to the wrong tracker.

I consider this experiment a failure and thus this change removes the
link (generation code) from the DebugExceptionHandler.

Change-Id: I2d5a4b2ad15240a4f767756d85a3563df8896c21
Releases: master, 2.2
Merge "[BUGFIX] Add domain model validators only once" into 2.2
Merge "[BUGFIX] REMOTE_AUTHORIZATION strips "Basic" string" into 2.2
[BUGFIX] Make file uploads work again

This change fixes a regression which was introduced by
Ib5acdb59ee2ff9593456fe35960cdc9c41d71ace. That change
created a second TypeConverter for Resource objects, but
gave a wrong priority for that one -- effectively disabling
the default type converter which handled file uploads.

Here, we merge the behavior of both TypeConverters into
a single one.

When testing this, make sure to fully clear your cache.

Change-Id: I479e025afbd7c382751c3d0521c18b7097b1e08f
Related: NEOS-158
Fixes: FLOW-60
Releases: master, 2.2
[TASK] Update references in documentation

See https://ci.neos.typo3.org/job/typo3-flow-release/21/

Releases: 2.2