GitHub/WoltLab/WCF.git
3 years agoCreate page conditions during page add/edit
joshuaruesweg [Fri, 3 Sep 2021 15:26:27 +0000 (17:26 +0200)]
Create page conditions during page add/edit

3 years agoMerge pull request #4489 from WoltLab/5.5-boxen-condition-system
Alexander Ebert [Thu, 2 Sep 2021 13:30:30 +0000 (15:30 +0200)]
Merge pull request #4489 from WoltLab/5.5-boxen-condition-system

Box Visibility Conditions

3 years agoAdd file delete update instructions for `LikeUserRebuildDataWorker`
joshuaruesweg [Thu, 2 Sep 2021 09:37:18 +0000 (11:37 +0200)]
Add file delete update instructions for `LikeUserRebuildDataWorker`

See 7e3ae784ddaaaa77721f96958c86bcdeb2381070

3 years agoDelete `LikeUserRebuildDataWorker`
joshuaruesweg [Thu, 2 Sep 2021 09:35:18 +0000 (11:35 +0200)]
Delete `LikeUserRebuildDataWorker`

Closes #4418

3 years agoApply suggestions from code review
joshuaruesweg [Thu, 2 Sep 2021 09:05:36 +0000 (11:05 +0200)]
Apply suggestions from code review

3 years agoFix reverse logic logic
joshuaruesweg [Wed, 1 Sep 2021 13:29:23 +0000 (15:29 +0200)]
Fix reverse logic logic

3 years agoAdd update script for box conditions
joshuaruesweg [Wed, 1 Sep 2021 13:14:00 +0000 (15:14 +0200)]
Add update script for box conditions

3 years agoCleanup code
joshuaruesweg [Tue, 31 Aug 2021 14:09:44 +0000 (16:09 +0200)]
Cleanup code

3 years agoSpecify condition methods
joshuaruesweg [Tue, 31 Aug 2021 09:59:08 +0000 (11:59 +0200)]
Specify condition methods

3 years agoReplace page selections with condition selection
joshuaruesweg [Tue, 31 Aug 2021 08:25:25 +0000 (10:25 +0200)]
Replace page selections with condition selection

3 years agoAdd condition handling for boxes
joshuaruesweg [Mon, 30 Aug 2021 08:28:33 +0000 (10:28 +0200)]
Add condition handling for boxes

3 years agoMerge pull request #4485 from WoltLab/deprecated-request-isexecuted
Tim Düsterhus [Mon, 30 Aug 2021 07:36:43 +0000 (09:36 +0200)]
Merge pull request #4485 from WoltLab/deprecated-request-isexecuted

Deprecate Request::isExecuted()

3 years agoDeprecate Request::isExecuted()
Tim Düsterhus [Fri, 27 Aug 2021 14:35:20 +0000 (16:35 +0200)]
Deprecate Request::isExecuted()

3 years agoMerge pull request #4477 from WoltLab/xfo-deprecated
Tim Düsterhus [Fri, 27 Aug 2021 13:00:46 +0000 (15:00 +0200)]
Merge pull request #4477 from WoltLab/xfo-deprecated

Deprecate HTTP_SEND_X_FRAME_OPTIONS

3 years agoAdd warning to IndexPage if HTTP_SEND_X_FRAME_OPTIONS is disabled
Tim Düsterhus [Fri, 27 Aug 2021 12:56:17 +0000 (14:56 +0200)]
Add warning to IndexPage if HTTP_SEND_X_FRAME_OPTIONS is disabled

3 years agoDeprecate HTTP_SEND_X_FRAME_OPTIONS
Tim Düsterhus [Wed, 25 Aug 2021 10:20:45 +0000 (12:20 +0200)]
Deprecate HTTP_SEND_X_FRAME_OPTIONS

Resolves #4474

3 years agoCall `finalizeLog` for all exceptions within a chain
Tim Düsterhus [Fri, 27 Aug 2021 11:57:26 +0000 (13:57 +0200)]
Call `finalizeLog` for all exceptions within a chain

3 years agoMake ILoggingAwareException extend the \Throwable interface
Tim Düsterhus [Fri, 27 Aug 2021 11:56:54 +0000 (13:56 +0200)]
Make ILoggingAwareException extend the \Throwable interface

3 years agoMerge pull request #4483 from WoltLab/search-exception
Tim Düsterhus [Fri, 27 Aug 2021 11:32:51 +0000 (13:32 +0200)]
Merge pull request #4483 from WoltLab/search-exception

Add SearchFailed exception

3 years agoMerge pull request #4482 from WoltLab/innodb-search
Tim Düsterhus [Fri, 27 Aug 2021 11:32:44 +0000 (13:32 +0200)]
Merge pull request #4482 from WoltLab/innodb-search

Remove checks for InnoDB search engine

3 years agoClean up the objectTypes emptiness check in MysqlSearchEngine
Tim Düsterhus [Fri, 27 Aug 2021 10:06:07 +0000 (12:06 +0200)]
Clean up the objectTypes emptiness check in MysqlSearchEngine

3 years agoMake use of the `SearchFailed` exception in MysqlSearchEngine
Tim Düsterhus [Fri, 27 Aug 2021 10:03:15 +0000 (12:03 +0200)]
Make use of the `SearchFailed` exception in MysqlSearchEngine

3 years agoAdd search\exception\SearchFailed
Tim Düsterhus [Fri, 27 Aug 2021 10:01:25 +0000 (12:01 +0200)]
Add search\exception\SearchFailed

Resolves #4476

3 years agoRemove SearchEngineConvertInnoDbWorker
Tim Düsterhus [Fri, 27 Aug 2021 09:46:00 +0000 (11:46 +0200)]
Remove SearchEngineConvertInnoDbWorker

3 years agoRemove InnoDB check for search engine from SystemCheckPage
Tim Düsterhus [Fri, 27 Aug 2021 09:41:15 +0000 (11:41 +0200)]
Remove InnoDB check for search engine from SystemCheckPage

Using MyISAM for the search engine does not actually break anything (in
contrast to using InnoDB before 5.4), thus this check is not essential and
single check will be run immediately before the upgrade to 5.5 in
update_com.woltlab.wcf_5.5_ensureInnoDbSearch.php

3 years agoRemove the InnoDB check for the search engine from IndexPage
Tim Düsterhus [Fri, 27 Aug 2021 09:37:33 +0000 (11:37 +0200)]
Remove the InnoDB check for the search engine from IndexPage

3 years agoAdd update_com.woltlab.wcf_5.5_ensureInnoDbSearch.php
Tim Düsterhus [Fri, 27 Aug 2021 09:32:50 +0000 (11:32 +0200)]
Add update_com.woltlab.wcf_5.5_ensureInnoDbSearch.php

3 years agoMerge branch '5.4'
Tim Düsterhus [Fri, 27 Aug 2021 09:27:46 +0000 (11:27 +0200)]
Merge branch '5.4'

3 years agoAdd placeholder to the 'path' input in DevtoolsProjectAddForm
Tim Düsterhus [Fri, 27 Aug 2021 09:26:53 +0000 (11:26 +0200)]
Add placeholder to the 'path' input in DevtoolsProjectAddForm

3 years agoAdd description to the path input in DevtoolsProjectAddForm
Tim Düsterhus [Fri, 27 Aug 2021 09:23:49 +0000 (11:23 +0200)]
Add description to the path input in DevtoolsProjectAddForm

Resolves #4479

3 years agoMerge branch '5.4'
Tim Düsterhus [Fri, 27 Aug 2021 09:05:35 +0000 (11:05 +0200)]
Merge branch '5.4'

3 years agoRevert "Remove erroneous DatabasePackageInstallationPlugin::getDefaultFilename()"
Tim Düsterhus [Fri, 27 Aug 2021 09:03:25 +0000 (11:03 +0200)]
Revert "Remove erroneous DatabasePackageInstallationPlugin::getDefaultFilename()"

This had the unintended side-effect of no longer listing the database PIP
within the “Sync” view of dev tools. This will need to be revisited (#4480).

This reverts commit d5b180155d5805bda7e3132df2f4fde6627a49db.

3 years agoMerge pull request #4478 from ilouHD/patch-2
Alexander Ebert [Thu, 26 Aug 2021 14:31:32 +0000 (16:31 +0200)]
Merge pull request #4478 from ilouHD/patch-2

Update de.xml

3 years agoUpdate de.xml
ilou [Thu, 26 Aug 2021 14:26:25 +0000 (16:26 +0200)]
Update de.xml

fixed some typos when creating a new project using the devtools-gui in the german language.

Regarding the item `wcf.acp.devtools.project.isApplication.description` I'm unsure, why template-folders are mentioned explicitly. As I know they're the same as in plugins/projects, which are no applications.

3 years agoIncorrect alignment of positioned elements when they are hidden
Alexander Ebert [Thu, 26 Aug 2021 14:06:18 +0000 (16:06 +0200)]
Incorrect alignment of positioned elements when they are hidden

The calculation did not consider the `display` attribute, causing the elements dimensions to be considered as `0x0` for the purpose of the calculation.

See https://community.woltlab.com/thread/291896-beitragsoptionen-verschoben/

3 years agoReset the floating code box header when the sticky page header is hidden
Alexander Ebert [Thu, 26 Aug 2021 12:45:28 +0000 (14:45 +0200)]
Reset the floating code box header when the sticky page header is hidden

See https://community.woltlab.com/thread/291977-sticky-code-header-w%C3%A4hrend-antwort-unsch%C3%B6n/

3 years agoDrop obsolete update scripts for 5.4.2 -> 5.4.3
Tim Düsterhus [Thu, 26 Aug 2021 10:11:39 +0000 (12:11 +0200)]
Drop obsolete update scripts for 5.4.2 -> 5.4.3

3 years agoMerge branch '5.4'
Tim Düsterhus [Thu, 26 Aug 2021 10:07:18 +0000 (12:07 +0200)]
Merge branch '5.4'

3 years agoRemove erroneous DatabasePackageInstallationPlugin::getDefaultFilename()
Tim Düsterhus [Thu, 26 Aug 2021 10:06:39 +0000 (12:06 +0200)]
Remove erroneous DatabasePackageInstallationPlugin::getDefaultFilename()

3 years agoMerge branch '5.4'
Tim Düsterhus [Thu, 26 Aug 2021 08:33:00 +0000 (10:33 +0200)]
Merge branch '5.4'

3 years agoMerge branch '5.3' into 5.4
Tim Düsterhus [Thu, 26 Aug 2021 08:32:39 +0000 (10:32 +0200)]
Merge branch '5.3' into 5.4

3 years agoMerge branch '5.2' into 5.3
Tim Düsterhus [Thu, 26 Aug 2021 08:30:59 +0000 (10:30 +0200)]
Merge branch '5.2' into 5.3

3 years agoMerge branch '3.1' into 5.2
Tim Düsterhus [Thu, 26 Aug 2021 08:30:10 +0000 (10:30 +0200)]
Merge branch '3.1' into 5.2

3 years agoFix return type comment for AbstractDatabaseObjectAction::getSingleObject()
Tim Düsterhus [Thu, 26 Aug 2021 08:29:10 +0000 (10:29 +0200)]
Fix return type comment for AbstractDatabaseObjectAction::getSingleObject()

3 years agoUpdate fileDelete.xml
Tim Düsterhus [Wed, 25 Aug 2021 13:45:15 +0000 (15:45 +0200)]
Update fileDelete.xml

3 years agoMerge branch '5.4'
Tim Düsterhus [Wed, 25 Aug 2021 11:53:00 +0000 (13:53 +0200)]
Merge branch '5.4'

3 years agoClean up control and data flow in UserFormField::validate()
Tim Düsterhus [Wed, 25 Aug 2021 11:52:15 +0000 (13:52 +0200)]
Clean up control and data flow in UserFormField::validate()

3 years agoFix typo in en.xml
Tim Düsterhus [Wed, 25 Aug 2021 11:48:44 +0000 (13:48 +0200)]
Fix typo in en.xml

3 years agoFix error message for nonExistent user in UserFormField
Tim Düsterhus [Wed, 25 Aug 2021 11:47:33 +0000 (13:47 +0200)]
Fix error message for nonExistent user in UserFormField

3 years agoMerge branch '5.3' into 5.4
Tim Düsterhus [Wed, 25 Aug 2021 11:39:38 +0000 (13:39 +0200)]
Merge branch '5.3' into 5.4

3 years agoMerge branch '5.2' into 5.3
Tim Düsterhus [Wed, 25 Aug 2021 11:37:43 +0000 (13:37 +0200)]
Merge branch '5.2' into 5.3

3 years agoCorrectly handle null values in UserFormField::validate()
Tim Düsterhus [Wed, 25 Aug 2021 11:36:54 +0000 (13:36 +0200)]
Correctly handle null values in UserFormField::validate()

Closes #4471

Co-authored-by: Fabii547 <Fabii547@users.noreply.github.com>
3 years agoSimplify UserFormField's form data processor using `\array_column()`
Tim Düsterhus [Wed, 25 Aug 2021 11:32:55 +0000 (13:32 +0200)]
Simplify UserFormField's form data processor using `\array_column()`

3 years agoMake requirement validation more readable in UserFormField::validate()
Tim Düsterhus [Wed, 25 Aug 2021 11:25:31 +0000 (13:25 +0200)]
Make requirement validation more readable in UserFormField::validate()

3 years agoReturn explicit `null` in UserFormField::getSaveValue()
Tim Düsterhus [Wed, 25 Aug 2021 11:21:07 +0000 (13:21 +0200)]
Return explicit `null` in UserFormField::getSaveValue()

3 years agoAdd missing 'not' in error message in AbstractFormFieldDecorator
Tim Düsterhus [Wed, 25 Aug 2021 08:37:13 +0000 (10:37 +0200)]
Add missing 'not' in error message in AbstractFormFieldDecorator

3 years agoMerge branch '5.4'
Tim Düsterhus [Wed, 25 Aug 2021 07:42:52 +0000 (09:42 +0200)]
Merge branch '5.4'

3 years agoTrim trailing whitespace in Core/Ui/Object/Action.ts
Tim Düsterhus [Wed, 25 Aug 2021 07:19:28 +0000 (09:19 +0200)]
Trim trailing whitespace in Core/Ui/Object/Action.ts

3 years agoPrevent the default action of a toggle button
Alexander Ebert [Tue, 24 Aug 2021 21:53:37 +0000 (23:53 +0200)]
Prevent the default action of a toggle button

3 years agoPrevent the menu item itself being selected as its parent item
Alexander Ebert [Tue, 24 Aug 2021 21:23:55 +0000 (23:23 +0200)]
Prevent the menu item itself being selected as its parent item

See https://community.woltlab.com/thread/291999-men%C3%BCpunkt-verschwindet-wenn-%C3%BCbergeordneter-men%C3%BCpunkt-der-gleiche-ist/

3 years agoMatch mentions later because they are less specific
Alexander Ebert [Tue, 24 Aug 2021 21:15:20 +0000 (23:15 +0200)]
Match mentions later because they are less specific

Parts like `@example` can legitimately appears as part of a link that gets auto-detected.

This issue was discovered when an URL was pasted that happens to also match a user that is named `document`. The "offending" URL was: `https://developer.mozilla.org/de/docs/Web/CSS/@document`

The `@document` is recognized as part of a mention because the forward slash is a valid token that matches the boundary condition (`\b`) of the regex for mentions.

See https://community.woltlab.com/thread/292020-automatische-link-umwandlung-schl%C3%A4gt-fehlt/

3 years agoImproved phrasing of merging user accounts
Alexander Ebert [Tue, 24 Aug 2021 16:10:20 +0000 (18:10 +0200)]
Improved phrasing of merging user accounts

https://community.woltlab.com/thread/292121-merging-user-accounts/

3 years agoImproved phrasing
Alexander Ebert [Tue, 24 Aug 2021 15:52:44 +0000 (17:52 +0200)]
Improved phrasing

https://community.woltlab.com/thread/292111-typo-verbesserung-types-of-content-und-by-zu-of/

3 years agoMerge branch '5.4'
Tim Düsterhus [Tue, 24 Aug 2021 15:49:24 +0000 (17:49 +0200)]
Merge branch '5.4'

3 years agoReset the page cache when modifying the app landing pages
Alexander Ebert [Tue, 24 Aug 2021 15:47:31 +0000 (17:47 +0200)]
Reset the page cache when modifying the app landing pages

Fixes #4475

3 years agoRecommend the maintenance mode while rebuilding data
Alexander Ebert [Tue, 24 Aug 2021 15:17:21 +0000 (17:17 +0200)]
Recommend the maintenance mode while rebuilding data

Closes #4419

3 years agoMerge branch '5.4'
Tim Düsterhus [Tue, 24 Aug 2021 14:52:44 +0000 (16:52 +0200)]
Merge branch '5.4'

3 years agoExclude banned users from list of users awaiting approval
Tim Düsterhus [Tue, 24 Aug 2021 14:44:05 +0000 (16:44 +0200)]
Exclude banned users from list of users awaiting approval

3 years agoUpdating minified JavaScript files
WoltLab [Tue, 24 Aug 2021 12:28:06 +0000 (12:28 +0000)]
Updating minified JavaScript files

3 years agoUpdating minified JavaScript files
WoltLab [Tue, 24 Aug 2021 09:49:26 +0000 (09:49 +0000)]
Updating minified JavaScript files

3 years agoMerge branch '5.4'
Tim Düsterhus [Mon, 23 Aug 2021 15:06:19 +0000 (17:06 +0200)]
Merge branch '5.4'

3 years agoMerge pull request #4473 from WoltLab/samesite
Tim Düsterhus [Mon, 23 Aug 2021 14:30:28 +0000 (16:30 +0200)]
Merge pull request #4473 from WoltLab/samesite

Set SameSite=none when embedding into frames is allowed

3 years agoSet SameSite=none when embedding into frames is allowed
Tim Düsterhus [Mon, 23 Aug 2021 14:15:52 +0000 (16:15 +0200)]
Set SameSite=none when embedding into frames is allowed

Resolves #4428

3 years agoAdd condition object types for boxes
joshuaruesweg [Mon, 23 Aug 2021 11:30:54 +0000 (13:30 +0200)]
Add condition object types for boxes

3 years agoMerge branch '5.4'
Tim Düsterhus [Fri, 20 Aug 2021 13:52:53 +0000 (15:52 +0200)]
Merge branch '5.4'

3 years agoMerge pull request #4470 from WoltLab/oauth2-state-clear
Tim Düsterhus [Fri, 20 Aug 2021 13:52:15 +0000 (15:52 +0200)]
Merge pull request #4470 from WoltLab/oauth2-state-clear

Ensure that the OAuth 2 state parameter is cleared in all cases

3 years agoEnsure that the OAuth 2 state parameter is cleared in all cases
Tim Düsterhus [Fri, 20 Aug 2021 13:16:46 +0000 (15:16 +0200)]
Ensure that the OAuth 2 state parameter is cleared in all cases

3 years agoMissing phrases for validation errors in the app management
Alexander Ebert [Fri, 20 Aug 2021 13:09:50 +0000 (15:09 +0200)]
Missing phrases for validation errors in the app management

3 years agoMerge pull request #4467 from WoltLab/coverPhoto-worker
Tim Düsterhus [Fri, 20 Aug 2021 09:50:14 +0000 (11:50 +0200)]
Merge pull request #4467 from WoltLab/coverPhoto-worker

Fix handling of cover photos in UserRebuildDataWorker

3 years agoAdd AbstractFormFieldDecorator (#4469)
Peter Lohse [Fri, 20 Aug 2021 09:19:23 +0000 (11:19 +0200)]
Add AbstractFormFieldDecorator (#4469)

3 years agoMerge branch '5.4'
Tim Düsterhus [Fri, 20 Aug 2021 08:49:40 +0000 (10:49 +0200)]
Merge branch '5.4'

3 years agoRemove records of unreadable cover photos in UserRebuildDataWorker
Tim Düsterhus [Fri, 20 Aug 2021 07:35:35 +0000 (09:35 +0200)]
Remove records of unreadable cover photos in UserRebuildDataWorker

This is a clean fix of c3ebf8b995927b826072cfcc72d08a9ebd93f878.

3 years agoCheck `coverPhotoHasWebP` in UserRebuildDataWorker
Tim Düsterhus [Fri, 20 Aug 2021 07:31:14 +0000 (09:31 +0200)]
Check `coverPhotoHasWebP` in UserRebuildDataWorker

This is already checked in `->createWebpVariant()`, but with the `->update()`
added in the previous commit this saves some work.

3 years agoUpdate `coverPhotoHasWebP` in UserRebuilDataWorker
Tim Düsterhus [Fri, 20 Aug 2021 07:30:32 +0000 (09:30 +0200)]
Update `coverPhotoHasWebP` in UserRebuilDataWorker

3 years agoUse ->getLocation() in UserCoverPhoto::createWebpVariant()
Tim Düsterhus [Fri, 20 Aug 2021 07:20:51 +0000 (09:20 +0200)]
Use ->getLocation() in UserCoverPhoto::createWebpVariant()

This partially reapplies c3ebf8b995927b826072cfcc72d08a9ebd93f878 which was
reverted in 300312306b2858b6b9f474a30814fe16c3e1854c.

3 years agoRevert "Skip cover photos that cannot be read"
Tim Düsterhus [Fri, 20 Aug 2021 07:19:28 +0000 (09:19 +0200)]
Revert "Skip cover photos that cannot be read"

This should rather be cleanly fixed within the UserRebuildDataWorker, while
also updating the database on failure.

This reverts commit c3ebf8b995927b826072cfcc72d08a9ebd93f878.

3 years agoMerge branch '5.4'
Tim Düsterhus [Thu, 19 Aug 2021 15:04:39 +0000 (17:04 +0200)]
Merge branch '5.4'

3 years agoFix check whether a non-owned index is being dropped in DatabaseTableChangeProcessor
Tim Düsterhus [Thu, 19 Aug 2021 14:43:57 +0000 (16:43 +0200)]
Fix check whether a non-owned index is being dropped in DatabaseTableChangeProcessor

The reproducer and fix is effectively identical to the one in
d7f721d6f920d66f75102723b504d89e57a8c9ff.

Package A: Installs KEY someIndex (`UNIQUE`)
Package B: Installs UNIQUE KEY someIndex2 (`UNIQUE`)
Package B: Drops UNIQUE KEY someIndex2 (`UNIQUE`)

It was erroneously detected that Package B would drop the index owned by
Package A. The actual dropping logic was already correct, just the safety check
was incorrect.

3 years agoMerge pull request #4465 from WoltLab/5.5-twitter-response-psr7
Joshua Rüsweg [Thu, 19 Aug 2021 12:49:48 +0000 (14:49 +0200)]
Merge pull request #4465 from WoltLab/5.5-twitter-response-psr7

Use PSR-7 responses in `TwitterAuthAction`

3 years agoRemove superfluous import
joshuaruesweg [Thu, 19 Aug 2021 12:42:46 +0000 (14:42 +0200)]
Remove superfluous import

3 years agoUse PSR-7 responses in `TwitterAuthAction`
joshuaruesweg [Thu, 19 Aug 2021 12:37:38 +0000 (14:37 +0200)]
Use PSR-7 responses in `TwitterAuthAction`

3 years agoMerge pull request #4349 from WoltLab/user-edit-dropdown
Joshua Rüsweg [Thu, 19 Aug 2021 11:20:53 +0000 (13:20 +0200)]
Merge pull request #4349 from WoltLab/user-edit-dropdown

Add User Edit dropdown on UserEditPage

3 years agoSkip cover photos that cannot be read
Alexander Ebert [Wed, 18 Aug 2021 16:37:11 +0000 (18:37 +0200)]
Skip cover photos that cannot be read

3 years agoCheckout the repository before setting up node
Tim Düsterhus [Wed, 18 Aug 2021 14:58:49 +0000 (16:58 +0200)]
Checkout the repository before setting up node

see 464224a153f2d140551726128e0a5ad10d022ed0

3 years agoEnable npm caching in GitHub Actions
Tim Düsterhus [Wed, 18 Aug 2021 14:57:25 +0000 (16:57 +0200)]
Enable npm caching in GitHub Actions

3 years agoMerge pull request #4464 from WoltLab/session-id-unpack
Tim Düsterhus [Wed, 18 Aug 2021 09:35:20 +0000 (11:35 +0200)]
Merge pull request #4464 from WoltLab/session-id-unpack

Fix unpacking of the sessionId

3 years agoAdd safety check for unpacked session cookie data
Tim Düsterhus [Wed, 18 Aug 2021 07:43:22 +0000 (09:43 +0200)]
Add safety check for unpacked session cookie data

3 years agoFix unpacking of the sessionId
Tim Düsterhus [Wed, 18 Aug 2021 07:44:07 +0000 (09:44 +0200)]
Fix unpacking of the sessionId

As documented by PHP's reference documentation:

> The "a" code now retains trailing NULL bytes.
> The "A" code now strips all trailing ASCII whitespace (spaces, tabs,
> newlines, carriage returns, and NULL bytes).

Previously, with the 'A' code, sessionIds ending in ASCII whitespace would be
incorrectly unpacked, missing their trailing bytes. This ultimately resulted in
the session not being found and the user being logged out.

Five of the 256 possible characters exhibited this bug, making this fail in
roughly 2% of the cases.

However this likely was not noticable by the typical user. Once they have a
non-affected sessionId, this Id is not going to change. What the user might've
noticed is a login not working, despite showing a success message, because they
sessionId change after a successful login handed out an affected sessionId. But
then the user would likely try again, succeeding this time and writing off the
incident as a fluke.

Test script to reproduce the issue:

    <?php

    for ($i = 0; $i <= 255; $i++) {
        $string = "foo".chr($i);

        $packed = \pack(
            'CA4',
            1,
            $string
        );
        $unpacked1 = \unpack('Cversion/A4string', $packed);
        $unpacked2 = \unpack('Cversion/a4string', $packed);

        if ($unpacked1['string'] !== $string) {
            echo "$i: unpacked1\n";
        }
        if ($unpacked2['string'] !== $string) {
            echo "$i: unpacked2\n";
        }
    }

3 years agoFix informal phrase in de.xml
Tim Düsterhus [Wed, 18 Aug 2021 07:04:18 +0000 (09:04 +0200)]
Fix informal phrase in de.xml

3 years agoAdd new template event `pagesTabMenuContent` on `boxAdd.tpl`
joshuaruesweg [Tue, 17 Aug 2021 19:41:30 +0000 (21:41 +0200)]
Add new template event `pagesTabMenuContent` on `boxAdd.tpl`