Skip to content

Automatic PR to nightly from 2026-02-01T19:28:38Z#7044

Open
milkmaker wants to merge 68 commits intonightlyfrom
staging
Open

Automatic PR to nightly from 2026-02-01T19:28:38Z#7044
milkmaker wants to merge 68 commits intonightlyfrom
staging

Conversation

@milkmaker
Copy link
Collaborator

@milkmaker milkmaker commented Feb 1, 2026

📁 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(-)

cjlapao and others added 9 commits November 13, 2025 07:19
- 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
* [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>
@milkmaker
Copy link
Collaborator Author

Thanks for contributing!

I noticed that you didn't select staging as your base branch. Please change the base branch to staging.
See the attached picture on how to change the base branch to staging:

check_prs_if_on_staging.png

1 similar comment
@milkmaker
Copy link
Collaborator Author

Thanks for contributing!

I noticed that you didn't select staging as your base branch. Please change the base branch to staging.
See the attached picture on how to change the base branch to staging:

check_prs_if_on_staging.png

jonprocter and others added 3 commits February 3, 2026 21:31
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>
@milkmaker
Copy link
Collaborator Author

Thanks for contributing!

I noticed that you didn't select staging as your base branch. Please change the base branch to staging.
See the attached picture on how to change the base branch to staging:

check_prs_if_on_staging.png

renovate bot and others added 4 commits February 12, 2026 11:09
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.
@milkmaker
Copy link
Collaborator Author

Thanks for contributing!

I noticed that you didn't select staging as your base branch. Please change the base branch to staging.
See the attached picture on how to change the base branch to staging:

check_prs_if_on_staging.png

Co-authored-by: Edgars Andersons <Edgars+Mailcow+Weblate@gaitenis.id.lv>
@milkmaker
Copy link
Collaborator Author

Thanks for contributing!

I noticed that you didn't select staging as your base branch. Please change the base branch to staging.
See the attached picture on how to change the base branch to staging:

check_prs_if_on_staging.png

@milkmaker
Copy link
Collaborator Author

Thanks for contributing!

I noticed that you didn't select staging as your base branch. Please change the base branch to staging.
See the attached picture on how to change the base branch to staging:

check_prs_if_on_staging.png

Co-authored-by: Tom18314 <tomstokmans5@gmail.com>
@milkmaker
Copy link
Collaborator Author

Thanks for contributing!

I noticed that you didn't select staging as your base branch. Please change the base branch to staging.
See the attached picture on how to change the base branch to staging:

check_prs_if_on_staging.png

Signed-off-by: milkmaker <milkmaker@mailcow.de>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
@milkmaker
Copy link
Collaborator Author

Thanks for contributing!

I noticed that you didn't select staging as your base branch. Please change the base branch to staging.
See the attached picture on how to change the base branch to staging:

check_prs_if_on_staging.png

@milkmaker
Copy link
Collaborator Author

Thanks for contributing!

I noticed that you didn't select staging as your base branch. Please change the base branch to staging.
See the attached picture on how to change the base branch to staging:

check_prs_if_on_staging.png

[SOGo][Web] use incremental updates for mailbox/alias/resource sync in sogo_static_view
@milkmaker
Copy link
Collaborator Author

Thanks for contributing!

I noticed that you didn't select staging as your base branch. Please change the base branch to staging.
See the attached picture on how to change the base branch to staging:

check_prs_if_on_staging.png

@milkmaker
Copy link
Collaborator Author

Thanks for contributing!

I noticed that you didn't select staging as your base branch. Please change the base branch to staging.
See the attached picture on how to change the base branch to staging:

check_prs_if_on_staging.png

@milkmaker
Copy link
Collaborator Author

Thanks for contributing!

I noticed that you didn't select staging as your base branch. Please change the base branch to staging.
See the attached picture on how to change the base branch to staging:

check_prs_if_on_staging.png

@milkmaker
Copy link
Collaborator Author

Thanks for contributing!

I noticed that you didn't select staging as your base branch. Please change the base branch to staging.
See the attached picture on how to change the base branch to staging:

check_prs_if_on_staging.png

1 similar comment
@milkmaker
Copy link
Collaborator Author

Thanks for contributing!

I noticed that you didn't select staging as your base branch. Please change the base branch to staging.
See the attached picture on how to change the base branch to staging:

check_prs_if_on_staging.png

@milkmaker
Copy link
Collaborator Author

Thanks for contributing!

I noticed that you didn't select staging as your base branch. Please change the base branch to staging.
See the attached picture on how to change the base branch to staging:

check_prs_if_on_staging.png

@milkmaker
Copy link
Collaborator Author

Thanks for contributing!

I noticed that you didn't select staging as your base branch. Please change the base branch to staging.
See the attached picture on how to change the base branch to staging:

check_prs_if_on_staging.png

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

10 participants