Commit Graph

178 Commits (79e4a55a3bc9c8aa4454da114e1e52ba102d040c)

Author SHA1 Message Date
Marcel Hofer dd6d253ac0 add random masterpass for sogo admin login
add required headers for sogo proxy auth with password
add SOGoEncryptionKey
add SOGoTrustProxyAuthentication only conditionally if feature is enabled
2019-02-26 09:02:35 +01:00
Marcel Hofer cac67db203 add config ALLOW_ADMIN_EMAIL_LOGIN and implement password-less SOGo login admins 2019-02-23 17:59:18 +01:00
andryyy 52eb6e48f2
[Compose] New Dovecot image
[Dovecot] Fix very stupid error in quarantine_notify.py - thanks to @DevTek314
2019-02-19 15:02:18 +01:00
Aaron Larisch 5cae935485 Fix empty maildir_gc.sh 2019-02-12 17:11:04 +01:00
andryyy 4e97da197e
[Dovecot] Fix quarantine notificatin script
[Compose] Update Dovecot image
2019-02-08 10:06:28 +01:00
andryyy c438411a3d
[Dovecot] Extend quarantine template: add score and release/delete buttons - depending on acl 2019-02-06 09:21:54 +01:00
andryyy 2a5f6413fa
[Dovecot] Derive text part in quota/quarantine notification mails from html 2019-02-05 10:38:28 +01:00
andryyy c7c1422095
[Dovecot] Add quota_notify script
[Dovecot] Some minor changes to quarantine notification script to catch more errors
2019-02-05 00:00:22 +01:00
andryyy 3bfd2c8885
[Dovecot] Once again... finally fixed? 2019-01-31 22:18:38 +01:00
andryyy dcd6b2268e
[Dovecot] Various fixes for quarantine notifications, many thanks to @DevTek314 for reporting them! 2019-01-31 21:45:58 +01:00
andryyy 3aef412669
[Dovecot] Fix type of last_notification 2019-01-31 20:53:08 +01:00
andryyy c456fe12b3
[Dovecot] Fix last_notification in quarantine_notify.py 2019-01-29 12:13:26 +01:00
andryyy f493d3a957
[Dovecot] Simplify Docker image
[Dovecot] Set Dovecot plugins dynamically via file and exclude Solr if not enabled
[Dovecot] Add new quarantine notification script
2019-01-29 00:11:12 +01:00
André Peters b2bb593656
[Dovecot] imapsync: Connect to database via socket 2019-01-19 11:57:48 +01:00
Dirk Weise 23c2249fa7
Log imapsync cronjob errors
Errors from the imap sync cronbjob are currently dropped silently.
2019-01-18 18:25:43 +01:00
Dirk Weise 630bce5f29
imapsync: Connect to database via socket
Make the imapsync script connect to mysql via socket and not tcp like all other services do.

Reasoning: consistency. 🤓  And in my case the database does not listen on tcp; just on the socket.
2019-01-18 17:36:30 +01:00
André Peters f3dfe346bf [Dovecot] Allow setting ACL_ANYONE in mailcow.conf 2019-01-16 19:08:19 +01:00
Markus Heberling 9750ec5bec
Merge branch 'master' into master 2019-01-01 14:20:22 +01:00
andryyy b7c9af5e75 [Dovecot] Give master user a uid and gid, fixes #2093 2018-12-13 19:52:50 +01:00
andryyy d8906e3d6c [Dovecot] Trim more logs 2018-12-12 22:51:55 +01:00
Markus Heberling 4755bb323b Allow setting ACL_ANYONE in the configuration 2018-12-11 11:32:36 +01:00
andryyy 5153623539 [Dovecot] Add master user to userdb (to be used in SOGo)
[SOGo] Use sieve.creds to authenticate against Dovecot and send email reminders
2018-12-10 23:23:56 +01:00
andryyy b710cb751b [Dovecot] Split imapsync cron by -- 2018-12-10 13:24:51 +01:00
andryyy 2a6320b86e [Netfilter] Disable aborted login without auth as fail2ban trigger
[Dovecot] passdb query ignored active attribute in mailbox table
[PHP-FPM] Add default release format for spam
2018-12-06 16:49:28 +01:00
andryyy a695bdd2ee [Dovecot] Update Dovecot to 2.3.4, update Pigeonhole to 0.5.4
[Dovecot] Remove UTF-8 attribute
2018-11-26 09:44:41 +01:00
andryyy c82f8165d8 [Dovecot] Fix maildir_gc, build with ldap support 2018-11-26 09:11:22 +01:00
andryyy b3518b0749 [Dovecot] Remove dedicated index (wip)
[SOGo] Fix sogo_view
2018-11-12 20:59:39 +01:00
andryyy 244ab191bd [Dovecot] Dovecot 2.3.3, Pigeonhole 0.5.3
[Dovecot] Use "--enable-hardening" flag
[Dovecot] Fix cronjobs
[Dovecot] Use /var/volatile to prevent locking files from being written to NFS storage (if vmail is on NFS)
[Dovecot] Change userdb query
[Dovecot] Use /var/attachments for mdbox attachment deduplication and /var/index for index files
[Dovecot] Fix sieve user creation
[Dovecot] Make console writable
[Dovecot] Fix trim_logs.sh
2018-11-12 09:49:23 +01:00
andryyy 800eebd117 [Dovecot] Use events to kill supervisord when main proc dies
[Postfix] Use events to kill supervisord when main proc dies
[SOGo] Use events to kill supervisord when main proc dies
2018-10-25 22:35:07 +02:00
André 23e6e52f4f [Postfix] Proper permissions for sql config files
[Dovecot] Proper permissions for sql config files
2018-10-12 10:57:00 +02:00
André aa39be7ea6 [SOGo] Use mysqladmin status instead of ping to determine readiness
[PHP-FPM] Use mysqladmin status instead of ping to determine readiness
[PHP-FPM] Init database in entrypoint
[PHP-FPM] Change API credential injection
[Dovecot] Use mysqladmin status instead of ping to determine readiness
2018-10-11 11:53:22 +02:00
André ad63552951 [Dovecot] Check file size of mail crypt key pair, fixes #1859
[Compose] New Dovecot image
2018-10-07 15:10:17 +02:00
André cf28727376 [Dovecot] Add timeouts to sa-rules script, remove with -f flag to return 0 2018-10-03 23:27:31 +02:00
André 2af2f7836d [Dovecot] Remove fixed uid and gid 2018-10-02 10:31:22 +02:00
André 62b27aeacb [Dovecot] Check garbage hourly
[Dovecot] Update SA rules once when container starts
2018-10-02 09:34:21 +02:00
André ca1e950c61 [Dovecot] Do not query gid and uid 2018-10-02 09:13:33 +02:00
André 4396be2938 [Rspamd] Place socket in _rspamd home and fix permissions
[Compose] Remove volume for Rspamd socket
[Web] Do not exit loop on fuzzy errors when learning a message as spam
2018-09-30 09:53:25 +02:00
André 0fb43f4916 [Docker API] Use TLS encryption for communication with "on-the-fly" created key paris (non-exposed)
[Docker API] Create pipe to pass Rspamd UI worker password
[Dovecot] Pull Spamassassin ruleset to be read by Rspamd (MANY THANKS to Peer Heinlein!)
[Dovecot] Garbage collector for deleted maildirs (set keep time via MAILDIR_GC_TIME which defaults to 1440 minutes)
[Web] Flush memcached after mailbox item changes, fixes #1808
[Web] Fix duplicate IDs, fixes #1792
[Compose] Use SQL sockets
[PHP-FPM] Update APCu and Redis libs
[Dovecot] Encrypt maildir with global key pair in crypt-vol-1 (BACKUP!), also fixes #1791
[Web] Fix deletion of spam aliases
[Helper] Add "crypt" to backup script
[Helper] Override file for external SQL socket (not supported!)
[Compose] New images for Rspamd, PHP-FPM, SOGo, Dovecot, Docker API, Watchdog, ACME, Postfix
2018-09-29 22:01:23 +02:00
sriccio 5e56a46c84 [dovecot] Enhancement to allow to use auth_default_realm
When using auth_default_realm in dovecot configuration to setup a default domain name (to allow users to login with only a username instead of the full e-mail address), it breaks the compatibility with imapsync and sogo/sieve vacation.

Adding a domain name to dovecot master user/pass fixes this.

This never made it do the master branch, so I'm trying a PR again :)

See: https://github.com/mailcow/mailcow-dockerized/pull/1331#issuecomment-386534307
2018-08-28 17:14:05 +02:00
André e678292447 [Dovecot] Trim autodiscover logs 2018-08-02 12:19:58 +02:00
André 04b43d0a3b [Dovecot] Add new imapsync + dependencies
[Dovecot] Syslog-ng: Do not trim after each push to Redis
[Dovecot] Add new cronjob to trim all Redis logs every minute (will be moved in the future)
2018-08-02 12:14:13 +02:00
André 15b80760b2 [Postfix] Add scripts to learn from spam/ham traps
[Dovecot] Learn fuzzy when moving mails from/to junk
2018-07-29 00:36:08 +02:00
André 1115b826f9 [Dovecot] Various fixes for imapsync_cron, new imapsync version 2018-07-27 22:19:14 +02:00
André d9df322eda [Dovecot] Remove additional hash scheme and let Dovecot decide the hash by prefix 2018-07-12 00:46:17 +02:00
André 2aef18d130 [Dovecot] Remove user queries from passdb + add a second passdb for additional algorithms + create userdb without password queries 2018-07-12 00:23:12 +02:00
André 055183257d [Dovecot] v2.3.2.1 + remove some dev packages 2018-07-11 19:07:26 +02:00
André 3b5df979e9 [Dovecot, Compose] New Dovecot image, upgrade to 2.3.2 (0.5.2 PH), fixes various bugs including replication over TCP 2018-07-02 10:35:04 +02:00
André 4a403e9323 [Dovecot] Imapsync: Set is_running = 0 on restart 2018-06-03 19:22:44 +02:00
André b26aa04a9b [Dovecot] Imapsync: Increase timeout1 value 2018-05-24 17:34:43 +02:00
André f53006f6ab [Dovecot] Dovecot 2.3.1, Pigeonhole 0.5.1
[ClamAV] 0.100.0, new log method without pipes
[Compose] New images for Dovecot and ClamAV, add persistent tty to clamd-mailcow
2018-04-26 12:36:13 +02:00
André Peters bf5b6732cf [Dovecot] Fix passdb query 2018-02-27 20:55:12 +01:00
André Peters 6a01411460 [Dovecot] Fix imapsync 2018-02-27 15:12:21 +01:00
André Peters 39f289fc3c [Web, Dovecot, Postfix] Fix JSON attribute for login 2018-02-19 10:17:29 +01:00
André Peters 1f09544f32 Fix conflict 2018-02-16 22:44:02 +01:00
André Peters 2865c892a6 [Multi] Fixes #1058 by including a 'force password update' option and also introduces a attributes json object to be used for further mailbox configurations in the future 2018-02-16 22:40:51 +01:00
eXtremeSHOK 8eb05d1450
Fix for large Mailboxes to avoid timeouts 2
Missing ' (sorry my editor keeps correcting the '" to " )
2018-02-14 14:02:56 +02:00
eXtremeSHOK a37a8e3b2a
Fix for large Mailboxes to avoid timeouts
** I agree to the code of conduct and the contributory guidelines **

Tested with 80+GB single inbox via imap

``` --nofoldersizes --skipsize --fast ``` file and folder sizes are only used for statistics, which are completely useless. Before the actual data is transfered the message and folder sizes need to be calculated on a 200 000+ message inbox, this will almost never complete.

``` --buffersize 8192000 ``` sets the io buffer to 8mb, the default buffer is 4kbyte, this is speeds up syncs.

```  --skipheader 'X-*' ``` X headers vary wildly from system to system and do not ensure message uniqueness, they are not needed.

```  --split1 3000 --split2 3000 ```    split the requests in several parts on the server, 3000 is the number of messages handled per request.

``` --fastio1 --fastio2 ``` use fastio
2018-02-14 13:27:30 +02:00
André Peters ac4982d706 [Dovecot] Use socket to pipe to Rspamd 2018-02-08 22:56:43 +01:00
André Peters a2ca550aa0 [Dovecot] Use socket instead of worker IP 2018-02-08 22:29:43 +01:00
Joshua Hesketh 2fc13bdfbe Fix imapsync for large mailboxes
Where there is a lot of folders in a mailbox the output may be larger
than TEXT will allow (64KiB). Instead use MEDIUMTEXT (16MiB) which
should be ample.

Additionally check that a sync isn't already running before starting
a new one.

Fixes: #1011
2018-02-08 15:24:04 +11:00
andre.peters 3f9e0a8023 [Dovecot] Fixes CVE-2017-15132 - take 2 2018-02-01 23:36:06 +01:00
andre.peters ae4ccd4d17 [Dovecot] Fixes CVE-2017-15132 - take 2 2018-02-01 23:35:55 +01:00
andre.peters 6ebcd00521 [Dovecot] Fixes CVE-2017-15132 2018-02-01 22:43:28 +01:00
andre.peters 04f9d74339 [Web, Dovecot] Add new options to imapsync, other minor changes to forms, partly fixes #955 2018-01-24 12:59:11 +01:00
andre.peters 5d5d36fc60 [Dovecot] Revert to 2.2 to fix various errors 2018-01-14 10:44:06 +01:00
andre.peters 38aaeeb30b [Dovecot] Dovecot 2.3 from git for temp fixes
[ACME] Use -a switch (thanks to jas8522!)
2018-01-14 10:34:06 +01:00
andre.peters 42923698fd [Dovcot] Fixes for v2.3 2018-01-13 22:49:50 +01:00
andre.peters ceef6d6fd3 [Dovecot] Dovecot 2.3, Pigeonhole 0.5
[Watchdog] Fix Dovecot health check
2018-01-09 11:15:52 +01:00
andre.peters 1e9cae9084 [Compose] New images with LOG_LINES
[Update] Do not add empty line in each loop
2018-01-08 22:00:54 +01:00
andre.peters a771d66889 [Dovecot] Update imapsync 2017-12-17 17:45:05 +01:00
André 60e97503f7 [Web, Dovecot] Show wether a sync job is running, validate min max input attr and validate these values 2017-11-08 11:07:32 +01:00
André a36a8828c2 [Dovecot] Specify supervisord user 2017-11-05 12:19:18 +01:00
André b32e5adcc5 [Dovecot] sieve_before/after maps in sql, changed dict names 2017-11-03 20:25:38 +01:00
andryyy 7c46d6548b [Dovecot] Ignore watchdog IP in logs, filter by syslog-ng 2017-10-11 11:23:20 +02:00
andryyy 1f90433429 [Dovecot, Postfix, SOGo] Fix redis log cleanup, fixes #542 2017-09-03 11:57:58 +02:00
andryyy 008d500f4d [Compose, Dovecot] Fixed missing ltrim 2017-09-01 23:39:51 +02:00
andryyy 08d6b97ffa [Dovecot] New Dovecot and Pigeonhole versions; include delete2 option in imapsync 2017-08-31 10:36:10 +02:00
andryyy 2eed7c05a1 [Dovecot] Push version, fix cronjob (fixes #310) 2017-08-01 14:02:00 +02:00
andryyy c7484434dd [Dovecot] Remove master.pid if not running; Check for active imapsync besides lock file; Reconnect MySQL connection in imapsync_cron.pl 2017-07-31 08:19:02 +02:00
andryyy 9e92c4a2ad [Dovecot] Do not keep persistent logs in a container 2017-07-11 17:09:31 +02:00
andryyy 69da02c144 [Dovecot] Important fix for Pigeonhole (downgrade) 2017-07-05 19:13:07 +02:00
andryyy dc463c3dda [Multiple] Push multiple logs to Redis channel for fail2ban-mailcow to read. Enables Fail2ban independently of used Docker logging driver. 2017-07-04 18:08:20 +02:00
andryyy ae5ce6568d [Dovecot] Dovecot 2.2.31, Pigeonhole 0.4.19 2017-06-30 20:30:30 +02:00
NuVivo314 601f3b6947 Change select Priority
Simple change, for Select Older
2017-06-21 11:54:03 +02:00
andryyy 428140d34f Version update 2017-06-20 20:06:35 +02:00
Markus Frosch 4be67ccd64 dovecot/imapsync_cron: Use passfiles to hide passwords from ps 2017-06-19 11:43:07 +02:00
andryyy 5321ebe707 Push to Dovecot 2.2.30 2017-06-12 10:42:48 +02:00
andryyy 4b875d1468 Remove some tools after installation 2017-05-14 14:24:55 +02:00
Michael Käufl 766a986f27 [Dockerfiles] Do not install both curl and wget
curl is used in rspamd-pipe-*, so I kept curl
2017-05-13 18:10:04 +02:00
Michael Käufl 7fd982f948 [Dockerfiles] Do not persist DEBIAN_FRONTEND=noninteractive in images
According to https://github.com/moby/moby/issues/4032#issuecomment-163689851
(and some other comments in the issue) it's not recommended to set
`DEBIAN_FRONTEND` via `ENV` in a Dockerfile.  `ARG` has the same
effect at build time but does not change `DEBIAN_FRONTEND` in the
final image, so I switched to it.  It should also work to remove it
completely.
2017-05-13 18:10:04 +02:00
Michael Käufl 559d9dda71 [Dockerfiles] Run rm as early as possible 2017-05-13 18:10:04 +02:00
Michael Käufl 85be7aa973 [Dockerfiles] Sorted list of packages 2017-05-13 18:10:04 +02:00
Michael Käufl 9ab9d76240 [Dockerfiles] Used best practices for apt-get
See https://docs.docker.com/engine/userguide/eng-image/dockerfile_best-practices/#apt-get

- Replaced `-y install` with `install -y` (unification)

- Put every package on its own line

- Moved `rm -rf /var/lib/apt/lists/*` in the same `RUN` statement as `apt-get`

- Removed unnecessary `apt-get clean`
  See 03e2923e42/contrib/mkimage/debootstrap (L82-L105)
2017-05-13 18:09:53 +02:00
Michael Käufl d0d0961006 [Dockerfiles] Replaced deprecated MAINTAINER with LABEL
Used format proposed in
https://docs.docker.com/engine/reference/builder/#maintainer-deprecated
2017-05-13 18:09:45 +02:00
Michael Käufl 6cd97c46c5 Used tabs for indentation in Dockerfiles 2017-05-12 20:59:27 +02:00
andryyy 93046dea45 Fixes #261 2017-05-09 21:29:51 +02:00
andryyy d614aaf617 Add Json logger 2017-05-06 23:42:18 +02:00
andryyy dfee8efa97 Fix DBUSER in entrypoint 2017-04-28 12:24:14 +02:00
andryyy 77992be9fc Update Dovecot and Pigeonhole 2017-04-28 10:53:04 +02:00
andryyy 06928ec841 imapsync: added option to delete from source after transfer 2017-04-10 13:08:02 +02:00