mailcow / mailcow-dockerized

mailcow: dockerized - 🐮 + 🐋 = 💕
https://mailcow.email
GNU General Public License v3.0
8.85k stars 1.17k forks source link

syslog-ng constantly crashing #6118

Open CouponCodeSwap opened 3 days ago

CouponCodeSwap commented 3 days ago

Contribution guidelines

I've found a bug and checked that ...

Description

This is a report in regards to the following issue reported by @chriscroome that was closed:

https://github.com/mailcow/mailcow-dockerized/issues/5932

I rolled back to version 2024-06a using git and the problem has disappeared. This definitely seems to be a bug. All of the syslog-ng errors are gone and I don't have to hack the dovecot.conf file to disable syslog-ng logging in order for mailcow to be usable. One problem is that the correct version isn't displayed after I log in, it still shows 2024-08a. Is there somewhere I can manually set the version back to 2024-06a so it matches the git rollback?

Anyhow, I would like to be running the latest version and it seems fairly certain that something was introduced in one of the releases after 2024-06a that are causing this bug.

Logs:

dovecot-mailcow-1 | 2024-07-19 17:37:33,702 WARN exited: syslog-ng (terminated by SIGILL (core dumped); not expected)
dovecot-mailcow-1 | 2024-07-19 17:37:34,924 WARN received SIGQUIT indicating exit request
dovecot-mailcow-1 | 2024-07-19 17:37:35,926 WARN stopped: syslog-ng (terminated by SIGILL (core dumped))
dovecot-mailcow-1 | 2024-07-19 17:37:37,932 WARN stopped: processes (terminated by SIGTERM)
dovecot-mailcow-1 | 2024-07-19 17:37:46,310 WARN exited: syslog-ng (terminated by SIGILL (core dumped); not expected)
dovecot-mailcow-1 | 2024-07-19 17:37:47,324 WARN received SIGQUIT indicating exit request
dovecot-mailcow-1 | 2024-07-19 17:37:48,406 WARN stopped: syslog-ng (terminated by SIGILL (core dumped))
dovecot-mailcow-1 | 2024-07-19 17:37:49,519 WARN stopped: processes (terminated by SIGTERM)
dovecot-mailcow-1 | 2024-07-19 17:37:55,808 WARN exited: syslog-ng (terminated by SIGILL (core dumped); not expected)
dovecot-mailcow-1 | 2024-07-19 18:37:57,264 WARN exited: syslog-ng (terminated by SIGILL (core dumped); not expected)
dovecot-mailcow-1 | 2024-07-19 18:37:58,534 WARN received SIGQUIT indicating exit request
dovecot-mailcow-1 | 2024-07-19 18:37:59,537 WARN stopped: syslog-ng (terminated by SIGILL (core dumped))
dovecot-mailcow-1 | 2024-07-19 18:38:01,542 WARN stopped: processes (terminated by SIGTERM)
dovecot-mailcow-1 | 2024-07-19 18:38:12,256 WARN exited: syslog-ng (terminated by SIGILL (core dumped); not expected)
dovecot-mailcow-1 | 2024-07-19 18:38:13,344 WARN exited: syslog-ng (terminated by SIGILL (core dumped); not expected)
dovecot-mailcow-1 | 2024-07-19 18:38:16,438 WARN exited: syslog-ng (terminated by SIGILL (core dumped); not expected)
dovecot-mailcow-1 | 2024-07-19 18:38:17,451 WARN received SIGQUIT indicating exit request
dovecot-mailcow-1 | 2024-07-19 18:38:17,520 WARN stopped: syslog-ng (terminated by SIGILL (core dumped))
dovecot-mailcow-1 | 2024-07-19 18:38:18,633 WARN stopped: processes (terminated by SIGTERM)

Steps to reproduce:

Update mailcow from 2024-6a to newer version.
Try to use mailcow like usual.
Observe constant syslog-ng crashes that make mailcow unusable.

Which branch are you using?

master

Which architecture are you using?

x86

Operating System:

Debian GNU/Linux 12 (bookworm)

Server/VM specifications:

6GB RAM, 4 CPU cores

Is Apparmor, SELinux or similar active?

yes

Virtualization technology:

Xen

Docker version:

27.3.1, build ce12230

docker-compose version or docker compose version:

v2.29.0

mailcow version:

2024-08a

Reverse proxy:

none

Logs of git diff:

Too long, not able to submit issue. I will post separately if requested.

"There was an error creating your issue: body is too long, body is too long (maximum is 65536 characters)."

Logs of iptables -L -vn:

Too long, not able to submit issue. I will post separately if requested.

"There was an error creating your issue: body is too long, body is too long (maximum is 65536 characters)."

Logs of ip6tables -L -vn:

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
 5083  371K MAILCOW    0    --  *      *       ::/0                 ::/0                 /* mailcow */
   85 14924 f2b-sshd   6    --  *      *       ::/0                 ::/0                 multiport dports 22

Chain FORWARD (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
 1539  369K MAILCOW    0    --  *      *       ::/0                 ::/0                 /* mailcow */
 1539  369K DOCKER-USER  0    --  *      *       ::/0                 ::/0                
 1539  369K DOCKER-ISOLATION-STAGE-1  0    --  *      *       ::/0                 ::/0                
  756  272K ACCEPT     0    --  *      br-mailcow  ::/0                 ::/0                 ctstate RELATED,ESTABLISHED
    2   160 DOCKER     0    --  *      br-mailcow  ::/0                 ::/0                
  781 96523 ACCEPT     0    --  br-mailcow !br-mailcow  ::/0                 ::/0                
    0     0 ACCEPT     0    --  br-mailcow br-mailcow  ::/0                 ::/0                
    0     0 ACCEPT     0    --  *      docker0  ::/0                 ::/0                 ctstate RELATED,ESTABLISHED
    0     0 DOCKER     0    --  *      docker0  ::/0                 ::/0                
    0     0 ACCEPT     0    --  docker0 !docker0  ::/0                 ::/0                
    0     0 ACCEPT     0    --  docker0 docker0  ::/0                 ::/0                

Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain DOCKER (2 references)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 ACCEPT     6    --  !br-mailcow br-mailcow  ::/0                 fd4d:6169:6c63:6f77::b  tcp dpt:110
    0     0 ACCEPT     6    --  !br-mailcow br-mailcow  ::/0                 fd4d:6169:6c63:6f77::b  tcp dpt:143
    0     0 ACCEPT     6    --  !br-mailcow br-mailcow  ::/0                 fd4d:6169:6c63:6f77::b  tcp dpt:993
    0     0 ACCEPT     6    --  !br-mailcow br-mailcow  ::/0                 fd4d:6169:6c63:6f77::b  tcp dpt:995
    0     0 ACCEPT     6    --  !br-mailcow br-mailcow  ::/0                 fd4d:6169:6c63:6f77::b  tcp dpt:4190
    0     0 ACCEPT     6    --  !br-mailcow br-mailcow  ::/0                 fd4d:6169:6c63:6f77::c  tcp dpt:80
    2   160 ACCEPT     6    --  !br-mailcow br-mailcow  ::/0                 fd4d:6169:6c63:6f77::c  tcp dpt:443
    0     0 ACCEPT     6    --  !br-mailcow br-mailcow  ::/0                 fd4d:6169:6c63:6f77::f  tcp dpt:25
    0     0 ACCEPT     6    --  !br-mailcow br-mailcow  ::/0                 fd4d:6169:6c63:6f77::f  tcp dpt:465
    0     0 ACCEPT     6    --  !br-mailcow br-mailcow  ::/0                 fd4d:6169:6c63:6f77::f  tcp dpt:587

Chain DOCKER-ISOLATION-STAGE-1 (1 references)
 pkts bytes target     prot opt in     out     source               destination         
  781 96523 DOCKER-ISOLATION-STAGE-2  0    --  br-mailcow !br-mailcow  ::/0                 ::/0                
    0     0 DOCKER-ISOLATION-STAGE-2  0    --  docker0 !docker0  ::/0                 ::/0                
86659   26M RETURN     0    --  *      *       ::/0                 ::/0                

Chain DOCKER-ISOLATION-STAGE-2 (2 references)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 DROP       0    --  *      br-mailcow  ::/0                 ::/0                
    0     0 DROP       0    --  *      docker0  ::/0                 ::/0                
42583   18M RETURN     0    --  *      *       ::/0                 ::/0                

Chain DOCKER-USER (1 references)
 pkts bytes target     prot opt in     out     source               destination         
86659   26M RETURN     0    --  *      *       ::/0                 ::/0                

Chain MAILCOW (2 references)
 pkts bytes target     prot opt in     out     source               destination         

Chain f2b-sshd (1 references)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 REJECT     0    --  *      *       2a01:799:293:ed00:fe4d:d4ff:fed3:57d3  ::/0                 reject-with icmp6-port-unreachable
   85 14924 RETURN     0    --  *      *       ::/0                 ::/0

Logs of iptables -L -vn -t nat:

Too long, not able to submit issue. I will post separately if requested.

"There was an error creating your issue: body is too long, body is too long (maximum is 65536 characters)."

Logs of ip6tables -L -vn -t nat:

Chain PREROUTING (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
  610 45364 DOCKER     0    --  *      *       ::/0                 ::/0                 ADDRTYPE match dst-type LOCAL

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 DOCKER     0    --  *      *       ::/0                !::1                  ADDRTYPE match dst-type LOCAL

Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
  759 71258 MASQUERADE  0    --  *      !br-mailcow  fd4d:6169:6c63:6f77::/64  ::/0                
    0     0 MASQUERADE  0    --  *      !docker0  fd00:dead:beef:c0::/80  ::/0                
    0     0 MASQUERADE  6    --  *      *       fd4d:6169:6c63:6f77::b  fd4d:6169:6c63:6f77::b  tcp dpt:110
    0     0 MASQUERADE  6    --  *      *       fd4d:6169:6c63:6f77::b  fd4d:6169:6c63:6f77::b  tcp dpt:143
    0     0 MASQUERADE  6    --  *      *       fd4d:6169:6c63:6f77::b  fd4d:6169:6c63:6f77::b  tcp dpt:993
    0     0 MASQUERADE  6    --  *      *       fd4d:6169:6c63:6f77::b  fd4d:6169:6c63:6f77::b  tcp dpt:995
    0     0 MASQUERADE  6    --  *      *       fd4d:6169:6c63:6f77::b  fd4d:6169:6c63:6f77::b  tcp dpt:4190
    0     0 MASQUERADE  6    --  *      *       fd4d:6169:6c63:6f77::c  fd4d:6169:6c63:6f77::c  tcp dpt:80
    0     0 MASQUERADE  6    --  *      *       fd4d:6169:6c63:6f77::c  fd4d:6169:6c63:6f77::c  tcp dpt:443
    0     0 MASQUERADE  6    --  *      *       fd4d:6169:6c63:6f77::f  fd4d:6169:6c63:6f77::f  tcp dpt:25
    0     0 MASQUERADE  6    --  *      *       fd4d:6169:6c63:6f77::f  fd4d:6169:6c63:6f77::f  tcp dpt:465
    0     0 MASQUERADE  6    --  *      *       fd4d:6169:6c63:6f77::f  fd4d:6169:6c63:6f77::f  tcp dpt:587

Chain DOCKER (2 references)
 pkts bytes target     prot opt in     out     source               destination         
   23  1840 RETURN     0    --  br-mailcow *       ::/0                 ::/0                
    0     0 RETURN     0    --  docker0 *       ::/0                 ::/0                
    0     0 DNAT       6    --  !br-mailcow *       ::/0                 ::/0                 tcp dpt:110 to:[fd4d:6169:6c63:6f77::b]:110
    0     0 DNAT       6    --  !br-mailcow *       ::/0                 ::/0                 tcp dpt:143 to:[fd4d:6169:6c63:6f77::b]:143
    0     0 DNAT       6    --  !br-mailcow *       ::/0                 ::/0                 tcp dpt:993 to:[fd4d:6169:6c63:6f77::b]:993
    0     0 DNAT       6    --  !br-mailcow *       ::/0                 ::/0                 tcp dpt:995 to:[fd4d:6169:6c63:6f77::b]:995
    0     0 DNAT       6    --  !br-mailcow *       ::/0                 ::/0                 tcp dpt:4190 to:[fd4d:6169:6c63:6f77::b]:4190
    0     0 DNAT       6    --  !br-mailcow *       ::/0                 ::/0                 tcp dpt:80 to:[fd4d:6169:6c63:6f77::c]:80
    2   160 DNAT       6    --  !br-mailcow *       ::/0                 ::/0                 tcp dpt:443 to:[fd4d:6169:6c63:6f77::c]:443
    0     0 DNAT       6    --  !br-mailcow *       ::/0                 ::/0                 tcp dpt:25 to:[fd4d:6169:6c63:6f77::f]:25
    0     0 DNAT       6    --  !br-mailcow *       ::/0                 ::/0                 tcp dpt:465 to:[fd4d:6169:6c63:6f77::f]:465
    0     0 DNAT       6    --  !br-mailcow *       ::/0                 ::/0                 tcp dpt:587 to:[fd4d:6169:6c63:6f77::f]:587

DNS check:

104.18.32.7
172.64.155.249
DerLinkman commented 1 day ago

Any custom changes? Can not reproduce...

Do a git diff origin/master here pls

DerLinkman commented 1 day ago

There is no issue on our side with our testing systems. There is something broken on your machine or due to some custom changes you made i guess

DerLinkman commented 1 day ago

Hmm yes seems to be a issue with Xen Virtualized VMs, kvm VMs work fine.

Have to debug this but we might cut XEN Support if it is layered deeper down...

CouponCodeSwap commented 1 day ago

part 1: git diff origin/master `diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml index 71cd7eda..11402129 100644 --- a/.github/FUNDING.yml +++ b/.github/FUNDING.yml @@ -1,2 +1 @@ -github: mailcow custom: ["https://www.servercow.de/mailcow?lang=en#sal"] diff --git a/.github/ISSUE_TEMPLATE/pr_to_nighty_template.yml b/.github/ISSUE_TEMPLATE/pr_to_nighty_template.yml index d9f87858..8854ac9d 100644 --- a/.github/ISSUE_TEMPLATE/pr_to_nighty_template.yml +++ b/.github/ISSUE_TEMPLATE/pr_to_nighty_template.yml @@ -1,3 +1,13 @@ +## :memo: Brief description + + + + +## :computer: Commits + + + +

:file_folder: Modified files

- \ No newline at end of file + diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md deleted file mode 100644 index 68ead39f..00000000 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ /dev/null @@ -1,38 +0,0 @@ -

-## Contribution Guidelines

-* [ ] I've read the contribution guidelines and wholeheartedly agree them

-

-## What does this PR include?

-### Short Description

-

-### Affected Containers

-

-<!--

-Please list them like this:

-- container1 -- container2 -- container3 -etc.

--->

-## Did you run tests?

-### What did you tested?

-

-### What were the final results? (Awaited, got)

- \ No newline at end of file diff --git a/.github/workflows/rebuild_backup_image.yml b/.github/workflows/rebuild_backup_image.yml index bf5caddf..649d76a1 100644 --- a/.github/workflows/rebuild_backup_image.yml +++ b/.github/workflows/rebuild_backup_image.yml @@ -26,7 +26,7 @@ jobs: password: ${{ secrets.BACKUPIMAGEBUILD_ACTION_DOCKERHUB_TOKEN }}

   - name: Build and push

-As we want to keep mailcow's development structured we setup these Guidelines which helps you to create your issue/pull request accordingly.

-PLEASE NOTE, THAT WE MIGHT CLOSE ISSUES/PULL REQUESTS IF THEY DON'T FULLFIL OUR WRITTEN GUIDELINES WRITTEN INSIDE THIS DOCUMENT. So please check this guidelines before you propose a Issue/Pull Request.

-## Topics

-- Pull Requests -- Issue Reporting

-## Issue Reporting -Last modified on 15th August 2024 +## Issue Reporting (Last modified on 18th December 2023)

If you plan to report a issue within mailcow please read and understand the following rules:

-### Issue Reporting Guidelines

  1. ONLY use the issue tracker for bug reports or improvement requests and NOT for support questions. For support questions you can either contact the mailcow community on Telegram or the mailcow team directly in exchange for a support fee.
  2. ONLY report an error if you have the necessary know-how (at least the basics) for the administration of an e-mail server and the usage of Docker. mailcow is a complex and fully-fledged e-mail server including groupware components on a Docker basement and it requires a bit of technical know-how for debugging and operating. -3. ALWAYS report/request issues/features in the english language, even though mailcow is a german based company. This is done to allow other GitHub users to reply to your issues/requests too which did not speak german or other languages besides english. -4. ONLY report bugs that are contained in the latest mailcow release series. The definition of the latest release series includes the last major patch (e.g. 2023-12) and all minor patches (revisions) below it (e.g. 2023-12a, b, c etc.). New issue reports published starting from January 1, 2024 must meet this criterion, as versions below the latest releases are no longer supported by us. -5. When reporting a problem, please be as detailed as possible and include even the smallest changes to your mailcow installation. Simply fill out the corresponding bug report form in detail and accurately to minimize possible questions. -6. Before you open an issue/feature request, please first check whether a similar request already exists in the mailcow tracker on GitHub. If so, please include yourself in this request. -7. When you create a issue/feature request: Please note that the creation does not guarantee an instant implementation or fix by the mailcow team or the community. -8. Please ALWAYS anonymize any sensitive information in your bug report or feature request before submitting it.

    -### Issue Report Guide +3. ONLY report bugs that are contained in the latest mailcow release series. The definition of the latest release series includes the last major patch (e.g. 2023-12) and all minor patches (revisions) below it (e.g. 2023-12a, b, c etc.). New issue reports published starting from January 1, 2024 must meet this criterion, as versions below the latest releases are no longer supported by us. +4. When reporting a problem, please be as detailed as possible and include even the smallest changes to your mailcow installation. Simply fill out the corresponding bug report form in detail and accurately to minimize possible questions. +5. Before you open an issue/feature request, please first check whether a similar request already exists in the mailcow tracker on GitHub. If so, please include yourself in this request. +6. When you create a issue/feature request: Please note that the creation does not guarantee an instant implementation or fix by the mailcow team or the community. +7. Please ALWAYS anonymize any sensitive information in your bug report or feature request before submitting it. + +### Quick guide to reporting problems:

  3. Read your logs; follow them to see what the reason for your problem is.
  4. Follow the leads given to you in your logfiles and start investigating.
  5. Restarting the troubled service or the whole stack to see if the problem persists. @@ -55,4 +36,4 @@ If you plan to report a issue within mailcow please read and understand the foll
  6. Create an issue over at our GitHub repository if you think your problem might be a bug or a missing feature you badly need. But please make sure, that you include all the logs and a full description to your problem.
  7. Ask your questions in our community-driven support channels.

-## When creating an issue/feature request or a pull request, you will be asked to confirm these guidelines. +## When creating an issue/feature request or a pull request, you will be asked to confirm these guidelines. \ No newline at end of file diff --git a/data/Dockerfiles/acme/Dockerfile b/data/Dockerfiles/acme/Dockerfile index 8aa16ad5..39ac4c26 100644 --- a/data/Dockerfiles/acme/Dockerfile +++ b/data/Dockerfiles/acme/Dockerfile @@ -1,8 +1,8 @@ -FROM alpine:3.20

-LABEL maintainer = "The Infrastructure Company GmbH info@servercow.de" +FROM alpine:3.18

+LABEL maintainer "The Infrastructure Company GmbH info@servercow.de"

+ARG PIP_BREAK_SYSTEM_PACKAGES=1 RUN apk upgrade --no-cache \ && apk add --update --no-cache \ bash \ @@ -15,7 +15,9 @@ RUN apk upgrade --no-cache \ tini \ tzdata \ python3 \

-if [[ "${AUTODISCOVER_SAN}" =~ ^([yY][eE][sS]|[yY])+$ ]]; then

-LABEL maintainer = "The Infrastructure Company GmbH info@servercow.de" +LABEL maintainer "The Infrastructure Company GmbH info@servercow.de"

RUN apk upgrade --no-cache \ && apk add --update --no-cache \ diff --git a/data/Dockerfiles/dockerapi/Dockerfile b/data/Dockerfiles/dockerapi/Dockerfile index bbd4542e..d11f5dda 100644 --- a/data/Dockerfiles/dockerapi/Dockerfile +++ b/data/Dockerfiles/dockerapi/Dockerfile @@ -1,6 +1,6 @@ -FROM alpine:3.20 +FROM alpine:3.19

-LABEL maintainer = "The Infrastructure Company GmbH info@servercow.de" +LABEL maintainer "The Infrastructure Company GmbH info@servercow.de"

ARG PIP_BREAK_SYSTEM_PACKAGES=1 WORKDIR /app @@ -24,4 +24,4 @@ COPY main.py /app/main.py COPY modules/ /app/modules/

ENTRYPOINT ["/bin/sh", "/app/docker-entrypoint.sh"] -CMD ["python", "main.py"] \ No newline at end of file +CMD exec python main.py \ No newline at end of file diff --git a/data/Dockerfiles/dockerapi/modules/DockerApi.py b/data/Dockerfiles/dockerapi/modules/DockerApi.py index 56019909..ea1c104e 100644 --- a/data/Dockerfiles/dockerapi/modules/DockerApi.py +++ b/data/Dockerfiles/dockerapi/modules/DockerApi.py @@ -358,8 +358,8 @@ class DockerApi: for line in cmd_response.split("\n"): if '$2$' in line: hash = line.strip()

-ENV LANG=C.UTF-8 -ENV LC_ALL=C.UTF-8 +ENV LANG C.UTF-8 +ENV LC_ALL C.UTF-8

Add groups and users before installing Dovecot to not break compatibility

RUN addgroup -g 5000 vmail \ @@ -25,7 +24,6 @@ RUN addgroup -g 5000 vmail \ envsubst \ ca-certificates \ curl \

+# RUN cpan LockFile::Simple + COPY trim_logs.sh /usr/local/bin/trim_logs.sh COPY clean_q_aged.sh /usr/local/bin/clean_q_aged.sh COPY syslog-ng.conf /etc/syslog-ng/syslog-ng.conf @@ -130,7 +129,6 @@ COPY stop-supervisor.sh /usr/local/sbin/stop-supervisor.sh COPY quarantine_notify.py /usr/local/bin/quarantine_notify.py COPY quota_notify.py /usr/local/bin/quota_notify.py COPY repl_health.sh /usr/local/bin/repl_health.sh -COPY optimize-fts.sh /usr/local/bin/optimize-fts.sh

ENTRYPOINT ["/docker-entrypoint.sh"] -CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/supervisord.conf"] +CMD exec /usr/bin/supervisord -c /etc/supervisor/supervisord.conf diff --git a/data/Dockerfiles/dovecot/docker-entrypoint.sh b/data/Dockerfiles/dovecot/docker-entrypoint.sh index 2f0bfadf..a9545f33 100755 --- a/data/Dockerfiles/dovecot/docker-entrypoint.sh +++ b/data/Dockerfiles/dovecot/docker-entrypoint.sh @@ -2,7 +2,7 @@ set -e

Wait for MySQL to warm-up

-while ! mariadb-admin status --ssl=false --socket=/var/run/mysqld/mysqld.sock -u${DBUSER} -p${DBPASS} --silent; do +while ! mysqladmin status --socket=/var/run/mysqld/mysqld.sock -u${DBUSER} -p${DBPASS} --silent; do echo "Waiting for database to come up..." sleep 2 done @@ -29,7 +29,6 @@ ${REDIS_CMDLINE} SET DOVECOT_REPL_HEALTH 1 > /dev/null

Create missing directories

[[ ! -d /etc/dovecot/sql/ ]] && mkdir -p /etc/dovecot/sql/ [[ ! -d /etc/dovecot/lua/ ]] && mkdir -p /etc/dovecot/lua/ -[[ ! -d /etc/dovecot/conf.d/ ]] && mkdir -p /etc/dovecot/conf.d/ [[ ! -d /var/vmail/_garbage ]] && mkdir -p /var/vmail/_garbage [[ ! -d /var/vmail/sieve ]] && mkdir -p /var/vmail/sieve [[ ! -d /etc/sogo ]] && mkdir -p /etc/sogo @@ -110,14 +109,7 @@ EOF

echo -n ${ACL_ANYONE} > /etc/dovecot/acl_anyone

-if [[ "${FLATCURVE_EXPERIMENTAL}" =~ ^([yY][eE][sS]|[yY]) ]]; then -echo -e "\e[33mActivating Flatcurve as FTS Backend...\e[0m" -echo -e "\e[33mDepending on your previous setup a full reindex might be needed... \e[0m" -echo -e "\e[34mVisit https://docs.mailcow.email/manual-guides/Dovecot/u_e-dovecot-fts/#fts-related-dovecot-commands to learn how to reindex\e[0m" -echo -n 'quota acl zlib mail_crypt mail_crypt_acl mail_log notify fts fts_flatcurve listescape replication' > /etc/dovecot/mail_plugins -echo -n 'quota imap_quota imap_acl acl zlib imap_zlib imap_sieve mail_crypt mail_crypt_acl notify mail_log fts fts_flatcurve listescape replication' > /etc/dovecot/mail_plugins_imap -echo -n 'quota sieve acl zlib mail_crypt mail_crypt_acl fts fts_flatcurve notify listescape replication' > /etc/dovecot/mail_plugins_lmtp -elif [[ "${SKIP_SOLR}" =~ ^([yY][eE][sS]|[yY])+$ ]]; then +if [[ "${SKIP_SOLR}" =~ ^([yY][eE][sS]|[yY])+$ ]]; then echo -n 'quota acl zlib mail_crypt mail_crypt_acl mail_log notify listescape replication' > /etc/dovecot/mail_plugins echo -n 'quota imap_quota imap_acl acl zlib imap_zlib imap_sieve mail_crypt mail_crypt_acl notify listescape replication mail_log' > /etc/dovecot/mail_plugins_imap echo -n 'quota sieve acl zlib mail_crypt mail_crypt_acl notify listescape replication' > /etc/dovecot/mail_plugins_lmtp @@ -247,51 +239,6 @@ function script_deinit() end EOF

-# Temporarily set FTS depending on user choice inside mailcow.conf. Will be removed as soon as Solr is dropped -if [[ "${FLATCURVE_EXPERIMENTAL}" =~ ^([yY][eE][sS]|[yY])$ ]]; then -cat < /etc/dovecot/conf.d/fts.conf -# Autogenerated by mailcow -plugin {

+for file in /var/vmail///sieve/*.sieve ; do

-cat ${FILE} | /usr/bin/curl -H "Flag: 11" -s --data-binary @- --unix-socket /var/lib/rspamd/rspamd.sock http://rspamd.${COMPOSE_PROJECT_NAME}_mailcow-network/fuzzydel -cat ${FILE} | /usr/bin/curl -s --data-binary @- --unix-socket /var/lib/rspamd/rspamd.sock http://rspamd.${COMPOSE_PROJECT_NAME}_mailcow-network/learnham -cat ${FILE} | /usr/bin/curl -H "Flag: 13" -s --data-binary @- --unix-socket /var/lib/rspamd/rspamd.sock http://rspamd.${COMPOSE_PROJECT_NAME}_mailcow-network/fuzzyadd +cat ${FILE} | /usr/bin/curl -H "Flag: 11" -s --data-binary @- --unix-socket /var/lib/rspamd/rspamd.sock http://rspamd/fuzzydel +cat ${FILE} | /usr/bin/curl -s --data-binary @- --unix-socket /var/lib/rspamd/rspamd.sock http://rspamd/learnham +cat ${FILE} | /usr/bin/curl -H "Flag: 13" -s --data-binary @- --unix-socket /var/lib/rspamd/rspamd.sock http://rspamd/fuzzyadd

exit 0 diff --git a/data/Dockerfiles/dovecot/rspamd-pipe-spam b/data/Dockerfiles/dovecot/rspamd-pipe-spam index 3f02c487..a4b91a01 100755 --- a/data/Dockerfiles/dovecot/rspamd-pipe-spam +++ b/data/Dockerfiles/dovecot/rspamd-pipe-spam @@ -3,8 +3,8 @@ FILE=/tmp/mail$$ cat > $FILE trap "/bin/rm -f $FILE" 0 1 2 3 13 15

-cat ${FILE} | /usr/bin/curl -H "Flag: 13" -s --data-binary @- --unix-socket /var/lib/rspamd/rspamd.sock http://rspamd.${COMPOSE_PROJECT_NAME}_mailcow-network/fuzzydel -cat ${FILE} | /usr/bin/curl -s --data-binary @- --unix-socket /var/lib/rspamd/rspamd.sock http://rspamd.${COMPOSE_PROJECT_NAME}_mailcow-network/learnspam -cat ${FILE} | /usr/bin/curl -H "Flag: 11" -s --data-binary @- --unix-socket /var/lib/rspamd/rspamd.sock http://rspamd.${COMPOSE_PROJECT_NAME}_mailcow-network/fuzzyadd +cat ${FILE} | /usr/bin/curl -H "Flag: 13" -s --data-binary @- --unix-socket /var/lib/rspamd/rspamd.sock http://rspamd/fuzzydel +cat ${FILE} | /usr/bin/curl -s --data-binary @- --unix-socket /var/lib/rspamd/rspamd.sock http://rspamd/learnspam +cat ${FILE} | /usr/bin/curl -H "Flag: 11" -s --data-binary @- --unix-socket /var/lib/rspamd/rspamd.sock http://rspamd/fuzzyadd

exit 0 diff --git a/data/Dockerfiles/dovecot/sa-rules.sh b/data/Dockerfiles/dovecot/sa-rules.sh index 2a513805..89911c19 100755 --- a/data/Dockerfiles/dovecot/sa-rules.sh +++ b/data/Dockerfiles/dovecot/sa-rules.sh @@ -11,25 +11,21 @@ else fi

Deploy

-if curl --connect-timeout 15 --retry 10 --max-time 30 https://www.spamassassin.heinlein-support.de/$(dig txt 1.4.3.spamassassin.heinlein-support.de +short | tr -d '"' | tr -dc '0-9').tar.gz --output /tmp/sa-rules-heinlein.tar.gz; then

diff --git a/data/Dockerfiles/netfilter/Dockerfile b/data/Dockerfiles/netfilter/Dockerfile index 86f9e3f6..8a561f06 100644 --- a/data/Dockerfiles/netfilter/Dockerfile +++ b/data/Dockerfiles/netfilter/Dockerfile @@ -1,6 +1,5 @@ -FROM alpine:3.20

-LABEL maintainer = "The Infrastructure Company GmbH info@servercow.de" +FROM alpine:3.19 +LABEL maintainer "The Infrastructure Company GmbH info@servercow.de"

WORKDIR /app

diff --git a/data/Dockerfiles/netfilter/main.py b/data/Dockerfiles/netfilter/main.py index c5667dc5..c3ca379c 100644 --- a/data/Dockerfiles/netfilter/main.py +++ b/data/Dockerfiles/netfilter/main.py @@ -80,16 +80,16 @@ def refreshF2bregex(): global exit_code if not r.get('F2B_REGEX'): f2bregex = {}

-CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/supervisord.conf"] +CMD exec /usr/bin/supervisord -c /etc/supervisor/supervisord.conf diff --git a/data/Dockerfiles/postfix/postfix.sh b/data/Dockerfiles/postfix/postfix.sh index 8ffb76f6..b3098d3a 100755 --- a/data/Dockerfiles/postfix/postfix.sh +++ b/data/Dockerfiles/postfix/postfix.sh @@ -5,7 +5,7 @@ trap "postfix stop" EXIT [[ ! -d /opt/postfix/conf/sql/ ]] && mkdir -p /opt/postfix/conf/sql/

Wait for MySQL to warm-up

-while ! mariadb-admin status --ssl=false --socket=/var/run/mysqld/mysqld.sock -u${DBUSER} -p${DBPASS} --silent; do +while ! mysqladmin status --socket=/var/run/mysqld/mysqld.sock -u${DBUSER} -p${DBPASS} --silent; do echo "Waiting for database to come up..." sleep 2 done @@ -415,6 +415,12 @@ postscreen_dnsbl_sites = wl.mailspike.net=127.0.0.[18;19;20]-2 b.barracudacentral.org=127.0.0.27 bl.mailspike.net=127.0.0.25 bl.mailspike.net=127.0.0.[10;11;12]4

diff --git a/data/Dockerfiles/rspamd/docker-entrypoint.sh b/data/Dockerfiles/rspamd/docker-entrypoint.sh index cf09ee48..8af7619c 100755 --- a/data/Dockerfiles/rspamd/docker-entrypoint.sh +++ b/data/Dockerfiles/rspamd/docker-entrypoint.sh @@ -124,190 +124,4 @@ for file in /hooks/*; do fi done

-# If DQS KEY is set in mailcow.conf add Spamhaus DQS RBLs -if [[ ! -z ${SPAMHAUS_DQS_KEY} ]]; then

-CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/supervisord.conf"] \ No newline at end of file +CMD exec /usr/bin/supervisord -c /etc/supervisor/supervisord.conf \ No newline at end of file diff --git a/data/Dockerfiles/sogo/bootstrap-sogo.sh b/data/Dockerfiles/sogo/bootstrap-sogo.sh index 51880ea6..bae06054 100755 --- a/data/Dockerfiles/sogo/bootstrap-sogo.sh +++ b/data/Dockerfiles/sogo/bootstrap-sogo.sh @@ -1,7 +1,7 @@

!/bin/bash

Wait for MySQL to warm-up

-while ! mariadb-admin status --ssl=false --socket=/var/run/mysqld/mysqld.sock -u${DBUSER} -p${DBPASS} --silent; do +while ! mysqladmin status --socket=/var/run/mysqld/mysqld.sock -u${DBUSER} -p${DBPASS} --silent; do echo "Waiting for database to come up..." sleep 2 done diff --git a/data/Dockerfiles/sogo/syslog-ng-redis_slave.conf b/data/Dockerfiles/sogo/syslog-ng-redis_slave.conf index 7abfc4b5..9b460bd3 100644 --- a/data/Dockerfiles/sogo/syslog-ng-redis_slave.conf +++ b/data/Dockerfiles/sogo/syslog-ng-redis_slave.conf @@ -1,4 +1,4 @@ -@version: 3.38 +@version: 3.28 @include "scl.conf" options { chain_hostnames(off); diff --git a/data/Dockerfiles/sogo/syslog-ng.conf b/data/Dockerfiles/sogo/syslog-ng.conf index f16a2920..889a3f32 100644 --- a/data/Dockerfiles/sogo/syslog-ng.conf +++ b/data/Dockerfiles/sogo/syslog-ng.conf @@ -1,4 +1,4 @@ -@version: 3.38 +@version: 3.28 @include "scl.conf" options { chain_hostnames(off); diff --git a/data/Dockerfiles/solr/solr.sh b/data/Dockerfiles/solr/solr.sh index 03ab7912..1c5c6f51 100755 --- a/data/Dockerfiles/solr/solr.sh +++ b/data/Dockerfiles/solr/solr.sh @@ -1,15 +1,7 @@

!/bin/bash

-if [[ "${FLATCURVE_EXPERIMENTAL}" =~ ^([yY][eE][sS]|[yY])+$ ]]; then

-echo "Starting up Solr..." -echo -e "\e[31mSolr is deprecated! You can try the new FTS System now by enabling FLATCURVE_EXPERIMENTAL=y inside mailcow.conf and restarting the stack\e[0m" -echo -e "\e[31mSolr will be removed completely soon!\e[0m"

-sleep 15

exec gosu solr solr-foreground

diff --git a/data/Dockerfiles/unbound/Dockerfile b/data/Dockerfiles/unbound/Dockerfile index 7e4f18de..e7204481 100644 --- a/data/Dockerfiles/unbound/Dockerfile +++ b/data/Dockerfiles/unbound/Dockerfile @@ -1,21 +1,18 @@ -FROM alpine:3.20 +FROM alpine:3.18

-LABEL maintainer = "The Infrastructure Company GmbH info@servercow.de" +LABEL maintainer "The Infrastructure Company GmbH info@servercow.de"

RUN apk add --update --no-cache \ curl \ bind-tools \

-STATUS_FILE="/tmp/healthcheck_status" -RUNS=0 +# Skip Unbound (DNS Resolver) Healthchecks (NOT Recommended!) +if [[ "${SKIP_UNBOUND_HEALTHCHECK}" =~ ^([yY][eE][sS]|[yY])+$ ]]; then

-# Declare log function for logfile to stdout -function log_to_stdout() { -echo "$(date +"%Y-%m-%d %H:%M:%S"): $1" +# Declare log function for logfile inside container +function log_to_file() {

-return 0

-while true; do

-done \ No newline at end of file +log_to_file "Healthcheck: ALL CHECKS WERE SUCCESSFUL! Unbound is healthy!" +exit 0 \ No newline at end of file diff --git a/data/Dockerfiles/unbound/stop-supervisor.sh b/data/Dockerfiles/unbound/stop-supervisor.sh deleted file mode 100755 index acd40273..00000000 --- a/data/Dockerfiles/unbound/stop-supervisor.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/bash

-printf "READY\n";

-while read line; do

-CMD ["/watchdog.sh"] +CMD /watchdog.sh diff --git a/data/Dockerfiles/watchdog/watchdog.sh b/data/Dockerfiles/watchdog/watchdog.sh index 81d65d90..cb342c13 100755 --- a/data/Dockerfiles/watchdog/watchdog.sh +++ b/data/Dockerfiles/watchdog/watchdog.sh @@ -33,7 +33,7 @@ if [[ ! -p /tmp/com_pipe ]]; then fi

Wait for containers

-while ! mariadb-admin status --ssl=false --socket=/var/run/mysqld/mysqld.sock -u${DBUSER} -p${DBPASS} --silent; do +while ! mysqladmin status --socket=/var/run/mysqld/mysqld.sock -u${DBUSER} -p${DBPASS} --silent; do echo "Waiting for SQL..." sleep 2 done @@ -169,13 +169,9 @@ function notify_error() { return 1 fi

@@ -195,12 +191,12 @@ get_container_ip() { else sleep 0.5

get long container id for exact match

-smtp_tls_protocols = >=TLSv1.2 -lmtp_tls_protocols = >=TLSv1.2 -smtpd_tls_protocols = >=TLSv1.2 +smtp_tls_protocols = !SSLv2, !SSLv3 +lmtp_tls_protocols = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1 +smtpd_tls_protocols = !SSLv2, !SSLv3

smtpd_tls_security_level = may tls_preempt_cipherlist = yes @@ -163,13 +163,46 @@ transport_maps = pcre:/opt/postfix/conf/custom_transport.pcre, proxy:mysql:/opt/postfix/conf/sql/mysql_transport_maps.cf smtp_sasl_auth_soft_bounce = no postscreen_discard_ehlo_keywords = silent-discard, dsn, chunking -smtpd_discard_ehlo_keywords = chunking, silent-discard -compatibility_level = 3.7 +smtpd_discard_ehlo_keywords = chunking +compatibility_level = 2 smtputf8_enable = no

Define protocols for SMTPS and submission service

-submission_smtpd_tls_mandatory_protocols = >=TLSv1.2 -smtps_smtpd_tls_mandatory_protocols = >=TLSv1.2 +submission_smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1 +smtps_smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1 parent_domain_matches_subdomains = debug_peer_list,fast_flush_domains,mynetworks,qmqpd_authorized_clients

DO NOT EDIT ANYTHING BELOW

Overrides

+ +postscreen_dnsbl_sites = wl.mailspike.net=127.0.0.[18;19;20]*-2

diff --git a/data/conf/postfix/postscreen_access.cidr b/data/conf/postfix/postscreen_access.cidr index 78ffc3a8..34ff04ea 100644 --- a/data/conf/postfix/postscreen_access.cidr +++ b/data/conf/postfix/postscreen_access.cidr @@ -1,6 +1,6 @@ -# Whitelist generated by Postwhite v3.4 on Thu Aug 1 00:16:45 UTC 2024 +# Whitelist generated by Postwhite v3.4 on Mon Apr 1 00:15:02 UTC 2024

https://github.com/stevejenkins/postwhite/

-# 1954 total rules +# 2009 total rules 2a00:1450:4000::/36 permit 2a01:111:f400::/48 permit 2a01:111:f403:8000::/50 permit @@ -13,35 +13,37 @@ 2.207.151.53 permit 3.70.123.177 permit 3.93.157.0/24 permit -3.94.40.108 permit 3.129.120.190 permit +3.137.16.58 permit 3.210.190.0/24 permit 8.20.114.31 permit 8.25.194.0/23 permit 8.25.196.0/23 permit -10.162.0.0/16 permit +8.39.54.0/23 permit +8.40.222.0/23 permit 12.130.86.238 permit +13.70.32.43 permit +13.72.50.45 permit +13.74.143.28 permit +13.78.233.182 permit +13.92.31.129 permit 13.110.208.0/21 permit 13.110.209.0/24 permit 13.110.216.0/22 permit 13.110.224.0/20 permit 13.111.0.0/16 permit -13.111.191.0/24 permit 15.200.21.50 permit 15.200.44.248 permit 15.200.201.185 permit -17.41.0.0/16 permit 17.57.155.0/24 permit 17.57.156.0/24 permit 17.58.0.0/16 permit -17.142.0.0/15 permit 18.156.89.250 permit 18.157.243.190 permit 18.194.95.56 permit 18.198.96.88 permit 18.208.124.128/25 permit 18.216.232.154 permit -18.235.27.253 permit 18.236.40.242 permit 18.236.56.161 permit 20.51.6.32/30 permit @@ -63,8 +65,10 @@ 20.107.239.64/30 permit 20.112.250.133 permit 20.118.139.208/30 permit -20.141.10.196 permit +20.185.213.160/27 permit +20.185.213.224/27 permit 20.185.214.0/27 permit +20.185.214.2 permit 20.185.214.32/27 permit 20.185.214.64/27 permit 20.231.239.246 permit @@ -103,21 +107,21 @@ 35.176.132.251 permit 35.190.247.0/24 permit 35.191.0.0/16 permit -35.205.92.9 permit 35.242.169.159 permit 37.218.248.47 permit 37.218.249.47 permit 37.218.251.62 permit 39.156.163.64/29 permit +40.71.187.0/24 permit 40.92.0.0/15 permit 40.92.0.0/16 permit 40.107.0.0/16 permit 40.112.65.63 permit 43.228.184.0/22 permit 44.206.138.57 permit -44.217.45.156 permit 44.236.56.93 permit 44.238.220.251 permit +46.19.168.0/23 permit 46.19.170.16 permit 46.226.48.0/21 permit 46.228.36.37 permit @@ -178,8 +182,11 @@ 50.18.125.237 permit 50.18.126.162 permit 50.31.32.0/19 permit -50.31.36.205 permit -50.56.130.220/30 permit +50.56.130.220 permit +50.56.130.221 permit +51.137.58.21 permit +51.140.75.55 permit +51.144.100.179 permit 52.1.14.157 permit 52.5.230.59 permit 52.27.5.72 permit @@ -187,19 +194,19 @@ 52.28.63.81 permit 52.36.138.31 permit 52.37.142.146 permit -52.50.24.208 permit 52.58.216.183 permit 52.59.143.3 permit 52.60.41.5 permit 52.60.115.116 permit 52.61.91.9 permit 52.71.0.205 permit +52.82.172.0/22 permit 52.94.124.0/28 permit 52.95.48.152/29 permit 52.95.49.88/29 permit 52.96.91.34 permit 52.96.111.82 permit -52.96.172.98 permit +52.96.214.50 permit 52.96.222.194 permit 52.96.222.226 permit 52.96.223.2 permit @@ -208,6 +215,8 @@ 52.100.0.0/14 permit 52.103.0.0/17 permit 52.119.213.144/28 permit +52.160.39.140 permit +52.165.175.144 permit 52.185.106.240/28 permit 52.200.59.0/24 permit 52.205.61.79 permit @@ -218,12 +227,15 @@ 52.222.75.85 permit 52.222.89.228 permit 52.234.172.96/28 permit -52.235.253.128 permit 52.236.28.240/28 permit +52.244.206.214 permit +52.247.53.144 permit +52.250.107.196 permit +52.250.126.174 permit 54.90.148.255 permit -54.165.19.38 permit 54.172.97.247 permit 54.174.52.0/24 permit +54.174.53.128/30 permit 54.174.57.0/24 permit 54.174.59.0/24 permit 54.174.60.0/23 permit @@ -255,6 +267,7 @@ 62.201.172.32/27 permit 62.253.227.114 permit 63.80.14.0/23 permit +63.111.28.137 permit 63.128.21.0/24 permit 63.143.57.128/25 permit 63.143.59.128/25 permit @@ -270,6 +283,17 @@ 64.127.115.252 permit 64.132.88.0/23 permit 64.132.92.0/24 permit +64.147.123.17 permit +64.147.123.18 permit +64.147.123.19 permit +64.147.123.20 permit +64.147.123.21 permit +64.147.123.24 permit +64.147.123.25 permit +64.147.123.26 permit +64.147.123.27 permit +64.147.123.28 permit +64.147.123.29 permit 64.147.123.128/27 permit 64.207.219.7 permit 64.207.219.8 permit @@ -324,9 +348,24 @@ 65.110.161.77 permit 65.123.29.213 permit 65.123.29.220 permit +65.154.166.0/24 permit 65.212.180.36 permit 66.102.0.0/20 permit +66.111.4.25 permit +66.111.4.26 permit +66.111.4.27 permit +66.111.4.28 permit +66.111.4.29 permit +66.111.4.221 permit +66.111.4.222 permit +66.111.4.224 permit +66.111.4.225 permit +66.111.4.229 permit +66.111.4.230 permit 66.119.150.192/26 permit +66.135.202.0/27 permit +66.135.215.0/24 permit +66.135.222.1 permit 66.162.193.226/31 permit 66.163.184.0/24 permit 66.163.185.0/24 permit @@ -432,17 +471,15 @@ 69.65.42.195 permit 69.65.49.192/29 permit 69.72.32.0/20 permit -69.72.40.93 permit -69.72.40.94/31 permit -69.72.40.96/30 permit -69.72.47.205 permit 69.147.84.227 permit 69.162.98.0/24 permit 69.169.224.0/20 permit 69.171.232.0/24 permit 69.171.244.0/23 permit 70.37.151.128/25 permit +70.42.149.0/24 permit 70.42.149.35 permit +72.3.237.64/28 permit 72.14.192.0/18 permit 72.21.192.0/19 permit 72.21.217.142 permit @@ -558,6 +595,7 @@ 77.238.189.142 permit 77.238.189.146/31 permit 77.238.189.148/30 permit +81.7.169.128/25 permit 81.223.46.0/27 permit 82.165.159.2 permit 82.165.159.3 permit @@ -1126,6 +1164,7 @@ 104.47.108.0/23 permit 104.130.96.0/28 permit 104.130.122.0/23 permit +104.214.25.77 permit 106.10.144.64/27 permit 106.10.144.100/31 permit 106.10.144.103 permit @@ -1247,7 +1286,6 @@ 106.10.244.0/24 permit 106.39.212.64/29 permit 106.50.16.0/28 permit -107.20.18.111 permit 107.20.210.250 permit 108.174.0.0/24 permit 108.174.0.215 permit @@ -1259,7 +1297,6 @@ 108.175.30.45 permit 108.177.8.0/21 permit 108.177.96.0/19 permit -108.179.144.0/20 permit 109.237.142.0/24 permit 111.221.23.128/25 permit 111.221.26.0/27 permit @@ -1283,6 +1320,8 @@ 117.120.16.0/21 permit 119.42.242.52/31 permit 119.42.242.156 permit +121.244.91.48 permit +122.15.156.182 permit 123.126.78.64/29 permit 124.108.96.24/31 permit 124.108.96.28/31 permit @@ -1338,14 +1377,25 @@ 134.170.141.64/26 permit 134.170.143.0/24 permit 134.170.174.0/24 permit +135.84.80.0/24 permit +135.84.81.0/24 permit +135.84.82.0/24 permit +135.84.83.0/24 permit 135.84.216.0/22 permit +136.143.160.0/24 permit +136.143.161.0/24 permit +136.143.178.49 permit +136.143.182.0/23 permit +136.143.184.0/24 permit +136.143.188.0/24 permit +136.143.190.0/23 permit 136.147.128.0/20 permit 136.147.135.0/24 permit 136.147.176.0/20 permit 136.147.176.0/24 permit 136.147.182.0/24 permit -136.147.224.0/20 permit 136.179.50.206 permit +138.91.172.26 permit 139.60.152.0/22 permit 139.138.35.44 permit 139.138.46.121 permit @@ -1356,12 +1406,6 @@ 139.180.17.0/24 permit 141.148.159.229 permit 141.193.32.0/23 permit -141.193.184.32/27 permit -141.193.184.64/26 permit -141.193.184.128/25 permit -141.193.185.32/27 permit -141.193.185.64/26 permit -141.193.185.128/25 permit 143.55.224.0/21 permit 143.55.232.0/22 permit 143.55.236.0/22 permit @@ -1375,7 +1419,8 @@ 144.178.38.0/24 permit 145.253.228.160/29 permit 145.253.239.128/29 permit -146.20.14.104/30 permit +146.20.14.105 permit +146.20.14.107 permit 146.20.112.0/26 permit 146.20.113.0/24 permit 146.20.191.0/24 permit @@ -1396,7 +1441,6 @@ 150.230.98.160 permit 152.67.105.195 permit 152.69.200.236 permit -152.70.155.126 permit 155.248.208.51 permit 157.55.0.192/26 permit 157.55.1.128/26 permit @@ -1407,6 +1451,7 @@ 157.55.61.0/24 permit 157.55.157.128/25 permit 157.55.225.0/25 permit +157.55.254.216 permit 157.56.24.0/25 permit 157.56.120.128/26 permit 157.56.232.0/21 permit @@ -1450,9 +1495,11 @@ 163.47.180.0/22 permit 163.114.130.16 permit 163.114.132.120 permit -163.114.134.16 permit -163.114.135.16 permit -164.177.132.168/30 permit +164.177.132.168 permit +164.177.132.169 permit +164.177.132.170 permit +164.177.132.171 permit +165.173.128.0/24 permit 166.78.68.0/22 permit 166.78.68.221 permit 166.78.69.169 permit @@ -1461,7 +1508,6 @@ 167.89.0.0/17 permit 167.89.46.159 permit 167.89.54.103 permit -167.89.60.95 permit 167.89.64.9 permit 167.89.65.0 permit 167.89.65.53 permit @@ -1480,6 +1526,11 @@ 168.245.12.252 permit 168.245.46.9 permit 168.245.127.231 permit +169.148.129.0/24 permit +169.148.131.0/24 permit +169.148.142.10 permit +169.148.144.0/25 permit +169.148.144.10 permit 170.10.68.0/22 permit 170.10.128.0/24 permit 170.10.129.0/24 permit @@ -1524,13 +1575,9 @@ 185.80.93.227 permit 185.80.95.31 permit 185.90.20.0/22 permit -185.138.56.128/25 permit 185.189.236.0/22 permit 185.211.120.0/22 permit 185.250.236.0/22 permit -185.250.239.148 permit -185.250.239.168 permit -185.250.239.190 permit 188.125.68.132 permit 188.125.68.152/31 permit 188.125.68.156 permit @@ -1598,6 +1645,7 @@ 193.122.128.100 permit 193.123.56.63 permit 194.19.134.0/25 permit +194.64.234.128/27 permit 194.64.234.129 permit 194.106.220.0/23 permit 194.113.24.0/22 permit @@ -1619,13 +1667,9 @@ 198.37.144.0/20 permit 198.37.152.186 permit 198.61.254.0/23 permit -198.61.254.21 permit 198.61.254.231 permit 198.178.234.57 permit 198.244.48.0/20 permit -198.244.59.30 permit -198.244.59.33 permit -198.244.59.35 permit 198.244.60.0/22 permit 198.245.80.0/20 permit 198.245.81.0/24 permit @@ -1634,7 +1678,13 @@ 199.16.156.0/22 permit 199.33.145.1 permit 199.33.145.32 permit +199.34.22.36 permit 199.59.148.0/22 permit +199.67.80.2 permit +199.67.82.2 permit +199.67.84.0/24 permit +199.67.86.0/24 permit +199.67.88.0/24 permit 199.101.161.130 permit 199.101.162.0/25 permit 199.122.120.0/21 permit @@ -1683,6 +1733,7 @@ 203.209.230.76/31 permit 204.11.168.0/21 permit 204.13.11.48/29 permit +204.13.11.48/30 permit 204.14.232.0/21 permit 204.14.232.64/28 permit 204.14.234.64/28 permit @@ -1691,6 +1742,9 @@ 204.92.114.187 permit 204.92.114.203 permit 204.92.114.204/31 permit +204.132.224.66 permit +204.141.32.0/23 permit +204.141.42.0/23 permit 204.220.160.0/20 permit 204.232.168.0/24 permit 205.139.110.0/24 permit @@ -1709,7 +1763,6 @@ 205.251.233.36 permit 206.25.247.143 permit 206.25.247.155 permit -206.55.144.0/20 permit 206.165.246.80/29 permit 206.191.224.0/19 permit 206.246.157.1 permit @@ -1727,12 +1780,14 @@ 207.46.132.128/27 permit 207.46.198.0/25 permit 207.46.200.0/27 permit +207.46.225.107 permit 207.58.147.64/28 permit 207.67.38.0/24 permit 207.67.98.192/27 permit 207.68.176.0/26 permit 207.68.176.96/27 permit -207.97.204.96/29 permit +207.97.204.96 permit +207.97.204.97 permit 207.126.144.0/20 permit 207.171.160.0/19 permit 207.211.30.64/26 permit @@ -1771,6 +1826,7 @@ 208.71.42.212/31 permit 208.71.42.214 permit 208.72.249.240/29 permit +208.74.204.0/22 permit 208.74.204.5 permit 208.74.204.9 permit 208.75.120.0/22 permit @@ -1786,9 +1842,6 @@ 209.46.117.168 permit 209.46.117.179 permit 209.61.151.0/24 permit -209.61.151.236 permit -209.61.151.249 permit -209.61.151.251 permit 209.67.98.46 permit 209.67.98.59 permit 209.85.128.0/17 permit @@ -1898,6 +1951,7 @@ 216.39.62.60/31 permit 216.39.62.136/29 permit 216.39.62.144/31 permit +216.46.168.0/24 permit 216.58.192.0/19 permit 216.66.217.240/29 permit 216.71.138.33 permit @@ -1912,6 +1966,9 @@ 216.99.5.68 permit 216.109.114.32/27 permit 216.109.114.64/29 permit +216.113.160.0/24 permit +216.113.172.0/25 permit +216.113.175.0/24 permit 216.128.126.97 permit 216.136.162.65 permit 216.136.162.120/29 permit @@ -1950,8 +2007,6 @@ 2620:109:c00d:104::/64 permit 2620:10d:c090:400::8:1 permit 2620:10d:c091:400::8:1 permit -2620:10d:c09b:400::8:1 permit -2620:10d:c09c:400::8:1 permit 2620:119:50c0:207::/64 permit 2620:119:50c0:207::215 permit 2800:3f0:4000::/36 permit diff --git a/data/conf/rspamd/local.d/composites.conf b/data/conf/rspamd/local.d/composites.conf index 9bb84424..cde34b57 100644 --- a/data/conf/rspamd/local.d/composites.conf +++ b/data/conf/rspamd/local.d/composites.conf @@ -21,10 +21,6 @@ FREEMAIL_TO_UNDISC_RCPT { SOGO_CONTACT_EXCLUDE { expression = "(-WHITELISTED_FWD_HOST | -g+:policies) & ^SOGO_CONTACT & !DMARC_POLICY_ALLOW"; } -# Remove MAILCOW_WHITE symbol for senders with broken policy recieved not from fwd hosts -MAILCOW_WHITE_EXCLUDE {

diff --git a/data/web/admin.php b/data/web/admin.php index 5dd7b3c6..d0fcbc99 100644 --- a/data/web/admin.php +++ b/data/web/admin.php @@ -107,7 +107,6 @@ $template_data = [ 'f2b_banlist_url' => getBaseUrl() . "/api/v1/get/fail2ban/banlist/" . $f2b_data['banlist_id'], 'q_data' => quarantine('settings'), 'qn_data' => quota_notification('get'),

DerLinkman commented 1 day ago

Dude please be a bit more structured.... don't paste any github prs here or what so ever.

Keep it clean and simple. No one can read that all

CouponCodeSwap commented 1 day ago

Apologies. Hitting the Markdown <> button causes the browser to hang bad but the Comment button is still functional. Will try attaching git-diff as txt file. git-diff.txt

CouponCodeSwap commented 1 day ago

Another note that may be helpful pinpointing the problem: this server was incrementally upgraded from Debian 10 to 11 to 12 after Debian 12 was released. I wouldn't think that would be the cause of the issue since rolling back to 2024-06a works fine with the upgraded Debian but perhaps it is. @chriscroome

DerLinkman commented 7 hours ago

Apologies. Hitting the Markdown <> button causes the browser to hang bad but the Comment button is still functional. Will try attaching git-diff as txt file. git-diff.txt

Thanks,

could not see any difference except version differences as you rollback to 2024-06a.