Conversation
- Remove HTTP Basic Authentication requirement from autodiscover.php - Extract email address from XML request body instead of AUTH headers - Validate mailbox existence and active status before returning config - Improve security by eliminating password transmission - Add comprehensive error handling for invalid/inactive mailboxes - Follow industry standards (Microsoft, Google, Apple) - Maintain backward compatibility with existing email clients - Keep full logging functionality in Redis AUTODISCOVER_LOG This change enhances security while improving user experience and follows modern email client configuration best practices.
- Replace hardcoded error IDs with random values (1-10 billion range) for better debugging - Cast SimpleXMLElement email to string before SQL query to prevent type errors - Qualify ambiguous 'active' column with table names in JOIN query - Add proper error XML response for database errors instead of die() - Ensure all error paths return complete XML documents
- Add view_autodiscover.sh helper script for testing autodiscover responses - Support -h/--help flag for usage information - Support -d/--domain flag to override autodiscover target (useful for testing) - Auto-detect xmllint availability for formatted output - Email validation with regex - Interactive mode if no email provided - Display response length for debugging
…event user enumeration
* [Web] Updated lang.vi-vn.json Co-authored-by: Phu D. Nguyen <sillycat@duck.com> * [Web] Updated lang.zh-tw.json Co-authored-by: Proton Chang <protonmo@gmail.com> * [Web] Updated lang.si-si.json Co-authored-by: Matjaž Tekavec <matjaz@moj-svet.si> --------- Co-authored-by: Phu D. Nguyen <sillycat@duck.com> Co-authored-by: Proton Chang <protonmo@gmail.com> Co-authored-by: Matjaž Tekavec <matjaz@moj-svet.si>
Collaborator
Author
1 similar comment
Collaborator
Author
Added endpoint to edit quarantine items with actions to release or learn as ham. Functionality already existed but was undocumented.
…nces Existing mailcow installations were Not receiving the ACME_DNS_CHALLENGE, ACME_DNS_PROVIDER, and ACME_ACCOUNT_EMAIL options when running update.sh, as they were only defined in generate_config.sh for new installations.
* [Web] Updated lang.cs-cz.json Co-authored-by: Filip Hajny <filip@hajny.net> Co-authored-by: milkmaker <milkmaker@mailcow.de> * [Web] Updated lang.ru-ru.json Co-authored-by: Habetdin <15926758+Habetdin@users.noreply.github.com> --------- Co-authored-by: Filip Hajny <filip@hajny.net> Co-authored-by: Habetdin <15926758+Habetdin@users.noreply.github.com>
Collaborator
Author
Signed-off-by: milkmaker <milkmaker@mailcow.de>
Bump alpine from 3.21 to 3.23. Closes #7059
alpine does not output ms using date, therefore we use perl to get a more accurate measurement of the dns response time. The script output is now even more similar to nagios check_dns.
Collaborator
Author
Co-authored-by: Edgars Andersons <Edgars+Mailcow+Weblate@gaitenis.id.lv>
Collaborator
Author
…d fix composer.json/lock mismatch
Added option to skip confirmation for resetting the mailcow admin account.
Collaborator
Author
Co-authored-by: Tom18314 <tomstokmans5@gmail.com>
Collaborator
Author
Signed-off-by: milkmaker <milkmaker@mailcow.de> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Collaborator
Author
Collaborator
Author
[SOGo] Update to 5.12.5
[SOGo][Web] use incremental updates for mailbox/alias/resource sync in sogo_static_view
Collaborator
Author
Collaborator
Author
[Rspamd] Update to 3.14.3-1
Collaborator
Author
Collaborator
Author
1 similar comment
Collaborator
Author
[Watchdog] Fix Nagios MariaDB client SSL compatibility with Alpine 3.23
Collaborator
Author
[SOGo] Fix draft folder creation by adding /var/spool/sogo directory
[SOGo] Add ActiveSync support
Collaborator
Author
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

📁 Modified files
.github/workflows/close_old_issues_and_prs.yml | 2 +-
.github/workflows/rebuild_backup_image.yml | 8 +-
.gitignore | 1 +
_modules/scripts/new_options.sh | 19 +-
data/Dockerfiles/acme/Dockerfile | 15 +-
data/Dockerfiles/acme/acme.sh | 15 +
data/Dockerfiles/acme/functions.sh | 5 +
data/Dockerfiles/acme/load-dns-config.sh (new +x) | 57 +
.../acme/obtain-certificate-dns.sh (new) | 177 +++
data/Dockerfiles/acme/obtain-certificate.sh | 4 +
data/Dockerfiles/dockerapi/Dockerfile | 2 +-
data/Dockerfiles/dockerapi/main.py | 4 +-
data/Dockerfiles/netfilter/Dockerfile | 4 +-
data/Dockerfiles/phpfpm/Dockerfile | 2 +-
data/Dockerfiles/rspamd/Dockerfile | 2 +-
data/Dockerfiles/sogo/Dockerfile | 180 ++-
data/Dockerfiles/sogo/acl.diff | 4 +-
data/Dockerfiles/sogo/bootstrap-sogo.sh | 18 +-
data/Dockerfiles/unbound/Dockerfile | 2 +-
data/Dockerfiles/watchdog/Dockerfile | 3 +-
data/Dockerfiles/watchdog/check_dns.sh | 8 +-
data/Dockerfiles/watchdog/client.cnf (new) | 3 +
data/Dockerfiles/watchdog/watchdog.sh | 8 +-
.../collect/framework-.zip => conf/acme/.gitkeep} | 0
data/conf/nginx/templates/sites-default.conf.j2 | 8 +-
data/conf/postfix/postscreen_access.cidr | 103 +-
data/conf/rspamd/lua/rspamd.local.lua | 15 +-
data/web/admin/dashboard.php | 13 +-
data/web/admin/index.php | 7 +-
data/web/admin/mailbox.php | 13 +-
data/web/admin/queue.php | 14 +-
data/web/admin/system.php | 13 +-
data/web/api/openapi.yaml | 84 ++
data/web/autodiscover.php | 219 ++--
data/web/domainadmin/index.php | 7 +-
data/web/domainadmin/mailbox.php | 13 +-
data/web/domainadmin/user.php | 51 +-
data/web/edit.php | 8 +-
data/web/inc/footer.inc.php | 2 +
data/web/inc/functions.admin.inc.php | 74 +-
data/web/inc/functions.auth.inc.php | 38 +-
data/web/inc/functions.docker.inc.php | 2 +-
data/web/inc/functions.domain_admin.inc.php | 55 +-
data/web/inc/functions.inc.php | 196 ++-
data/web/inc/functions.mailbox.inc.php | 116 +-
data/web/inc/init_db.inc.php | 11 +-
data/web/inc/lib/composer.json | 3 +-
data/web/inc/lib/composer.lock | 424 +++---
.../lib/vendor/bacon/bacon-qr-code/LICENSE (new) | 22 +
.../lib/vendor/bacon/bacon-qr-code/README.md (new) | 39 +
.../vendor/bacon/bacon-qr-code/composer.json (new) | 44 +
.../bacon/bacon-qr-code/phpunit.xml.dist (new) | 13 +
.../bacon-qr-code/src/Common/BitArray.php (new) | 372 ++++++
.../bacon-qr-code/src/Common/BitMatrix.php (new) | 313 +++++
.../bacon-qr-code/src/Common/BitUtils.php (new) | 41 +
.../src/Common/CharacterSetEci.php (new) | 183 +++
.../bacon-qr-code/src/Common/EcBlock.php (new) | 49 +
.../bacon-qr-code/src/Common/EcBlocks.php (new) | 74 ++
.../src/Common/ErrorCorrectionLevel.php (new) | 63 +
.../src/Common/FormatInformation.php (new) | 203 +++
.../bacon/bacon-qr-code/src/Common/Mode.php (new) | 79 ++
.../src/Common/ReedSolomonCodec.php (new) | 468 +++++++
.../bacon-qr-code/src/Common/Version.php (new) | 596 +++++++++
.../bacon-qr-code/src/Encoder/BlockPair.php (new) | 58 +
.../bacon-qr-code/src/Encoder/ByteMatrix.php (new) | 150 +++
.../bacon-qr-code/src/Encoder/Encoder.php (new) | 668 ++++++++++
.../bacon-qr-code/src/Encoder/MaskUtil.php (new) | 271 ++++
.../bacon-qr-code/src/Encoder/MatrixUtil.php (new) | 513 ++++++++
.../bacon-qr-code/src/Encoder/QrCode.php (new) | 141 ++
.../src/Exception/ExceptionInterface.php (new) | 10 +
.../Exception/InvalidArgumentException.php (new) | 8 +
.../src/Exception/OutOfBoundsException.php (new) | 8 +
.../src/Exception/RuntimeException.php (new) | 8 +
.../Exception/UnexpectedValueException.php (new) | 8 +
.../src/Exception/WriterException.php (new) | 8 +
.../src/Renderer/Color/Alpha.php (new) | 57 +
.../src/Renderer/Color/Cmyk.php (new) | 103 ++
.../src/Renderer/Color/ColorInterface.php (new) | 22 +
.../src/Renderer/Color/Gray.php (new) | 46 +
.../bacon-qr-code/src/Renderer/Color/Rgb.php (new) | 88 ++
.../src/Renderer/Eye/CompositeEye.php (new) | 38 +
.../src/Renderer/Eye/EyeInterface.php (new) | 26 +
.../src/Renderer/Eye/ModuleEye.php (new) | 54 +
.../src/Renderer/Eye/SimpleCircleEye.php (new) | 54 +
.../src/Renderer/Eye/SquareEye.php (new) | 53 +
.../src/Renderer/Image/EpsImageBackEnd.php (new) | 376 ++++++
.../Renderer/Image/ImageBackEndInterface.php (new) | 87 ++
.../Renderer/Image/ImagickImageBackEnd.php (new) | 336 +++++
.../src/Renderer/Image/SvgImageBackEnd.php (new) | 369 ++++++
.../Renderer/Image/TransformationMatrix.php (new) | 68 +
.../src/Renderer/ImageRenderer.php (new) | 152 +++
.../src/Renderer/Module/DotsModule.php (new) | 63 +
.../Renderer/Module/EdgeIterator/Edge.php (new) | 100 ++
.../Module/EdgeIterator/EdgeIterator.php (new) | 169 +++
.../src/Renderer/Module/ModuleInterface.php (new) | 18 +
.../src/Renderer/Module/RoundnessModule.php (new) | 129 ++
.../src/Renderer/Module/SquareModule.php (new) | 47 +
.../src/Renderer/Path/Close.php (new) | 29 +
.../src/Renderer/Path/Curve.php (new) | 92 ++
.../src/Renderer/Path/EllipticArc.php (new) | 278 ++++
.../bacon-qr-code/src/Renderer/Path/Line.php (new) | 41 +
.../bacon-qr-code/src/Renderer/Path/Move.php (new) | 41 +
.../src/Renderer/Path/OperationInterface.php (new) | 12 +
.../bacon-qr-code/src/Renderer/Path/Path.php (new) | 106 ++
.../src/Renderer/PlainTextRenderer.php (new) | 86 ++
.../src/Renderer/RendererInterface.php (new) | 11 +
.../src/Renderer/RendererStyle/EyeFill.php (new) | 74 ++
.../src/Renderer/RendererStyle/Fill.php (new) | 168 +++
.../src/Renderer/RendererStyle/Gradient.php (new) | 46 +
.../Renderer/RendererStyle/GradientType.php (new) | 22 +
.../Renderer/RendererStyle/RendererStyle.php (new) | 90 ++
.../bacon/bacon-qr-code/src/Writer.php (new) | 71 +
.../test/Common/BitArrayTest.php (new) | 222 ++++
.../test/Common/BitMatrixTest.php (new) | 115 ++
.../test/Common/BitUtilsTest.php (new) | 25 +
.../test/Common/ErrorCorrectionLevelTest.php (new) | 25 +
.../test/Common/FormatInformationTest.php (new) | 94 ++
.../bacon-qr-code/test/Common/ModeTest.php (new) | 19 +
.../test/Common/ReedSolomonCodecTest.php (new) | 96 ++
.../test/Common/VersionTest.php (new) | 78 ++
.../test/Encoder/EncoderTest.php (new) | 487 +++++++
.../test/Encoder/MaskUtilTest.php (new) | 251 ++++
.../test/Encoder/MatrixUtilTest.php (new) | 335 +++++
.../Integration/ImagickRenderingTest.php (new) | 72 ++
...ckRenderingTest__testGenericQrCode__1.png (new) | Bin 0 -> 3111 bytes
.../ImagickRenderingTest__testIssue79__1.png (new) | Bin 0 -> 8366 bytes
data/web/inc/lib/vendor/bin/var-dump-server (gone) | 119 --
.../inc/lib/vendor/composer/InstalledVersions.php | 27 +-
.../inc/lib/vendor/composer/autoload_classmap.php | 1 +
.../web/inc/lib/vendor/composer/autoload_files.php | 7 +-
data/web/inc/lib/vendor/composer/autoload_psr4.php | 5 +-
.../inc/lib/vendor/composer/autoload_static.php | 126 +-
data/web/inc/lib/vendor/composer/installed.json | 439 ++++---
data/web/inc/lib/vendor/composer/installed.php | 81 +-
data/web/inc/lib/vendor/dasprid/enum/LICENSE (new) | 22 +
.../inc/lib/vendor/dasprid/enum/README.md (new) | 164 +++
.../lib/vendor/dasprid/enum/composer.json (new) | 34 +
.../vendor/dasprid/enum/src/AbstractEnum.php (new) | 261 ++++
.../lib/vendor/dasprid/enum/src/EnumMap.php (new) | 385 ++++++
.../Exception/CloneNotSupportedException.php (new) | 10 +
.../src/Exception/ExceptionInterface.php (new) | 10 +
.../src/Exception/ExpectationException.php (new) | 10 +
.../Exception/IllegalArgumentException.php (new) | 10 +
.../enum/src/Exception/MismatchException.php (new) | 10 +
.../SerializeNotSupportedException.php (new) | 10 +
.../UnserializeNotSupportedException.php (new) | 10 +
.../vendor/dasprid/enum/src/NullValue.php (new) | 75 ++
.../.github/ISSUE_TEMPLATE/bug_report.md | 4 +-
.../ISSUE_TEMPLATE/support---help-request.md | 2 +-
.../.github/workflows/run-cs-fix.yml (new) | 34 +
.../.github/workflows/run-integration-tests.yml | 114 +-
.../ldaprecord/.github/workflows/run-tests.yml | 72 +-
.../ldaprecord/.scrutinizer.yml (gone) | 9 -
.../directorytree/ldaprecord/.styleci.yml (gone) | 1 -
.../vendor/directorytree/ldaprecord/composer.json | 18 +-
.../directorytree/ldaprecord/docker-compose.yml | 2 -
.../lib/vendor/directorytree/ldaprecord/readme.md | 33 +-
.../ldaprecord/src/Auth/Events/Event.php | 36 +-
.../ldaprecord/src/Auth/Events/Failed.php | 27 +-
.../directorytree/ldaprecord/src/Auth/Guard.php | 153 +--
.../src/Configuration/DomainConfiguration.php | 73 +-
.../Configuration/Validators/ArrayValidator.php | 8 +-
.../Configuration/Validators/BooleanValidator.php | 8 +-
.../Configuration/Validators/IntegerValidator.php | 8 +-
.../Validators/StringOrNullValidator.php | 8 +-
.../src/Configuration/Validators/Validator.php | 29 +-
.../directorytree/ldaprecord/src/Connection.php | 213 +--
.../ldaprecord/src/ConnectionManager.php | 180 +--
.../directorytree/ldaprecord/src/Container.php | 97 +-
.../directorytree/ldaprecord/src/DetailedError.php | 54 +-
.../directorytree/ldaprecord/src/DetectsErrors.php | 30 +-
.../directorytree/ldaprecord/src/EscapesValues.php | 7 +-
.../ldaprecord/src/Events/ConnectionEvent.php | 10 +-
.../ldaprecord/src/Events/Dispatcher.php | 169 +--
.../ldaprecord/src/Events/DispatcherInterface.php | 48 +-
.../directorytree/ldaprecord/src/Events/Logger.php | 35 +-
.../ldaprecord/src/Events/NullDispatcher.php | 64 +-
.../Exceptions/ConstraintViolationException.php | 16 +-
.../ldaprecord/src/HandlesConnection.php | 155 ++-
.../vendor/directorytree/ldaprecord/src/Ldap.php | 308 +++--
.../directorytree/ldaprecord/src/LdapInterface.php | 575 ++++----
.../ldaprecord/src/LdapRecordException.php | 21 +-
.../ldaprecord/src/LdapResultResponse.php (new) | 33 +
.../src/Models/ActiveDirectory/Computer.php | 23 +-
.../Concerns/HasAccountControl.php (new) | 46 +
.../ActiveDirectory/Concerns/HasPrimaryGroup.php | 7 +-
.../src/Models/ActiveDirectory/Contact.php | 12 +-
.../src/Models/ActiveDirectory/Container.php | 4 +-
.../src/Models/ActiveDirectory/Entry.php | 82 +-
.../Models/ActiveDirectory/ExchangeDatabase.php | 10 +-
.../src/Models/ActiveDirectory/ExchangeServer.php | 12 +-
.../ActiveDirectory/ForeignSecurityPrincipal.php | 14 +-
.../src/Models/ActiveDirectory/Group.php | 34 +-
.../Models/ActiveDirectory/OrganizationalUnit.php | 8 +-
.../src/Models/ActiveDirectory/Printer.php | 4 +-
.../Relations/HasOnePrimaryGroup.php | 14 +-
.../Scopes/HasServerRoleAttribute.php | 6 +-
.../Scopes/InConfigurationContext.php | 9 +-
.../Scopes/RejectComputerObjectClass.php | 6 +-
.../ldaprecord/src/Models/ActiveDirectory/User.php | 91 +-
.../src/Models/Attributes/AccountControl.php | 246 ++--
.../src/Models/Attributes/DistinguishedName.php | 217 +---
.../Models/Attributes/DistinguishedNameBuilder.php | 122 +-
.../src/Models/Attributes/EscapedValue.php | 69 +-
.../ldaprecord/src/Models/Attributes/Guid.php | 109 +-
.../ldaprecord/src/Models/Attributes/MbString.php | 28 +-
.../ldaprecord/src/Models/Attributes/Password.php | 148 +--
.../ldaprecord/src/Models/Attributes/Sid.php | 88 +-
.../src/Models/Attributes/TSProperty.php | 90 +-
.../src/Models/Attributes/TSPropertyArray.php | 84 +-
.../ldaprecord/src/Models/Attributes/Timestamp.php | 151 +--
.../ldaprecord/src/Models/BatchModification.php | 198 ++-
.../ldaprecord/src/Models/Collection.php | 47 +-
.../src/Models/Concerns/CanAuthenticate.php | 38 +-
.../src/Models/Concerns/HasAttributes.php | 640 ++++-----
.../ldaprecord/src/Models/Concerns/HasEvents.php | 40 +-
.../src/Models/Concerns/HasGlobalScopes.php | 32 +-
.../ldaprecord/src/Models/Concerns/HasPassword.php | 83 +-
.../src/Models/Concerns/HasRelationships.php | 40 +-
.../ldaprecord/src/Models/Concerns/HasScopes.php | 20 +-
.../src/Models/Concerns/HidesAttributes.php | 60 +-
.../SerializesAndRestoresPropertyValues.php | 12 +-
.../src/Models/Concerns/SerializesProperties.php | 28 +-
.../ldaprecord/src/Models/DetectsResetIntegers.php | 7 +-
.../src/Models/DirectoryServer/Entry.php | 4 +-
.../src/Models/DirectoryServer/Group.php | 4 +-
.../ldaprecord/src/Models/DirectoryServer/User.php | 4 +-
.../ldaprecord/src/Models/Events/Event.php | 12 +-
.../ldaprecord/src/Models/Events/Renaming.php | 22 +-
.../ldaprecord/src/Models/FreeIPA/Entry.php | 19 +-
.../ldaprecord/src/Models/FreeIPA/Group.php | 16 +-
.../FreeIPA/Scopes/AddEntryUuidToSelects.php | 6 +-
.../ldaprecord/src/Models/FreeIPA/User.php | 12 +-
.../directorytree/ldaprecord/src/Models/Model.php | 781 +++++------
.../src/Models/ModelDoesNotExistException.php | 28 +-
.../ldaprecord/src/Models/OpenLDAP/Entry.php | 15 +-
.../ldaprecord/src/Models/OpenLDAP/Group.php | 14 +-
.../src/Models/OpenLDAP/OrganizationalUnit.php | 8 +-
.../OpenLDAP/Scopes/AddEntryUuidToSelects.php | 6 +-
.../ldaprecord/src/Models/OpenLDAP/User.php | 31 +-
.../ldaprecord/src/Models/Relations/HasMany.php | 310 +----
.../ldaprecord/src/Models/Relations/HasManyIn.php | 8 +-
.../ldaprecord/src/Models/Relations/HasOne.php | 26 +-
.../ldaprecord/src/Models/Relations/OneToMany.php | 360 +++++-
.../ldaprecord/src/Models/Relations/Relation.php | 222 +---
.../directorytree/ldaprecord/src/Models/Scope.php | 6 +-
.../src/Models/Types/ActiveDirectory.php | 26 +-
.../ldaprecord/src/Query/ArrayCacheStore.php | 46 +-
.../directorytree/ldaprecord/src/Query/Builder.php | 1054 +++++----------
.../directorytree/ldaprecord/src/Query/Cache.php | 46 +-
.../ldaprecord/src/Query/Collection.php | 10 +-
.../ldaprecord/src/Query/Events/QueryExecuted.php | 25 +-
.../ldaprecord/src/Query/Filter/ConditionNode.php | 45 +-
.../ldaprecord/src/Query/Filter/GroupNode.php | 16 +-
.../ldaprecord/src/Query/Filter/Node.php | 12 +-
.../ldaprecord/src/Query/Filter/Parser.php | 49 +-
.../src/Query/Filter/ParserException.php | 4 +-
.../directorytree/ldaprecord/src/Query/Grammar.php | 229 +---
.../ldaprecord/src/Query/InteractsWithTime.php | 19 +-
.../src/Query/Model/ActiveDirectoryBuilder.php | 185 ++-
.../ldaprecord/src/Query/Model/Builder.php | 238 ++--
.../ldaprecord/src/Query/Model/FreeIpaBuilder.php | 8 +-
.../ldaprecord/src/Query/Model/OpenLdapBuilder.php | 8 +-
.../src/Query/MultipleObjectsFoundException.php | 4 +-
.../src/Query/ObjectNotFoundException.php | 22 +-
.../src/Query/ObjectsNotFoundException.php | 4 +-
.../src/Query/Pagination/AbstractPaginator.php | 57 +-
.../Pagination/DeprecatedPaginator.php (gone) | 58 -
.../src/Query/Pagination/LazyPaginator.php | 6 +-
.../ldaprecord/src/Query/Pagination/Paginator.php | 34 +-
.../directorytree/ldaprecord/src/Query/Slice.php | 122 +-
.../directorytree/ldaprecord/src/Support/Arr.php | 39 +-
.../ldaprecord/src/Support/Helpers.php | 8 +-
.../directorytree/ldaprecord/src/Support/Str.php | 81 +-
.../ldaprecord/src/Testing/AuthGuardFake.php | 7 +-
.../ldaprecord/src/Testing/ConnectionFake.php | 44 +-
.../ldaprecord/src/Testing/DirectoryFake.php | 36 +-
.../ldaprecord/src/Testing/LdapExpectation.php | 212 +--
.../src/Testing/LdapExpectationException.php (new) | 7 +
.../ldaprecord/src/Testing/LdapFake.php | 410 +++---
.../ldaprecord/src/Utilities.php (gone) | 187 ---
.../Support => illuminate/collections}/Arr.php | 105 +-
.../collections}/Collection.php | 206 ++-
.../collections}/Enumerable.php | 106 +-
.../collections}/HigherOrderCollectionProxy.php | 8 +-
.../collections/ItemNotFoundException.php (new) | 9 +
.../LICENSE => illuminate/collections/LICENSE.md} | 12 +-
.../collections}/LazyCollection.php | 145 ++-
.../MultipleItemsFoundException.php (new) | 40 +
.../collections}/Traits/EnumeratesValues.php | 149 ++-
.../illuminate/collections/composer.json (new) | 42 +
.../illuminate/collections/functions.php (new) | 27 +
.../illuminate/collections/helpers.php (new) | 226 ++++
.../conditionable}/HigherOrderWhenProxy.php | 2 +-
.../illuminate/conditionable/LICENSE.md (new) | 21 +
.../conditionable}/Traits/Conditionable.php | 8 +-
.../illuminate/conditionable/composer.json (new) | 33 +
.../vendor/illuminate/macroable/LICENSE.md (new) | 21 +
.../macroable}/Traits/Macroable.php | 3 +-
.../illuminate/macroable/composer.json (new) | 33 +
.../vendor/symfony/var-dumper/CHANGELOG.md (gone) | 91 --
.../var-dumper/Caster/AmqpCaster.php (gone) | 227 ----
.../symfony/var-dumper/Caster/ArgsStub.php (gone) | 80 --
.../symfony/var-dumper/Caster/Caster.php (gone) | 198 ---
.../symfony/var-dumper/Caster/ClassStub.php (gone) | 107 --
.../symfony/var-dumper/Caster/ConstStub.php (gone) | 33 -
.../var-dumper/Caster/CutArrayStub.php (gone) | 30 -
.../symfony/var-dumper/Caster/CutStub.php (gone) | 64 -
.../symfony/var-dumper/Caster/DOMCaster.php (gone) | 312 -----
.../var-dumper/Caster/DateCaster.php (gone) | 139 --
.../var-dumper/Caster/DoctrineCaster.php (gone) | 71 -
.../symfony/var-dumper/Caster/DsCaster.php (gone) | 70 -
.../var-dumper/Caster/DsPairStub.php (gone) | 28 -
.../symfony/var-dumper/Caster/EnumStub.php (gone) | 30 -
.../var-dumper/Caster/ExceptionCaster.php (gone) | 419 ------
.../symfony/var-dumper/Caster/FFICaster.php (gone) | 161 ---
.../var-dumper/Caster/FiberCaster.php (gone) | 46 -
.../symfony/var-dumper/Caster/FrameStub.php (gone) | 30 -
.../symfony/var-dumper/Caster/GmpCaster.php (gone) | 32 -
.../var-dumper/Caster/ImagineCaster.php (gone) | 37 -
.../symfony/var-dumper/Caster/ImgStub.php (gone) | 26 -
.../var-dumper/Caster/IntlCaster.php (gone) | 187 ---
.../symfony/var-dumper/Caster/LinkStub.php (gone) | 105 --
.../var-dumper/Caster/MemcachedCaster.php (gone) | 84 --
.../var-dumper/Caster/MysqliCaster.php (gone) | 33 -
.../symfony/var-dumper/Caster/PdoCaster.php (gone) | 128 --
.../var-dumper/Caster/PgSqlCaster.php (gone) | 165 ---
.../Caster/ProxyManagerCaster.php (gone) | 36 -
.../var-dumper/Caster/RdKafkaCaster.php (gone) | 222 ----
.../var-dumper/Caster/RedisCaster.php (gone) | 159 ---
.../var-dumper/Caster/ReflectionCaster.php (gone) | 485 -------
.../var-dumper/Caster/ResourceCaster.php (gone) | 106 --
.../var-dumper/Caster/ScalarStub.php (gone) | 27 -
.../symfony/var-dumper/Caster/SplCaster.php (gone) | 286 ----
.../var-dumper/Caster/StubCaster.php (gone) | 107 --
.../var-dumper/Caster/SymfonyCaster.php (gone) | 139 --
.../symfony/var-dumper/Caster/TraceStub.php (gone) | 36 -
.../var-dumper/Caster/UninitializedStub.php (gone) | 25 -
.../var-dumper/Caster/UuidCaster.php (gone) | 30 -
.../var-dumper/Caster/XmlReaderCaster.php (gone) | 95 --
.../var-dumper/Caster/XmlResourceCaster.php (gone) | 66 -
.../var-dumper/Cloner/AbstractCloner.php (gone) | 397 ------
.../var-dumper/Cloner/ClonerInterface.php (gone) | 23 -
.../symfony/var-dumper/Cloner/Cursor.php (gone) | 43 -
.../symfony/var-dumper/Cloner/Data.php (gone) | 434 -------
.../var-dumper/Cloner/DumperInterface.php (gone) | 61 -
.../symfony/var-dumper/Cloner/Stub.php (gone) | 68 -
.../symfony/var-dumper/Cloner/VarCloner.php (gone) | 243 ----
.../Command/Descriptor/CliDescriptor.php (gone) | 79 --
.../Descriptor/DumpDescriptorInterface.php (gone) | 23 -
.../Command/Descriptor/HtmlDescriptor.php (gone) | 119 --
.../Command/ServerDumpCommand.php (gone) | 112 --
.../var-dumper/Dumper/AbstractDumper.php (gone) | 204 ---
.../symfony/var-dumper/Dumper/CliDumper.php (gone) | 677 ----------
.../ContextProvider/CliContextProvider.php (gone) | 32 -
.../ContextProviderInterface.php (gone) | 22 -
.../RequestContextProvider.php (gone) | 51 -
.../SourceContextProvider.php (gone) | 127 --
.../Dumper/ContextualizedDumper.php (gone) | 46 -
.../Dumper/DataDumperInterface.php (gone) | 27 -
.../var-dumper/Dumper/HtmlDumper.php (gone) | 998 --------------
.../var-dumper/Dumper/ServerDumper.php (gone) | 55 -
.../Exception/ThrowingCasterException.php (gone) | 26 -
.../lib/vendor/symfony/var-dumper/README.md (gone) | 15 -
.../Resources/bin/var-dump-server (gone) | 67 -
.../Resources/css/htmlDescriptor.css (gone) | 130 --
.../var-dumper/Resources/functions/dump.php (gone) | 62 -
.../Resources/js/htmlDescriptor.js (gone) | 10 -
.../var-dumper/Server/Connection.php (gone) | 97 --
.../var-dumper/Server/DumpServer.php (gone) | 109 --
.../var-dumper/Test/VarDumperTestTrait.php (gone) | 84 --
.../vendor/symfony/var-dumper/VarDumper.php (gone) | 127 --
.../vendor/symfony/var-dumper/composer.json (gone) | 46 -
.../collect/.github/workflows/run-tests.yml (gone) | 41 -
.../tightenco/collect/branch-commit-push.sh (gone) | 67 -
.../vendor/tightenco/collect/composer.json (gone) | 50 -
.../Collect/Contracts/Support/Arrayable.php (gone) | 17 -
.../CanBeEscapedWhenCastToString.php (gone) | 14 -
.../Collect/Contracts/Support/Htmlable.php (gone) | 13 -
.../Collect/Contracts/Support/Jsonable.php (gone) | 14 -
.../collect/src/Collect/Support/Str.php (gone) | 1367 --------------------
.../src/Collect/Support/Traits/Tappable.php (gone) | 17 -
.../collect/src/Collect/Support/alias.php (gone) | 23 -
.../collect/src/Collect/Support/helpers.php (gone) | 122 --
data/web/inc/prerequisites.inc.php | 2 +-
data/web/inc/sessions.inc.php | 35 +-
data/web/inc/triggers.admin.inc.php | 19 +
data/web/inc/triggers.domainadmin.inc.php | 19 +
data/web/inc/triggers.global.inc.php | 19 +
data/web/inc/triggers.user.inc.php | 19 +
data/web/inc/vars.inc.php | 3 +
data/web/index.php | 28 +-
data/web/js/site/mailbox.js | 18 +-
data/web/json_api.php | 218 ++--
data/web/lang/lang.cs-cz.json | 9 +-
data/web/lang/lang.de-de.json | 9 +-
data/web/lang/lang.en-gb.json | 7 +
data/web/lang/lang.lv-lv.json | 17 +-
data/web/lang/lang.nl-nl.json | 233 +++-
data/web/lang/lang.ru-ru.json | 7 +-
data/web/lang/lang.si-si.json | 20 +-
data/web/lang/lang.vi-vn.json | 3 +-
data/web/lang/lang.zh-tw.json | 4 +-
data/web/sogo-auth.php | 8 +-
data/web/templates/base.twig | 106 ++
data/web/templates/edit/admin.twig | 18 +
data/web/templates/edit/domainadmin.twig | 18 +
data/web/templates/edit/mailbox.twig | 9 +
data/web/templates/mailbox/tab-mailboxes.twig | 26 +
data/web/templates/modals/footer.twig | 129 ++
data/web/templates/modals/mailbox.twig | 18 +
data/web/user.php | 138 +-
docker-compose.yml | 40 +-
generate_config.sh | 15 +
.../dev_tests/view_autodiscover.sh (new +x) | 122 ++
helper-scripts/mailcow-reset-admin.sh | 14 +-
update.sh | 59 +-
417 files changed, 19059 insertions(+), 19261 deletions(-)