Commit Graph

182 Commits (c92c143c69da24319b122c69acfd7c8c12b1e777)

Author SHA1 Message Date
Marcel Hofer 7d2289c3a7 Merge branch 'master' into admin-login
# Conflicts:
#	data/web/js/site/mailbox.js
2019-03-23 21:17:02 +01:00
andryyy 22798a85e5
[Config] Add MAILDIR_SUB, "Maildir" for new setups by default
[Update] Add MAILDIR_SUB= for updated mailcows
[Dovecot] Read MAILDIR_SUB for mail_home
2019-03-18 14:09:32 +01:00
André Peters ae19d81f2d
Merge branch 'master' into admin-login 2019-03-10 10:38:42 +01:00
andryyy 47d4be8884
[Dovecot] v2.3.5 (PH 0.5.5)
[Dovecot] Change Solr cronjob to fit dovecot-fts
2019-03-10 09:35:26 +01:00
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