[BUGFIX] Scheduler extension sql file is invalid

On import into MySQL an error is thrown and MySQL
refuses to create the table:

ERROR 1067 (42000) at line 4: Invalid default value for 'uid'

This is due to the fact that a default value is being set
for an auto_increment field.

Change-Id: Ic072d3ec21b4e8adbecf9ff88e6ac4a2919959ec
Resolves: #53750
Releases: 4.5, 4.7, 6.0, 6.1, 6.2
Reviewed-on: https://review.typo3.org/25507
Reviewed-by: Markus Klein
Tested-by: Markus Klein
[BUGFIX] Table cache_imagesizes is defined twice

The table cache_imagesizes is defined in two files:
t3lib/stddb/tables.sql
typo3/sysext/cms/ext_tables.sql

This is the case for the 4.5 branch as well as the 4.7 branch.
It has been cleaned up in 6.x.

Change-Id: I02f7895ccd25a2404b7742f1706466328869cfce
Resolves: #53758
Releases: 4.7, 4.5
Reviewed-on: https://review.typo3.org/25514
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
[RELEASE] Release of TYPO3 4.7.16

Change-Id: Ib149ef8c34c30fdebace1863e342df5f3292cebc
Reviewed-on: https://review.typo3.org/25696
Reviewed-by: TYPO3 Release Team
Tested-by: TYPO3 Release Team
[TASK] Set TYPO3 version to 4.7.17-dev

Change-Id: Idae23920cd4114c89451f2831897e4461b052037
Reviewed-on: https://review.typo3.org/25697
Reviewed-by: TYPO3 Release Team
Tested-by: TYPO3 Release Team
[BUGFIX] Distinguish unassigend columns and colPos 0

When using backend layout columns without a colPos value they should be
just placeholders with the label "not assigned". Currently they are
showing the content of the column 0 instead if there is such a column in
the backend layout.

The label "not assigned" is used for columns without any
label, otherwise the label is used together with the suffix
"(not assigned)".

Change-Id: I02c418eebdd9345c3066aa8c3eeec353d2cd9e58
Resolves: #25157
Resolves: #45550
Releases: 4.5, 4.7, 6.0, 6.1, 6.2
Reviewed-on: https://review.typo3.org/25388
Reviewed-by: Philipp Gampe
Tested-by: Philipp Gampe
Reviewed-by: Markus Klein
Tested-by: Markus Klein
[BUGFIX] ext:adodb Restrict connection wizard to admins

In the unlikely case ext:datasources is used, there is a potential
information disclosure that content of this table is shown to
non-admin backend users. This is better sanitized with the patch.

Change-Id: I748a0e05b57ac8c6d9c37cdd86fdb093c380dea5
Resolves: #42651
Releases: 6.1, 6.0, 4.7, 4.5
Reviewed-on: https://review.typo3.org/25761
Reviewed-by: Oliver Klee
Tested-by: Oliver Klee
Reviewed-by: Franz G. Jahn
Tested-by: Franz G. Jahn
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
Revert "[BUGFIX] Distinguish unassigend columns and colPos 0"

TYPO3 4.7 is in extended maintenance mode, which actually means
only security fixes and blocking fixes upon RM approval.
This one was explicitly dissapproved.

This reverts commit 542bd7da494082637733ca69909289d1bb9c3479

Change-Id: If870e4e155e0733c57d62b69ea5be297d7691b45
Reviewed-on: https://review.typo3.org/25704
Reviewed-by: Steffen Ritter
Tested-by: Steffen Ritter
Revert "[BUGFIX] Object passed to date()"

This reverts commit d361b2999c8ba8d1cdb218ead4f60ef1de9fe458

The change I6821bafa51372c50d8903c63d62ea44933bc12b3 does not
apply to 4.5 and 4.7, since $task is not an object in these
versions.

Change-Id: I10a214e6d7218cb17dbf49583f266d30e180097b
Releases: 4.5, 4.7
Resolves: #54120
Reviewed-on: https://review.typo3.org/25846
Reviewed-by: Philipp Gampe
Reviewed-by: Helmut Hummel
Tested-by: Helmut Hummel
[BUGFIX] ClientUtility does not detect Internet Explorer 11

Since the Release of Microsoft IE 11 there is no "MSIE" hint in
its user agent header anymore. Therefore the existing patterns
fail and the browser is detected as unknown browser.

TYPO3 deactivates several features for unknown browser. As a
result f.e. the RTE does not load.

This change adds special treatment for IE11+ by introducing an
additional regular expression matching the new user agent format
and looking for the Trident engine to be present.

In addition unit tests for common IE 9-11 user agents are added.

Change-Id: I389f344a498ac77f3e6445656dd125fd5d236a98
Resolves: #54124
Releases: 6.2, 6.1, 6.0, 4.7, 4.5
Reviewed-on: https://review.typo3.org/25886
Reviewed-by: Markus Klein
Reviewed-by: Helmut Hummel
Tested-by: Helmut Hummel
[SECURITY] Unsafe unserialize of GET parameter in Add-Wizard

If the TCEforms wizard "add" is used, the original opened document
is closed and a new one is created in which you then add a new
element to be related.
In order to "store" the originating document which has been
edited, the Wizard/AddController and EditDocumentController
exchange state data in an URL-parameter.
This state-array is serialized in the EditDocumentController
and again unserialized in the Wizard/AddController from that
GET parameter. Without any checks, every code can be injected
to be unserialized here - even though we just need an array
with some data.
This patch changes serialize/unserialize to json_encode and
json_decode. Since the GET parameter only is used in
conjunction of these two classes it is save to changes the
format how the URL parameters are serialized.

Change-Id: Ic33bfe350573d7d77682afd3d5f55a29bb4837a9
Fixes: #54073
Releases: 6.2, 6.1, 6.0, 4.7, 4.5
Security-Commit: d5a752746df9317a3d1534803079b7a34882bba2
Security-Bulletin: TYPO3-CORE-SA-2013-004
Reviewed-on: https://review.typo3.org/26185
Reviewed-by: Oliver Hader
Tested-by: Oliver Hader
[SECURITY] Remove possible XSS from ActionController Error output

As parameters passed to an ErrorObject can be user input, the
output of those parameters in the ActionController::errorAction() method
could lead to a cross side scripting possibility.

The offending output has been removed without substitution.

Change-Id: I95ca32a176ac32c86f37f4f265c4bcfbe886646b
Fixes: #54074
Releases: 6.2, 6.1, 6.0, 4.7, 4.5
Security-Commit: 7cb972ea49ff33e96cd0f6b1ecab10ed0fed0ef7
Security-Bulletin: TYPO3-CORE-SA-2013-004
Reviewed-on: https://review.typo3.org/26186
Reviewed-by: Oliver Hader
Tested-by: Oliver Hader
[SECURITY] XSS in be_layout wizard

Usage of unverified input parameters in wizard URL leads to a possible
XSS vulnerability in backend_layout wizard.
The solution is the introduction of a hmac validation of the parameters
used in JavaScript.

Change-Id: I55608bbbc587446f39b4012c9fed986a3e58fbaf
Fixes: #36768
Releases: 6.2, 6.1, 6.0, 4.7, 4.5
Security-Commit: e9ef9bcf819f4b384d88a93f28bb8a22ebe2cfca
Security-Bulletin: TYPO3-CORE-SA-2013-004
Reviewed-on: https://review.typo3.org/26187
Reviewed-by: Oliver Hader
Tested-by: Oliver Hader
[SECURITY] feuser_adminLib.inc allows to set arbitrary fields

The CMS core ships a utility class helping extension authors
to create frontend-extension which need a mail-based opt-in.
This class is neither used by core nor really maintained.

In the opt-in process the fields which should be updated to
activate the user are put as URL parameter into the
activation link. In the default configuration this feature
set allows to set any values of any field to this record.

As a result a user could manipulate his activation link and
therefore extend his usergroups.

This patch ensures that all fields which are about to update
are added to the hash as well as only taking the values
from TypoScript so even if the fields match no harm can be
done.

Change-Id: Ic2325cbe714297e6d83e6a6d7436abe4981e8cb1
Fixes: #48187
Releases: 6.0, 4.7, 4.5
Security-Commit: 8bdaffd51a244657215c1d37150f749cbb7a8c79
Security-Bulletin: TYPO3-CORE-SA-2013-004
Reviewed-on: https://review.typo3.org/26188
Reviewed-by: Oliver Hader
Tested-by: Oliver Hader
[SECURITY] Fix open redirection in openid extension

The eID script of the openid extension does not
validate the given redirect url, leading to
an open redirection vulnerability.
Add and verify hmac of the redirect url.

Change-Id: Ic210b54b45dc275d684cd629d30819f09d3f1ca1
Fixes: #54099
Releases: 6.2, 6.1, 6.0, 4.7, 4.5
Security-Commit: 5d4db5190b053b32ee4aacad04ea6a1486bd7c74
Security-Bulletin: TYPO3-CORE-SA-2013-004
Reviewed-on: https://review.typo3.org/26189
Reviewed-by: Oliver Hader
Tested-by: Oliver Hader
[SECURITY] Information Disclosure in Wizards

It has been possible for authenticated editors
to show content of arbitrary tables and fields
that are defined in TCA by manipulating
GET parameters of the forms and table wizard.

This change adds a check if the editor has access
to the given record.

Change-Id: I99049be542c2c63b4b2a1699b0d0bea1f15454f4
Fixes: #41714
Releases: 4.5, 4.7, 6.0, 6.1, 6.2
Security-Commit: 61344c8c36a4cedc0baaf3bd829ae27a986fcacd
Security-Bulletin: TYPO3-CORE-SA-2013-004
Reviewed-on: https://review.typo3.org/26190
Reviewed-by: Oliver Hader
Tested-by: Oliver Hader
[SECURITY] XSS vulnerability in extension manager

Add escaping on extension meta data when rendering.

Change-Id: I6f65cb5fb4f0d290349c15c03a3d52f4b0d18fda
Fixes: #20811
Releases: 4.7, 4.5
Security-Commit: 37665425f8e738cf6cd34e10f9efc3c45d5a53fb
Security-Bulletin: TYPO3-CORE-SA-2013-004
Reviewed-on: https://review.typo3.org/26191
Reviewed-by: Oliver Hader
Tested-by: Oliver Hader
[SECURITY] XSS in header link of all content elements

The second typolink parameter, that is the target, can be abused to
introduce XSS code into the generated link. Escaping the parameter
with quoteJSvalue solves the problem.

Change-Id: I97726d35eaad8b6229efbe0b2127ac360b948bc9
Fixes: #31206
Releases: 6.2, 6.1, 6.0, 4.7, 4.5
Security-Commit: 9a1154d09e9edff7480a3ef2431869068f174cca
Security-Bulletin: TYPO3-CORE-SA-2013-004
Reviewed-on: https://review.typo3.org/26192
Reviewed-by: Oliver Hader
Tested-by: Oliver Hader
[SECURITY] XSS in colorpicker wizard

Encode user-input in JavaScript context for colorpicker.

Change-Id: I0de44c590d5af304ef854628d6f5eab0c0b681ca
Fixes: #42772
Releases: 6.2, 6.1, 6.0, 4.7, 4.5
Security-Commit: b5174020f706f83457d681c6c4d4d6054d3aa961
Security-Bulletin: TYPO3-CORE-SA-2013-004
Reviewed-on: https://review.typo3.org/26193
Reviewed-by: Oliver Hader
Tested-by: Oliver Hader
[SECURITY] Prevent editor controlled hmac content

An hmac of the editor controlled auto respond message was used to verifiy
the correctness of this message on submit. To prevent this, we add an
additional secret.

Change-Id: I518f020af9a5cf0c66870c52aa5534938b1966cb
Fixes: #45043
Releases: 4.5, 4.7, 6.0, 6.1, 6.2
Security-Commit: f707a2013a15f005cb43765170d8dc6eae2e5a26
Security-Bulletin: TYPO3-CORE-SA-2013-004
Reviewed-on: https://review.typo3.org/26194
Reviewed-by: Oliver Hader
Tested-by: Oliver Hader
[RELEASE] Release of TYPO3 4.7.17

Change-Id: I19333c4d3ad23dfddfab620cbe92edd1922d8c8a
Reviewed-on: https://review.typo3.org/26230
Reviewed-by: TYPO3 Release Team
Tested-by: TYPO3 Release Team