openship 0.4.4 → 0.4.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -24
- package/dist/bare-2HYDXQEH.js +23 -0
- package/dist/{bowser-MFQA6OS4.js → bowser-O3AEA6AN.js} +5 -1
- package/dist/{chunk-KD7VO4LG.js → chunk-2ZLR7ULL.js} +255 -65
- package/dist/{chunk-YHXCHW7Q.js → chunk-3JQTL4R4.js} +236 -99
- package/dist/{chunk-E77LJWJK.js → chunk-4TJC4JZQ.js} +20 -9
- package/dist/{chunk-YL67EWYZ.js → chunk-4Z5QO7N6.js} +6 -2
- package/dist/{chunk-WJPCBU7Z.js → chunk-5FNIWBFI.js} +10 -6
- package/dist/{chunk-Y37KHU7L.js → chunk-5MZ624VX.js} +5 -0
- package/dist/{chunk-QKFRZNKN.js → chunk-6APIPIJY.js} +8 -4
- package/dist/{chunk-JZLNHGLW.js → chunk-6APULWSU.js} +153 -133
- package/dist/{chunk-F4DFVG6Q.js → chunk-6B5YCFFV.js} +8 -4
- package/dist/{chunk-XVSAUO2I.js → chunk-AVIB7CT7.js} +5 -1
- package/dist/{chunk-TEYJYSMT.js → chunk-C5OHTYEF.js} +12 -6
- package/dist/{chunk-7UOB5GGQ.js → chunk-DYPH4HCI.js} +5 -0
- package/dist/{chunk-XIFRMKYT.js → chunk-EI575GHN.js} +6 -2
- package/dist/{chunk-4CQWT2WL.js → chunk-FPRHYBY2.js} +5 -0
- package/dist/chunk-FQGJZ2HS.js +248 -0
- package/dist/{chunk-JR2OCMJA.js → chunk-FRNAR33O.js} +6 -2
- package/dist/{chunk-JUJBBF5U.js → chunk-FXTBHTWY.js} +362 -42
- package/dist/chunk-ILFETZOM.js +131 -0
- package/dist/{chunk-5ZCKQ2MI.js → chunk-IXCHURVK.js} +7 -3
- package/dist/{chunk-6ERIMTBC.js → chunk-JYGD5WSN.js} +5 -0
- package/dist/{chunk-4VNS5WPM.js → chunk-KI2EY3WB.js} +4 -0
- package/dist/{chunk-3U4SPZD5.js → chunk-L2VOGB2X.js} +7 -104
- package/dist/{chunk-NB2VEIWG.js → chunk-MZ2WEHHY.js} +7 -3
- package/dist/{chunk-BUBSSKO6.js → chunk-O6ZZF52V.js} +5 -1
- package/dist/{chunk-LBFH7THC.js → chunk-OWED2GRM.js} +5 -1
- package/dist/{chunk-4MG3BVHE.js → chunk-OXWDY22G.js} +6 -2
- package/dist/{chunk-4FABQGQP.js → chunk-Q2CIRAOK.js} +5 -0
- package/dist/{chunk-4LEL3H2Z.js → chunk-RPHRPFEH.js} +5 -0
- package/dist/{chunk-46YJFP4S.js → chunk-SQ77DZOI.js} +1728 -1484
- package/dist/{chunk-S6DSRLNE.js → chunk-TGIINPVM.js} +15 -2
- package/dist/{chunk-U2DPZSXA.js → chunk-TYVME3XD.js} +9 -1
- package/dist/{chunk-HFYDYK4D.js → chunk-V6AN6XLZ.js} +18 -6
- package/dist/{chunk-ZKJOFWBJ.js → chunk-VDMQJHPI.js} +38 -15
- package/dist/{chunk-E6W2JMMU.js → chunk-VFINNTUL.js} +22 -1
- package/dist/{chunk-OJE6YWPQ.js → chunk-VWPEKOH6.js} +6 -2
- package/dist/{chunk-5N7VUGL6.js → chunk-W73X43R7.js} +6 -2
- package/dist/cloud-7QYOGF7F.js +11 -0
- package/dist/cloud-ZSKOS4GY.js +30 -0
- package/dist/detect-SH4FHFBI.js +36 -0
- package/dist/{dist-L3MPOWCA.js → dist-IQJ6H6UZ.js} +6 -2
- package/dist/{dist-es-KE56MWYO.js → dist-es-5DY7K32L.js} +9 -5
- package/dist/dist-es-JSTDUS7Q.js +26 -0
- package/dist/{dist-es-GTAMF674.js → dist-es-OSNJBLXB.js} +8 -4
- package/dist/{dist-es-NRZIQY5B.js → dist-es-RYHIPOTN.js} +17 -13
- package/dist/{dist-es-XQCOTGC7.js → dist-es-VNKHQVIB.js} +7 -3
- package/dist/{dist-es-WZCR7DHQ.js → dist-es-WV4AMOII.js} +11 -7
- package/dist/{dist-es-ZW3HFQUM.js → dist-es-X3B5QYKB.js} +9 -5
- package/dist/docker-U7AF5PTA.js +16 -0
- package/dist/docker-edge-executor-VHW3JPJS.js +13 -0
- package/dist/edge-import-V5CBA47C.js +45 -0
- package/dist/ensure-container-edge-CMYROUSI.js +33 -0
- package/dist/{event-streams-7LGDL56D.js → event-streams-EHRAKL75.js} +7 -3
- package/dist/executor-YPT6RH6O.js +30 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.js +258 -245
- package/dist/{loadSso-N273C5I7.js → loadSso-46FQRIZS.js} +13 -9
- package/dist/local-executor-V7U5VOZW.js +12 -0
- package/dist/nginx-2GTRUIDE.js +24 -0
- package/dist/noop-FMMFG2EZ.js +11 -0
- package/dist/{openresty-lua-HAO4EUDY.js → openresty-lua-4WLGDSER.js} +13 -3
- package/dist/server/engine/ChangeLog +2289 -0
- package/dist/server/engine/Documentations +5 -0
- package/dist/server/engine/LICENSE +674 -0
- package/dist/server/engine/README.md +34 -0
- package/dist/server/engine/conf/amavisd +150 -0
- package/dist/server/engine/conf/clamav +71 -0
- package/dist/server/engine/conf/core +632 -0
- package/dist/server/engine/conf/dovecot +151 -0
- package/dist/server/engine/conf/fail2ban +72 -0
- package/dist/server/engine/conf/global +698 -0
- package/dist/server/engine/conf/iredapd +52 -0
- package/dist/server/engine/conf/logwatch +28 -0
- package/dist/server/engine/conf/postfix +97 -0
- package/dist/server/engine/conf/postgresql +93 -0
- package/dist/server/engine/conf/spamassassin +39 -0
- package/dist/server/engine/dialog/config_via_dialog.sh +258 -0
- package/dist/server/engine/dialog/optional_components.sh +122 -0
- package/dist/server/engine/dialog/pgsql_config.sh +52 -0
- package/dist/server/engine/dialog/virtual_domain_config.sh +94 -0
- package/dist/server/engine/functions/amavisd.sh +267 -0
- package/dist/server/engine/functions/backend.sh +85 -0
- package/dist/server/engine/functions/clamav.sh +100 -0
- package/dist/server/engine/functions/cleanup.sh +393 -0
- package/dist/server/engine/functions/dovecot.sh +583 -0
- package/dist/server/engine/functions/fail2ban.sh +209 -0
- package/dist/server/engine/functions/iredapd.sh +356 -0
- package/dist/server/engine/functions/optional_components.sh +24 -0
- package/dist/server/engine/functions/packages.sh +522 -0
- package/dist/server/engine/functions/packages_freebsd.sh +179 -0
- package/dist/server/engine/functions/postfix.sh +457 -0
- package/dist/server/engine/functions/postgresql.sh +239 -0
- package/dist/server/engine/functions/spamassassin.sh +49 -0
- package/dist/server/engine/functions/system_accounts.sh +128 -0
- package/dist/server/engine/iRedMail.sh +144 -0
- package/dist/server/engine/pkgs/get_all.sh +338 -0
- package/dist/server/engine/pkgs/pkgs.freebsd.sha256 +3 -0
- package/dist/server/engine/pkgs/pkgs.openbsd.sha256 +6 -0
- package/dist/server/engine/pkgs/pkgs.sha256 +1 -0
- package/dist/server/engine/samples/amavisd/amavisd.conf +677 -0
- package/dist/server/engine/samples/amavisd/amavisd.mysql +278 -0
- package/dist/server/engine/samples/amavisd/amavisd.pgsql +253 -0
- package/dist/server/engine/samples/amavisd/amavisd.schema +942 -0
- package/dist/server/engine/samples/amavisd/default_spam_policy.sql +46 -0
- package/dist/server/engine/samples/dovecot/dovecot-2.4-mariadb.conf +758 -0
- package/dist/server/engine/samples/dovecot/dovecot-2.4-openldap.conf +767 -0
- package/dist/server/engine/samples/dovecot/dovecot-2.4-pgsql.conf +762 -0
- package/dist/server/engine/samples/dovecot/dovecot-last-login.conf +50 -0
- package/dist/server/engine/samples/dovecot/dovecot-ldap.conf +21 -0
- package/dist/server/engine/samples/dovecot/dovecot-share-folder.conf +22 -0
- package/dist/server/engine/samples/dovecot/dovecot-sql.conf +28 -0
- package/dist/server/engine/samples/dovecot/dovecot-used-quota.conf +13 -0
- package/dist/server/engine/samples/dovecot/dovecot.conf +484 -0
- package/dist/server/engine/samples/dovecot/dovecot.sieve +7 -0
- package/dist/server/engine/samples/dovecot/dovecot2-quota-warning.sh +38 -0
- package/dist/server/engine/samples/dovecot/sql/imap_share_folder.mysql +16 -0
- package/dist/server/engine/samples/dovecot/sql/last_login.mysql +12 -0
- package/dist/server/engine/samples/dovecot/sql/used_quota.mysql +26 -0
- package/dist/server/engine/samples/dovecot/systemd/override.conf +3 -0
- package/dist/server/engine/samples/fail2ban/action.d/banned_db.conf +9 -0
- package/dist/server/engine/samples/fail2ban/bin/fail2ban_banned_db +268 -0
- package/dist/server/engine/samples/fail2ban/fail2ban.local +17 -0
- package/dist/server/engine/samples/fail2ban/filter.d/dovecot.iredmail.conf +5 -0
- package/dist/server/engine/samples/fail2ban/filter.d/postfix-pregreet.iredmail.conf +16 -0
- package/dist/server/engine/samples/fail2ban/filter.d/postfix.iredmail.conf +18 -0
- package/dist/server/engine/samples/fail2ban/filter.d/roundcube.iredmail.conf +9 -0
- package/dist/server/engine/samples/fail2ban/jail.d/dovecot.local +8 -0
- package/dist/server/engine/samples/fail2ban/jail.d/nginx-http-auth.local +8 -0
- package/dist/server/engine/samples/fail2ban/jail.d/postfix-pregreet.local +9 -0
- package/dist/server/engine/samples/fail2ban/jail.d/postfix.local +8 -0
- package/dist/server/engine/samples/fail2ban/jail.d/roundcube.local +9 -0
- package/dist/server/engine/samples/fail2ban/jail.d/sogo.local +8 -0
- package/dist/server/engine/samples/fail2ban/jail.d/sshd.local +8 -0
- package/dist/server/engine/samples/fail2ban/jail.local +6 -0
- package/dist/server/engine/samples/fail2ban/openbsd/rc +27 -0
- package/dist/server/engine/samples/fail2ban/sql/fail2ban.mysql +49 -0
- package/dist/server/engine/samples/fail2ban/sql/fail2ban.pgsql +48 -0
- package/dist/server/engine/samples/firewall/firewalld/services/ssh.xml +6 -0
- package/dist/server/engine/samples/firewall/firewalld/zones/iredmail.xml +15 -0
- package/dist/server/engine/samples/firewall/iptables/ip6tables.init.debian +362 -0
- package/dist/server/engine/samples/firewall/iptables/ip6tables.rules +53 -0
- package/dist/server/engine/samples/firewall/iptables/iptables.init.debian +363 -0
- package/dist/server/engine/samples/firewall/iptables/iptables.rules +54 -0
- package/dist/server/engine/samples/firewall/nftables.conf +58 -0
- package/dist/server/engine/samples/freebsd/newsyslog.conf.d/dovecot.conf +3 -0
- package/dist/server/engine/samples/freebsd/newsyslog.conf.d/iredapd.conf +1 -0
- package/dist/server/engine/samples/freebsd/newsyslog.conf.d/mlmmjadmin.conf +1 -0
- package/dist/server/engine/samples/freebsd/newsyslog.conf.d/php-fpm.conf +2 -0
- package/dist/server/engine/samples/freebsd/newsyslog.conf.d/slapd.conf +1 -0
- package/dist/server/engine/samples/freebsd/syslog.d/dovecot.conf +2 -0
- package/dist/server/engine/samples/freebsd/syslog.d/fail2ban.conf +2 -0
- package/dist/server/engine/samples/freebsd/syslog.d/iredapd.conf +2 -0
- package/dist/server/engine/samples/freebsd/syslog.d/mlmmjadmin.conf +2 -0
- package/dist/server/engine/samples/freebsd/syslog.d/php-fpm.conf +2 -0
- package/dist/server/engine/samples/freebsd/syslog.d/slapd.conf +2 -0
- package/dist/server/engine/samples/iredmail/iredmail.mysql +491 -0
- package/dist/server/engine/samples/iredmail/iredmail.pgsql +465 -0
- package/dist/server/engine/samples/iredmail/iredmail.schema +456 -0
- package/dist/server/engine/samples/iredmail/used_quota_triggers_dovecot_2.3.pgsql +40 -0
- package/dist/server/engine/samples/iredmail/used_quota_triggers_dovecot_2.4.pgsql +18 -0
- package/dist/server/engine/samples/logrotate/dovecot +13 -0
- package/dist/server/engine/samples/logrotate/iredapd +13 -0
- package/dist/server/engine/samples/logrotate/mlmmjadmin +13 -0
- package/dist/server/engine/samples/logrotate/openldap +19 -0
- package/dist/server/engine/samples/logrotate/php-fpm +13 -0
- package/dist/server/engine/samples/openbsd/ldapd.conf +58 -0
- package/dist/server/engine/samples/openbsd/pf.conf +28 -0
- package/dist/server/engine/samples/postfix/command_filter.pcre +3 -0
- package/dist/server/engine/samples/postfix/freebsd/mailer.conf +9 -0
- package/dist/server/engine/samples/postfix/helo_access.pcre +180 -0
- package/dist/server/engine/samples/postfix/ldap/catchall_maps.cf +11 -0
- package/dist/server/engine/samples/postfix/ldap/recipient_bcc_maps_domain.cf +11 -0
- package/dist/server/engine/samples/postfix/ldap/recipient_bcc_maps_user.cf +11 -0
- package/dist/server/engine/samples/postfix/ldap/relay_domains.cf +11 -0
- package/dist/server/engine/samples/postfix/ldap/sender_bcc_maps_domain.cf +11 -0
- package/dist/server/engine/samples/postfix/ldap/sender_bcc_maps_user.cf +11 -0
- package/dist/server/engine/samples/postfix/ldap/sender_dependent_relayhost_maps_domain.cf +11 -0
- package/dist/server/engine/samples/postfix/ldap/sender_dependent_relayhost_maps_user.cf +11 -0
- package/dist/server/engine/samples/postfix/ldap/sender_login_maps.cf +11 -0
- package/dist/server/engine/samples/postfix/ldap/transport_maps_domain.cf +11 -0
- package/dist/server/engine/samples/postfix/ldap/transport_maps_user.cf +11 -0
- package/dist/server/engine/samples/postfix/ldap/virtual_alias_maps.cf +11 -0
- package/dist/server/engine/samples/postfix/ldap/virtual_group_maps.cf +11 -0
- package/dist/server/engine/samples/postfix/ldap/virtual_group_members_maps.cf +11 -0
- package/dist/server/engine/samples/postfix/ldap/virtual_mailbox_domains.cf +11 -0
- package/dist/server/engine/samples/postfix/ldap/virtual_mailbox_maps.cf +12 -0
- package/dist/server/engine/samples/postfix/main.cf +282 -0
- package/dist/server/engine/samples/postfix/main.cf.amavisd +7 -0
- package/dist/server/engine/samples/postfix/main.cf.dovecot +8 -0
- package/dist/server/engine/samples/postfix/main.cf.ldap +39 -0
- package/dist/server/engine/samples/postfix/main.cf.mlmmj +5 -0
- package/dist/server/engine/samples/postfix/main.cf.mysql +39 -0
- package/dist/server/engine/samples/postfix/main.cf.pgsql +39 -0
- package/dist/server/engine/samples/postfix/main.cf.postscreen +30 -0
- package/dist/server/engine/samples/postfix/master.cf +87 -0
- package/dist/server/engine/samples/postfix/mysql/catchall_maps.cf +5 -0
- package/dist/server/engine/samples/postfix/mysql/domain_alias_catchall_maps.cf +5 -0
- package/dist/server/engine/samples/postfix/mysql/domain_alias_maps.cf +5 -0
- package/dist/server/engine/samples/postfix/mysql/recipient_bcc_maps_domain.cf +5 -0
- package/dist/server/engine/samples/postfix/mysql/recipient_bcc_maps_user.cf +5 -0
- package/dist/server/engine/samples/postfix/mysql/relay_domains.cf +5 -0
- package/dist/server/engine/samples/postfix/mysql/sender_bcc_maps_domain.cf +5 -0
- package/dist/server/engine/samples/postfix/mysql/sender_bcc_maps_user.cf +5 -0
- package/dist/server/engine/samples/postfix/mysql/sender_dependent_relayhost_maps.cf +6 -0
- package/dist/server/engine/samples/postfix/mysql/sender_login_maps.cf +5 -0
- package/dist/server/engine/samples/postfix/mysql/transport_maps_domain.cf +5 -0
- package/dist/server/engine/samples/postfix/mysql/transport_maps_maillist.cf +5 -0
- package/dist/server/engine/samples/postfix/mysql/transport_maps_user.cf +5 -0
- package/dist/server/engine/samples/postfix/mysql/virtual_alias_maps.cf +5 -0
- package/dist/server/engine/samples/postfix/mysql/virtual_mailbox_domains.cf +5 -0
- package/dist/server/engine/samples/postfix/mysql/virtual_mailbox_maps.cf +5 -0
- package/dist/server/engine/samples/postfix/pgsql/catchall_maps.cf +5 -0
- package/dist/server/engine/samples/postfix/pgsql/domain_alias_catchall_maps.cf +5 -0
- package/dist/server/engine/samples/postfix/pgsql/domain_alias_maps.cf +5 -0
- package/dist/server/engine/samples/postfix/pgsql/recipient_bcc_maps_domain.cf +5 -0
- package/dist/server/engine/samples/postfix/pgsql/recipient_bcc_maps_user.cf +5 -0
- package/dist/server/engine/samples/postfix/pgsql/relay_domains.cf +5 -0
- package/dist/server/engine/samples/postfix/pgsql/sender_bcc_maps_domain.cf +5 -0
- package/dist/server/engine/samples/postfix/pgsql/sender_bcc_maps_user.cf +5 -0
- package/dist/server/engine/samples/postfix/pgsql/sender_dependent_relayhost_maps.cf +6 -0
- package/dist/server/engine/samples/postfix/pgsql/sender_login_maps.cf +5 -0
- package/dist/server/engine/samples/postfix/pgsql/transport_maps_domain.cf +5 -0
- package/dist/server/engine/samples/postfix/pgsql/transport_maps_maillist.cf +5 -0
- package/dist/server/engine/samples/postfix/pgsql/transport_maps_user.cf +5 -0
- package/dist/server/engine/samples/postfix/pgsql/virtual_alias_maps.cf +5 -0
- package/dist/server/engine/samples/postfix/pgsql/virtual_mailbox_domains.cf +5 -0
- package/dist/server/engine/samples/postfix/pgsql/virtual_mailbox_maps.cf +5 -0
- package/dist/server/engine/samples/postfix/postscreen_access.cidr +6 -0
- package/dist/server/engine/samples/postgresql/sql/add_first_domain_and_user.sql +34 -0
- package/dist/server/engine/samples/postgresql/sql/grant_permissions.sql +14 -0
- package/dist/server/engine/samples/postgresql/sql/init_vmail_db.sql +15 -0
- package/dist/server/engine/samples/rsyslog.d/1-iredmail-dovecot.conf +23 -0
- package/dist/server/engine/samples/rsyslog.d/1-iredmail-fail2ban.conf +2 -0
- package/dist/server/engine/samples/rsyslog.d/1-iredmail-iredapd.conf +12 -0
- package/dist/server/engine/samples/rsyslog.d/1-iredmail-mlmmjadmin.conf +12 -0
- package/dist/server/engine/samples/rsyslog.d/1-iredmail-openldap.conf +2 -0
- package/dist/server/engine/samples/rsyslog.d/1-iredmail-phpfpm.conf +3 -0
- package/dist/server/engine/samples/spamassassin/local.cf +186 -0
- package/dist/server/engine/samples/spamassassin/razor.conf +1 -0
- package/dist/server/engine/samples/systemd/clamd.service.d/override.conf +2 -0
- package/dist/server/engine/samples/systemd/mariadb.service.d/override.conf +3 -0
- package/dist/server/engine/samples/systemd/slapd.service.d/override.conf +6 -0
- package/dist/server/engine/samples/yum/CentOS-Linux-AppStream.repo +6 -0
- package/dist/server/engine/samples/yum/CentOS-Linux-PowerTools.repo +6 -0
- package/dist/server/engine/samples/yum/CentOS-Stream-AppStream.repo +7 -0
- package/dist/server/engine/samples/yum/CentOS-Stream-PowerTools.repo +7 -0
- package/dist/server/engine/samples/yum/symas-openldap.repo +6 -0
- package/dist/server/engine/tools/add_enabled_service.py +60 -0
- package/dist/server/engine/tools/backup_mysql.sh +238 -0
- package/dist/server/engine/tools/backup_openldap.sh +230 -0
- package/dist/server/engine/tools/backup_pgsql.sh +217 -0
- package/dist/server/engine/tools/backup_sogo.sh +156 -0
- package/dist/server/engine/tools/create_mail_user_OpenLDAP.py +335 -0
- package/dist/server/engine/tools/create_mail_user_OpenLDAP.sh +287 -0
- package/dist/server/engine/tools/create_mail_user_SQL.sh +127 -0
- package/dist/server/engine/tools/enable_postscreen.sh +144 -0
- package/dist/server/engine/tools/fail2ban_unban_ip.sh +39 -0
- package/dist/server/engine/tools/find_sasl_login_ip.sh +20 -0
- package/dist/server/engine/tools/find_top_sasl_usernames.sh +28 -0
- package/dist/server/engine/tools/generate_ssl_keys.sh +85 -0
- package/dist/server/engine/tools/kill_high_cpu_sogo_process.sh +32 -0
- package/dist/server/engine/tools/ldap_assign_user_to_groups.py +151 -0
- package/dist/server/engine/tools/ldap_move_members_to_another_group.py +129 -0
- package/dist/server/engine/tools/migrate_sql_alias_table.py +177 -0
- package/dist/server/engine/update/0.9.8/amavisd.mysql +29 -0
- package/dist/server/engine/update/0.9.8/amavisd.pgsql +39 -0
- package/dist/server/engine/update/0.9.8/iredmail.mysql +53 -0
- package/dist/server/engine/update/0.9.8/iredmail.pgsql +61 -0
- package/dist/server/engine/update/0.9.9/iredmail.mysql +2 -0
- package/dist/server/engine/update/0.9.9/iredmail.pgsql +2 -0
- package/dist/server/engine/update/1.0/iredmail.mysql +2 -0
- package/dist/server/engine/update/1.0/iredmail.pgsql +2 -0
- package/dist/server/engine/update/1.2/last_login.mysql +16 -0
- package/dist/server/engine/update/1.4.0/iredmail.mysql +22 -0
- package/dist/server/engine/update/1.4.0/iredmail.pgsql +20 -0
- package/dist/server/engine/update/1.4.1/iredmail.mysql +3 -0
- package/dist/server/engine/update/1.4.1/iredmail.pgsql +3 -0
- package/dist/server/engine/update/1.4.1/sogo.mysql +11 -0
- package/dist/server/engine/update/1.4.1/sogo.pgsql +30 -0
- package/dist/server/engine/update/1.4.1/update-ldap.py +66 -0
- package/dist/server/engine/update/1.4.2/iredmail.mysql +9 -0
- package/dist/server/engine/update/1.4.2/iredmail.pgsql +9 -0
- package/dist/server/engine/update/1.4.2/sogo.pgsql +30 -0
- package/dist/server/engine/update/1.6.0/sogo_view.pgsql +27 -0
- package/dist/server/engine/update/1.6.3/iredmail.mysql +1 -0
- package/dist/server/engine/update/1.7.0/fail2ban.mysql +11 -0
- package/dist/server/engine/update/1.7.0/fail2ban.pgsql +12 -0
- package/dist/server/engine/update/1.7.1/amavisd.mysql +1 -0
- package/dist/server/engine/update/1.7.2/vmail.mysql +30 -0
- package/dist/server/engine/update/1.7.3/deleted_mailboxes.mysql +43 -0
- package/dist/server/engine/update/1.7.3/iredadmin.mysql +26 -0
- package/dist/server/engine/update/1.7.3/vmail.mysql +79 -0
- package/dist/server/engine/update/1.7.3/vmail.pgsql +9 -0
- package/dist/server/engine/update/README.md +1 -0
- package/dist/server/engine/update/ldap/README.md +40 -0
- package/dist/server/engine/update/ldap/update-ldap-dovecot-2.3.py +69 -0
- package/dist/server/index.js +55574 -53675
- package/dist/server/migrations/0071_gh_device_token.sql +3 -0
- package/dist/server/migrations/0072_gh_device_token_method.sql +1 -0
- package/dist/server/migrations/meta/_journal.json +14 -0
- package/dist/setup-HQIZLUOJ.js +20 -0
- package/dist/{signin-DR462ERO.js → signin-ITOPKKUB.js} +13 -9
- package/dist/{sso-oidc-VBZLJUK5.js → sso-oidc-NON2PD7Y.js} +13 -9
- package/dist/{sts-EJLZ4Z77.js → sts-HHFFSAY2.js} +12 -8
- package/package.json +1 -1
- package/dist/bare-ITM45QBX.js +0 -18
- package/dist/cloud-JMPHO3CW.js +0 -7
- package/dist/cloud-W5G6YXAY.js +0 -24
- package/dist/dist-es-4C322O5D.js +0 -22
- package/dist/docker-3FVJMFC3.js +0 -12
- package/dist/docker-edge-executor-ZIWAZWPL.js +0 -9
- package/dist/edge-import-Y34YL6JK.js +0 -39
- package/dist/executor-J7BHW5HF.js +0 -26
- package/dist/nginx-YZWKYKQU.js +0 -16
- package/dist/noop-RRNCIUI5.js +0 -7
- package/dist/setup-5X3WEEHA.js +0 -14
|
@@ -0,0 +1,767 @@
|
|
|
1
|
+
dovecot_config_version = 2.4.0
|
|
2
|
+
dovecot_storage_version = 2.4.0
|
|
3
|
+
|
|
4
|
+
#
|
|
5
|
+
# Default limits
|
|
6
|
+
#
|
|
7
|
+
default_client_limit = 4096
|
|
8
|
+
default_process_limit = 500
|
|
9
|
+
|
|
10
|
+
# Limit the process's address space. When the space is reached, some memory
|
|
11
|
+
# allocations may start failing with "Out of memory", or the kernel may kill
|
|
12
|
+
# the process with signal 9. This setting is mainly intended to prevent memory
|
|
13
|
+
# leaks from eating up all of the memory, but there can be also legitimate
|
|
14
|
+
# reasons why the process reaches this limit. For example a huge mailbox may
|
|
15
|
+
# not be accessed if this limit is too low.
|
|
16
|
+
# The default value (18446744073709551615 = 2^64-1) sets the limit to
|
|
17
|
+
# `default_vsz_limit`, while 0 disables the limit entirely.
|
|
18
|
+
default_vsz_limit = unlimited
|
|
19
|
+
|
|
20
|
+
# Listen addresses.
|
|
21
|
+
# - '*' means all available IPv4 addresses.
|
|
22
|
+
# - '[::]' means all available IPv6 addresses.
|
|
23
|
+
# Listen on all available addresses by default
|
|
24
|
+
listen = * [::]
|
|
25
|
+
|
|
26
|
+
# Enabled mail protocols.
|
|
27
|
+
protocols = pop3 imap sieve lmtp
|
|
28
|
+
|
|
29
|
+
# Plugins
|
|
30
|
+
mail_plugins {
|
|
31
|
+
acl = yes
|
|
32
|
+
mail_log = yes
|
|
33
|
+
notify = yes
|
|
34
|
+
quota = yes
|
|
35
|
+
quota_clone = yes
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
# Required by OpenBSD
|
|
39
|
+
#base_dir = PH_BASE_DIR
|
|
40
|
+
|
|
41
|
+
# User/group who owns the message files:
|
|
42
|
+
mail_uid = PH_MAIL_UID
|
|
43
|
+
mail_gid = PH_MAIL_GID
|
|
44
|
+
|
|
45
|
+
# Assign uid to virtual users.
|
|
46
|
+
first_valid_uid = PH_FIRST_VALID_UID
|
|
47
|
+
last_valid_uid = PH_LAST_VALID_UID
|
|
48
|
+
|
|
49
|
+
# Debug
|
|
50
|
+
# Enables logging all failed authentication attempts.
|
|
51
|
+
#auth_verbose = yes
|
|
52
|
+
|
|
53
|
+
# Enables all authentication debug logging. Passwords are logged as `<hidden>`.
|
|
54
|
+
#log_debug = category=auth
|
|
55
|
+
|
|
56
|
+
# Removes password hiding.
|
|
57
|
+
#auth_debug_passwords = yes
|
|
58
|
+
|
|
59
|
+
# If authentication fails, this setting logs the used password.
|
|
60
|
+
# If you don't really need to know what the password itself was, but are more
|
|
61
|
+
# interested in knowing if the user is simply trying to use the wrong password
|
|
62
|
+
# every single time or if it's a brute force attack, you can set this to sha1
|
|
63
|
+
# and only the SHA1 of the password is logged. That's enough to know if the
|
|
64
|
+
# password is same or different between login attempts.
|
|
65
|
+
#auth_verbose_passwords = no
|
|
66
|
+
#auth_verbose_passwords = plain
|
|
67
|
+
#auth_verbose_passwords = sha1
|
|
68
|
+
|
|
69
|
+
# Enables all kinds of mail related debug logging, such as showing where
|
|
70
|
+
# Dovecot is looking for mails.
|
|
71
|
+
#log_debug = category=mail
|
|
72
|
+
|
|
73
|
+
# Enables logging SSL errors and warnings.
|
|
74
|
+
# Even without this setting if connection is closed because of an SSL error,
|
|
75
|
+
# the error is logged as the disconnection reason.
|
|
76
|
+
#verbose_ssl = category=ssl
|
|
77
|
+
|
|
78
|
+
#log_debug = category=fts
|
|
79
|
+
#log_debug = category=ldap
|
|
80
|
+
|
|
81
|
+
# logging
|
|
82
|
+
log_path = syslog
|
|
83
|
+
syslog_facility = PH_IREDMAIL_SYSLOG_FACILITY
|
|
84
|
+
|
|
85
|
+
# Login log elements.
|
|
86
|
+
# Add '%k' for detailed SSL protocol and cipher information.
|
|
87
|
+
# e.g. "TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)"
|
|
88
|
+
#login_log_format_elements = user=<%{user}> method=%m rip=%r lip=%l %c %k
|
|
89
|
+
|
|
90
|
+
# Mail delivery log format
|
|
91
|
+
#deliver_log_format = from=%{from}, envelope_sender=%{from_envelope}, subject=%{subject}, msgid=%m, size=%{size}, delivery_time=%{delivery_time}ms, %$
|
|
92
|
+
|
|
93
|
+
# Authentication mechanisms.
|
|
94
|
+
auth_mechanisms = PLAIN LOGIN
|
|
95
|
+
|
|
96
|
+
# Authentication related settings.
|
|
97
|
+
# Append this domain name if client gives empty realm.
|
|
98
|
+
#auth_default_domain = PH_AUTH_DEFAULT_REALM
|
|
99
|
+
|
|
100
|
+
auth_allow_cleartext = no
|
|
101
|
+
|
|
102
|
+
# IP addresses/ranges specified by login_trusted_networks setting are assumed
|
|
103
|
+
# to be secure.
|
|
104
|
+
login_trusted_networks =
|
|
105
|
+
|
|
106
|
+
# Mailbox format and path.
|
|
107
|
+
mail_driver = %{userdb:mail_driver | default("maildir") | lower}
|
|
108
|
+
mail_path = %{userdb:mail_path | default("~/Maildir")}
|
|
109
|
+
|
|
110
|
+
# The maximum number of IMAP connections allowed for a user from each IP address.
|
|
111
|
+
# Maximum number of IMAP connections allowed for a user from each IP address.
|
|
112
|
+
# NOTE: The username is compared case-sensitively.
|
|
113
|
+
# Default is 10.
|
|
114
|
+
mail_max_userip_connections = 30
|
|
115
|
+
|
|
116
|
+
|
|
117
|
+
# SSL: Global settings.
|
|
118
|
+
# Refer to wiki site for per protocol, ip, server name SSL settings:
|
|
119
|
+
# http://wiki2.dovecot.org/SSL/DovecotConfiguration
|
|
120
|
+
ssl = required
|
|
121
|
+
|
|
122
|
+
ssl_min_protocol = TLSv1.2
|
|
123
|
+
# log_debug = category=ssl
|
|
124
|
+
|
|
125
|
+
ssl_server_cert_file = PH_SSL_CERT
|
|
126
|
+
ssl_server_key_file = PH_SSL_KEY
|
|
127
|
+
ssl_server_dh_file = PH_SSL_DH1024_PARAM_FILE
|
|
128
|
+
ssl_server_prefer_ciphers = server
|
|
129
|
+
ssl_cipher_list = PH_SSL_CIPHERS
|
|
130
|
+
|
|
131
|
+
# Master user.
|
|
132
|
+
# Master users are able to log in as other users. It's also possible to
|
|
133
|
+
# directly log in as any user using a master password, although this isn't
|
|
134
|
+
# recommended.
|
|
135
|
+
# Reference: http://wiki2.dovecot.org/Authentication/MasterUsers
|
|
136
|
+
auth_master_user_separator = *
|
|
137
|
+
|
|
138
|
+
passdb passwd-file {
|
|
139
|
+
master = yes
|
|
140
|
+
passwd_file_path = /etc/dovecot/dovecot-master-users
|
|
141
|
+
result_success = continue
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
# `mailbox_list_index = yes` can help a lot by replying to IMAP STATUS (and
|
|
145
|
+
# similar) lookups from a single index without having to open each mailbox
|
|
146
|
+
# index separately.
|
|
147
|
+
# This is the default in v2.3+.
|
|
148
|
+
mailbox_list_index = yes
|
|
149
|
+
|
|
150
|
+
# Assume that the list index is up-to-date.
|
|
151
|
+
mailbox_list_index_very_dirty_syncs = yes
|
|
152
|
+
|
|
153
|
+
# Maximum IMAP command line length. Some clients generate very long command
|
|
154
|
+
# lines with huge mailboxes, so you may need to raise this if you get
|
|
155
|
+
# "Too long argument" or "IMAP command line too large" errors often.
|
|
156
|
+
# Defaults to 64k.
|
|
157
|
+
imap_max_line_length = 2m
|
|
158
|
+
|
|
159
|
+
sql_driver = mysql
|
|
160
|
+
|
|
161
|
+
mysql PH_SQL_SERVER_ADDRESS {
|
|
162
|
+
port = PH_SQL_SERVER_PORT
|
|
163
|
+
dbname = PH_IREDADMIN_DB_NAME
|
|
164
|
+
user = PH_IREDADMIN_DB_USER
|
|
165
|
+
password = PH_IREDADMIN_DB_PASSWD
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
|
|
169
|
+
dict_server {
|
|
170
|
+
dict quota_clone {
|
|
171
|
+
driver = sql
|
|
172
|
+
|
|
173
|
+
dict_map priv/quota/messages {
|
|
174
|
+
sql_table = used_quota
|
|
175
|
+
username_field = username
|
|
176
|
+
value_field messages {
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
dict_map priv/quota/storage {
|
|
181
|
+
sql_table = used_quota
|
|
182
|
+
username_field = username
|
|
183
|
+
value_field bytes {
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
dict acl {
|
|
189
|
+
driver = sql
|
|
190
|
+
|
|
191
|
+
dict_map shared/shared-boxes/user/$to/$from {
|
|
192
|
+
sql_table = share_folder
|
|
193
|
+
value_field dummy {
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
key_field from_user {
|
|
197
|
+
value = $from
|
|
198
|
+
}
|
|
199
|
+
key_field to_user {
|
|
200
|
+
value = $to
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
dict_map shared/shared-boxes/anyone/$from {
|
|
205
|
+
sql_table = anyone_shares
|
|
206
|
+
value_field dummy {
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
key_field from_user {
|
|
210
|
+
value = $from
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
dict lastlogin {
|
|
216
|
+
driver = sql
|
|
217
|
+
|
|
218
|
+
dict_map shared/last-login/imap/$user/$domain {
|
|
219
|
+
sql_table = last_login
|
|
220
|
+
value_field imap {
|
|
221
|
+
type = uint
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
key_field username {
|
|
225
|
+
value = $user
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
key_field domain {
|
|
229
|
+
value = $domain
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
dict_map shared/last-login/pop3/$user/$domain {
|
|
234
|
+
sql_table = last_login
|
|
235
|
+
value_field pop3 {
|
|
236
|
+
type = uint
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
key_field username {
|
|
240
|
+
value = $user
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
key_field domain {
|
|
244
|
+
value = $domain
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
dict_map shared/last-login/lda/$user/$domain {
|
|
249
|
+
sql_table = last_login
|
|
250
|
+
value_field lda {
|
|
251
|
+
type = uint
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
key_field username {
|
|
255
|
+
value = $user
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
key_field domain {
|
|
259
|
+
value = $domain
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
# Treat lmtp as lda
|
|
264
|
+
dict_map shared/last-login/lmtp/$user/$domain {
|
|
265
|
+
sql_table = last_login
|
|
266
|
+
value_field lda {
|
|
267
|
+
type = uint
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
key_field username {
|
|
271
|
+
value = $user
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
key_field domain {
|
|
275
|
+
value = $domain
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
#
|
|
283
|
+
# Virtual mail accounts.
|
|
284
|
+
#
|
|
285
|
+
|
|
286
|
+
ldap_uris = ldap://PH_LDAP_SERVER_HOST:PH_LDAP_SERVER_PORT
|
|
287
|
+
ldap_version = 3
|
|
288
|
+
ldap_debug_level = 0
|
|
289
|
+
ldap_deref = never
|
|
290
|
+
ldap_base = PH_LDAP_BASEDN
|
|
291
|
+
ldap_scope = subtree
|
|
292
|
+
ldap_starttls = no
|
|
293
|
+
ldap_auth_dn = PH_LDAP_BINDDN
|
|
294
|
+
ldap_auth_dn_password = PH_LDAP_BINDPW
|
|
295
|
+
|
|
296
|
+
userdb ldap {
|
|
297
|
+
iterate_filter = (&(objectClass=mailUser)(accountStatus=active)(!(domainStatus=disabled))(enabledService=mail))
|
|
298
|
+
iterate_fields {
|
|
299
|
+
user = %{ldap:mail | lower}
|
|
300
|
+
}
|
|
301
|
+
|
|
302
|
+
filter = (&(objectClass=mailUser)(accountStatus=active)(!(domainStatus=disabled))(enabledService=mail)(enabledService=%{protocol}%{secured | lower})(|(mail=%{user})(&(enabledService=shadowaddress)(shadowAddress=%{user}))))
|
|
303
|
+
fields {
|
|
304
|
+
master_user=%{ldap:mail | lower}
|
|
305
|
+
user=%{ldap:mail | lower }
|
|
306
|
+
home=%{ldap:homeDirectory | lower }
|
|
307
|
+
mail_driver=%{ldap:mailboxFormat | default('maildir') | lower}
|
|
308
|
+
mail_path=~/%{ldap:mailboxFolder | default('Maildir')}
|
|
309
|
+
quota_storage_size = %{ldap:mailQuota | default(0) }B
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
passdb ldap {
|
|
314
|
+
filter = (&(objectClass=mailUser)(accountStatus=active)(!(domainStatus=disabled))(enabledService=mail)(enabledService=%{protocol}%{secured | lower})(|(mail=%{user})(&(enabledService=shadowaddress)(shadowAddress=%{user}))))
|
|
315
|
+
fields {
|
|
316
|
+
user=%{ldap:mail | lower}
|
|
317
|
+
password=%{ldap:userPassword | default('') }
|
|
318
|
+
# Allow login from all IP addresses by default.
|
|
319
|
+
allow_nets=%{ldap:allowNets | default('0.0.0.0/0,::/0')}
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
|
|
323
|
+
#
|
|
324
|
+
# Namespaces
|
|
325
|
+
#
|
|
326
|
+
namespace inbox {
|
|
327
|
+
type = private
|
|
328
|
+
separator = /
|
|
329
|
+
prefix =
|
|
330
|
+
inbox = yes
|
|
331
|
+
|
|
332
|
+
# Sent
|
|
333
|
+
mailbox Sent {
|
|
334
|
+
auto = subscribe
|
|
335
|
+
special_use = \Sent
|
|
336
|
+
}
|
|
337
|
+
mailbox "Sent Messages" {
|
|
338
|
+
auto = no
|
|
339
|
+
special_use = \Sent
|
|
340
|
+
}
|
|
341
|
+
mailbox "Sent Items" {
|
|
342
|
+
auto = no
|
|
343
|
+
special_use = \Sent
|
|
344
|
+
}
|
|
345
|
+
|
|
346
|
+
mailbox Drafts {
|
|
347
|
+
auto = subscribe
|
|
348
|
+
special_use = \Drafts
|
|
349
|
+
}
|
|
350
|
+
|
|
351
|
+
# Trash
|
|
352
|
+
mailbox Trash {
|
|
353
|
+
auto = subscribe
|
|
354
|
+
special_use = \Trash
|
|
355
|
+
}
|
|
356
|
+
|
|
357
|
+
mailbox "Deleted Messages" {
|
|
358
|
+
auto = no
|
|
359
|
+
special_use = \Trash
|
|
360
|
+
}
|
|
361
|
+
|
|
362
|
+
# Junk
|
|
363
|
+
mailbox Junk {
|
|
364
|
+
auto = subscribe
|
|
365
|
+
special_use = \Junk
|
|
366
|
+
fts_autoindex = no
|
|
367
|
+
}
|
|
368
|
+
|
|
369
|
+
mailbox Spam {
|
|
370
|
+
auto = no
|
|
371
|
+
special_use = \Junk
|
|
372
|
+
fts_autoindex = no
|
|
373
|
+
}
|
|
374
|
+
|
|
375
|
+
mailbox "Junk E-mail" {
|
|
376
|
+
auto = no
|
|
377
|
+
special_use = \Junk
|
|
378
|
+
fts_autoindex = no
|
|
379
|
+
}
|
|
380
|
+
}
|
|
381
|
+
|
|
382
|
+
namespace shared {
|
|
383
|
+
type = shared
|
|
384
|
+
separator = /
|
|
385
|
+
prefix = Shared/$user/
|
|
386
|
+
mail_driver = maildir
|
|
387
|
+
mail_path = %{owner_home}/Maildir
|
|
388
|
+
mail_index_private_path = ~/Maildir/shared/%{owner_user}
|
|
389
|
+
# not share the index files between users
|
|
390
|
+
mail_index_path = ~/Maildir/shared/%{owner_user}
|
|
391
|
+
|
|
392
|
+
# this namespace should handle its own subscriptions or not.
|
|
393
|
+
subscriptions = yes
|
|
394
|
+
list = children
|
|
395
|
+
}
|
|
396
|
+
|
|
397
|
+
# Public mailboxes.
|
|
398
|
+
# https://doc.dovecot.org/2.4.1/core/config/shared_mailboxes.html#public-shared-mailboxes
|
|
399
|
+
#namespace {
|
|
400
|
+
# type = public
|
|
401
|
+
# separator = /
|
|
402
|
+
# prefix = Public/
|
|
403
|
+
# mail_driver = maildir
|
|
404
|
+
# mail_path = /var/vmail/public
|
|
405
|
+
# subscriptions = no
|
|
406
|
+
#
|
|
407
|
+
# # Per-user \Seen Flag
|
|
408
|
+
# mail_index_private_path = ~/Maildir/public
|
|
409
|
+
#}
|
|
410
|
+
|
|
411
|
+
#
|
|
412
|
+
# Protocols
|
|
413
|
+
#
|
|
414
|
+
# Store METADATA information within user's Maildir directory
|
|
415
|
+
mail_attribute {
|
|
416
|
+
dict file {
|
|
417
|
+
path = ~/dovecot-attributes
|
|
418
|
+
}
|
|
419
|
+
}
|
|
420
|
+
|
|
421
|
+
# Avoid spending excessive time waiting for the quota calculation to finish
|
|
422
|
+
# when mails' vsizes aren't already cached. If this many mails are opened,
|
|
423
|
+
# finish the quota calculation on background in indexer-worker process. Mail
|
|
424
|
+
# deliveries will be assumed to succeed, and explicit quota lookups will
|
|
425
|
+
# return internal error.
|
|
426
|
+
protocol !indexer-worker {
|
|
427
|
+
mail_vsize_bg_after_count = 100
|
|
428
|
+
}
|
|
429
|
+
|
|
430
|
+
protocol imap {
|
|
431
|
+
mail_plugins {
|
|
432
|
+
imap_quota = yes
|
|
433
|
+
imap_acl = yes
|
|
434
|
+
|
|
435
|
+
# This will only enable support for administrator scripts.
|
|
436
|
+
imap_sieve = yes
|
|
437
|
+
last_login = yes
|
|
438
|
+
}
|
|
439
|
+
|
|
440
|
+
imap_client_workarounds = tb-extra-mailbox-sep
|
|
441
|
+
imap_metadata = yes
|
|
442
|
+
}
|
|
443
|
+
|
|
444
|
+
protocol pop3 {
|
|
445
|
+
mail_plugins {
|
|
446
|
+
last_login = yes
|
|
447
|
+
}
|
|
448
|
+
|
|
449
|
+
pop3_client_workarounds = outlook-no-nuls oe-ns-eoh
|
|
450
|
+
pop3_uidl_format = %{uid | hex(8)}%{uidvalidity | hex(8)}
|
|
451
|
+
|
|
452
|
+
# POP3 logout format string:
|
|
453
|
+
# %i - total number of bytes read from client
|
|
454
|
+
# %o - total number of bytes sent to client
|
|
455
|
+
# %t - number of TOP commands
|
|
456
|
+
# %p - number of bytes sent to client as a result of TOP command
|
|
457
|
+
# %r - number of RETR commands
|
|
458
|
+
# %b - number of bytes sent to client as a result of RETR command
|
|
459
|
+
# %d - number of deleted messages
|
|
460
|
+
# %m - number of messages (before deletion)
|
|
461
|
+
# %s - mailbox size in bytes (before deletion)
|
|
462
|
+
# Default format doesn't have 'in=%i, out=%o'.
|
|
463
|
+
#pop3_logout_format = top=%t/%p, retr=%r/%b, del=%d/%m, size=%s, in=%i, out=%o
|
|
464
|
+
}
|
|
465
|
+
|
|
466
|
+
protocol lda {
|
|
467
|
+
mail_plugins {
|
|
468
|
+
sieve = yes
|
|
469
|
+
last_login = yes
|
|
470
|
+
}
|
|
471
|
+
|
|
472
|
+
lda_mailbox_autocreate = yes
|
|
473
|
+
lda_mailbox_autosubscribe = yes
|
|
474
|
+
}
|
|
475
|
+
|
|
476
|
+
protocol lmtp {
|
|
477
|
+
mail_plugins {
|
|
478
|
+
sieve = yes
|
|
479
|
+
last_login = yes
|
|
480
|
+
}
|
|
481
|
+
|
|
482
|
+
# Address extension delivery
|
|
483
|
+
lmtp_save_to_detail_mailbox = yes
|
|
484
|
+
recipient_delimiter = +
|
|
485
|
+
}
|
|
486
|
+
|
|
487
|
+
#
|
|
488
|
+
# Services
|
|
489
|
+
#
|
|
490
|
+
# FYI: https://wiki2.dovecot.org/Authentication/Penalty
|
|
491
|
+
# Dovecot anvil process tracks authentication penalties for different IPs to
|
|
492
|
+
# slow down brute force login attempts.
|
|
493
|
+
service anvil {
|
|
494
|
+
# there can be only one master process.
|
|
495
|
+
#process_limit = 1
|
|
496
|
+
|
|
497
|
+
unix_listener anvil-auth-penalty {
|
|
498
|
+
user = PH_SYS_USER_VMAIL
|
|
499
|
+
group = PH_SYS_GROUP_VMAIL
|
|
500
|
+
# Set mode to 0 to completely disable penalty.
|
|
501
|
+
mode = 0660
|
|
502
|
+
}
|
|
503
|
+
}
|
|
504
|
+
|
|
505
|
+
service auth {
|
|
506
|
+
# should be large enough to handle all the simultaneous connections.
|
|
507
|
+
# Typically only login processes use long lasting auth connections, while
|
|
508
|
+
# other processes do only quick lookups and disconnect afterwards.
|
|
509
|
+
#client_limit = 4096
|
|
510
|
+
|
|
511
|
+
# there can be only one auth master process
|
|
512
|
+
#process_limit = 1
|
|
513
|
+
|
|
514
|
+
# Auth socket
|
|
515
|
+
unix_listener PH_POSTFIX_CHROOT_DIR/private/dovecot-auth {
|
|
516
|
+
user = PH_SYS_USER_VMAIL
|
|
517
|
+
group = PH_SYS_GROUP_VMAIL
|
|
518
|
+
mode = 0666
|
|
519
|
+
}
|
|
520
|
+
|
|
521
|
+
unix_listener auth-master {
|
|
522
|
+
user = PH_SYS_USER_VMAIL
|
|
523
|
+
group = PH_SYS_GROUP_VMAIL
|
|
524
|
+
mode = 0666
|
|
525
|
+
}
|
|
526
|
+
|
|
527
|
+
unix_listener auth-userdb {
|
|
528
|
+
user = PH_SYS_USER_VMAIL
|
|
529
|
+
group = PH_SYS_GROUP_VMAIL
|
|
530
|
+
mode = 0660
|
|
531
|
+
}
|
|
532
|
+
}
|
|
533
|
+
|
|
534
|
+
service dict {
|
|
535
|
+
unix_listener dict {
|
|
536
|
+
user = PH_SYS_USER_VMAIL
|
|
537
|
+
group = PH_SYS_GROUP_VMAIL
|
|
538
|
+
mode = 0660
|
|
539
|
+
}
|
|
540
|
+
}
|
|
541
|
+
|
|
542
|
+
# Login processes. Refer to Dovecot wiki for more details:
|
|
543
|
+
# http://wiki2.dovecot.org/LoginProcess
|
|
544
|
+
service imap-login {
|
|
545
|
+
# Maximum number of simultaneous client connections per process. Once this
|
|
546
|
+
# number of connections is received, the next incoming connection will
|
|
547
|
+
# prompt Dovecot to spawn another process.
|
|
548
|
+
# If set to 0, default_client_limit is used instead.
|
|
549
|
+
#client_limit = 0
|
|
550
|
+
|
|
551
|
+
# vsz_limit should be fine at its default 64MB value
|
|
552
|
+
#vsz_limit = 64M
|
|
553
|
+
inet_listener imap {
|
|
554
|
+
name = imap
|
|
555
|
+
port = 143
|
|
556
|
+
}
|
|
557
|
+
|
|
558
|
+
inet_listener imaps {
|
|
559
|
+
name = imaps
|
|
560
|
+
port = 993
|
|
561
|
+
ssl = yes
|
|
562
|
+
}
|
|
563
|
+
}
|
|
564
|
+
|
|
565
|
+
service imap {
|
|
566
|
+
#process_limit = 4096
|
|
567
|
+
|
|
568
|
+
# required by imap-hibernate
|
|
569
|
+
unix_listener imap-master {
|
|
570
|
+
user = PH_SYS_USER_VMAIL
|
|
571
|
+
group = PH_SYS_GROUP_VMAIL
|
|
572
|
+
mode = 0666
|
|
573
|
+
}
|
|
574
|
+
}
|
|
575
|
+
|
|
576
|
+
service pop3 {
|
|
577
|
+
#process_limit = 4096
|
|
578
|
+
}
|
|
579
|
+
|
|
580
|
+
# LMTP server (Local Mail Transfer Protocol).
|
|
581
|
+
# Reference: http://wiki2.dovecot.org/LMTP
|
|
582
|
+
service lmtp {
|
|
583
|
+
user = PH_SYS_USER_VMAIL
|
|
584
|
+
|
|
585
|
+
# For higher volume sites, it may be desirable to increase the number of
|
|
586
|
+
# active listener processes. A range of 5 to 20 is probably good for most
|
|
587
|
+
# sites.
|
|
588
|
+
process_min_avail = 5
|
|
589
|
+
|
|
590
|
+
# Logging.
|
|
591
|
+
# Require 'log_path =' in 'protocol lmtp {}' block.
|
|
592
|
+
executable = lmtp -L
|
|
593
|
+
|
|
594
|
+
# Listening on socket file and TCP
|
|
595
|
+
unix_listener PH_POSTFIX_CHROOT_DIR/private/dovecot-lmtp {
|
|
596
|
+
user = PH_SYS_USER_VMAIL
|
|
597
|
+
group = PH_SYS_GROUP_VMAIL
|
|
598
|
+
mode = 0666
|
|
599
|
+
}
|
|
600
|
+
|
|
601
|
+
inet_listener lmtp {
|
|
602
|
+
listen = PH_LMTP_BIND_ADDRESS
|
|
603
|
+
port = PH_LMTP_BIND_PORT
|
|
604
|
+
}
|
|
605
|
+
}
|
|
606
|
+
|
|
607
|
+
service managesieve-login {
|
|
608
|
+
inet_listener sieve {
|
|
609
|
+
listen = 127.0.0.1
|
|
610
|
+
port = 4190
|
|
611
|
+
}
|
|
612
|
+
}
|
|
613
|
+
|
|
614
|
+
service pop3-login {
|
|
615
|
+
#client_limit = 0
|
|
616
|
+
#process_limit = 0
|
|
617
|
+
#process_min_avail =
|
|
618
|
+
|
|
619
|
+
inet_listener pop3 {
|
|
620
|
+
name = pop3
|
|
621
|
+
port = 110
|
|
622
|
+
}
|
|
623
|
+
|
|
624
|
+
inet_listener pop3s {
|
|
625
|
+
name = pop3s
|
|
626
|
+
port = 995
|
|
627
|
+
ssl = yes
|
|
628
|
+
}
|
|
629
|
+
}
|
|
630
|
+
|
|
631
|
+
service quota-warning {
|
|
632
|
+
executable = script /usr/local/bin/dovecot-quota-warning.sh
|
|
633
|
+
user = PH_SYS_USER_VMAIL
|
|
634
|
+
|
|
635
|
+
unix_listener quota-warning {
|
|
636
|
+
user = PH_SYS_USER_VMAIL
|
|
637
|
+
group = PH_SYS_GROUP_VMAIL
|
|
638
|
+
mode = 0660
|
|
639
|
+
}
|
|
640
|
+
}
|
|
641
|
+
|
|
642
|
+
quota_status_success = DUNNO
|
|
643
|
+
quota_status_nouser = DUNNO
|
|
644
|
+
quota_status_overquota = "552 5.2.2 Mailbox is full"
|
|
645
|
+
service quota-status {
|
|
646
|
+
executable = quota-status -p postfix
|
|
647
|
+
inet_listener quota-status {
|
|
648
|
+
listen = 127.0.0.1
|
|
649
|
+
port = 12340
|
|
650
|
+
}
|
|
651
|
+
client_limit = 1
|
|
652
|
+
}
|
|
653
|
+
|
|
654
|
+
# quota plugin: count
|
|
655
|
+
# `count` driver doesn't have any additional parameters.
|
|
656
|
+
quota "User quota" {
|
|
657
|
+
}
|
|
658
|
+
# Allows message deliveries to exceed quota once by this amount.
|
|
659
|
+
# After the quota is already over the limit, the grace no longer applies.
|
|
660
|
+
quota_storage_grace = 30M
|
|
661
|
+
|
|
662
|
+
# Quota warning.
|
|
663
|
+
# Configure the highest limits first.
|
|
664
|
+
quota user {
|
|
665
|
+
warning warn-95 {
|
|
666
|
+
quota_storage_percentage = 95
|
|
667
|
+
execute quota-warning {
|
|
668
|
+
args = 95 %{user}
|
|
669
|
+
}
|
|
670
|
+
}
|
|
671
|
+
warning warn-90 {
|
|
672
|
+
quota_storage_percentage = 90
|
|
673
|
+
execute quota-warning {
|
|
674
|
+
args = 90 %{user}
|
|
675
|
+
}
|
|
676
|
+
}
|
|
677
|
+
warning warn-85 {
|
|
678
|
+
quota_storage_percentage = 85
|
|
679
|
+
execute quota-warning {
|
|
680
|
+
args = 85 %{user}
|
|
681
|
+
}
|
|
682
|
+
}
|
|
683
|
+
warning warn-under {
|
|
684
|
+
quota_storage_percentage = 100
|
|
685
|
+
# user is no longer over quota
|
|
686
|
+
threshold = under
|
|
687
|
+
execute quota-warning {
|
|
688
|
+
args = below %{user}
|
|
689
|
+
}
|
|
690
|
+
}
|
|
691
|
+
}
|
|
692
|
+
|
|
693
|
+
# plugin: quota_clone.
|
|
694
|
+
quota_clone {
|
|
695
|
+
dict proxy {
|
|
696
|
+
name = quota_clone
|
|
697
|
+
}
|
|
698
|
+
}
|
|
699
|
+
|
|
700
|
+
# The maximum number of redirect actions that can be performed during a single
|
|
701
|
+
# script execution.
|
|
702
|
+
sieve_max_redirects = 30
|
|
703
|
+
|
|
704
|
+
# Use recipient as vacation message sender instead of null sender (<>).
|
|
705
|
+
sieve_vacation_send_from_recipient = yes
|
|
706
|
+
|
|
707
|
+
# Specifies what envelope sender address is used for redirected messages.
|
|
708
|
+
# Requires pigeonhole v0.4.4+.
|
|
709
|
+
#
|
|
710
|
+
# Normally, the Sieve "redirect" command copies the sender address for the
|
|
711
|
+
# redirected message from the processed message. So, the redirected message
|
|
712
|
+
# appears to originate from the original sender.
|
|
713
|
+
sieve_redirect_envelope_from = recipient
|
|
714
|
+
|
|
715
|
+
sieve_duplicate_default_period = 1h
|
|
716
|
+
sieve_duplicate_max_period = 1d
|
|
717
|
+
|
|
718
|
+
sieve_script global {
|
|
719
|
+
type = global
|
|
720
|
+
driver = file
|
|
721
|
+
path = PH_SIEVE_DIR
|
|
722
|
+
}
|
|
723
|
+
|
|
724
|
+
sieve_script before {
|
|
725
|
+
type = before
|
|
726
|
+
driver = file
|
|
727
|
+
path = PH_GLOBAL_SIEVE_FILE
|
|
728
|
+
}
|
|
729
|
+
|
|
730
|
+
sieve_script personal {
|
|
731
|
+
type = personal
|
|
732
|
+
driver = file
|
|
733
|
+
path = ~/sieve/dovecot.sieve
|
|
734
|
+
}
|
|
735
|
+
|
|
736
|
+
|
|
737
|
+
# plugin: mail_log
|
|
738
|
+
# https://doc.dovecot.org/main/core/plugins/mail_log.html
|
|
739
|
+
mail_log_events = delete undelete expunge copy save mailbox_create mailbox_delete mailbox_rename
|
|
740
|
+
mail_log_fields = uid box msgid size from subject flags
|
|
741
|
+
#mail_log_cached_only = yes
|
|
742
|
+
|
|
743
|
+
# plugin: acl
|
|
744
|
+
# https://doc.dovecot.org/main/core/plugins/imap_acl.html
|
|
745
|
+
# ACL and share folder
|
|
746
|
+
acl_driver = vfile
|
|
747
|
+
acl_globals_only = no
|
|
748
|
+
|
|
749
|
+
acl_sharing_map {
|
|
750
|
+
dict proxy {
|
|
751
|
+
name = acl
|
|
752
|
+
}
|
|
753
|
+
}
|
|
754
|
+
|
|
755
|
+
# By default Dovecot doesn't allow using the IMAP "anyone" or
|
|
756
|
+
# "authenticated" identifier, because it would be an easy way to spam
|
|
757
|
+
# other users in the system. If you wish to allow it,
|
|
758
|
+
#imap_acl_allow_anyone = no
|
|
759
|
+
|
|
760
|
+
# plugin: last-login.
|
|
761
|
+
# https://doc.dovecot.org/main/core/plugins/last_login.html
|
|
762
|
+
last_login {
|
|
763
|
+
dict proxy {
|
|
764
|
+
name = lastlogin
|
|
765
|
+
}
|
|
766
|
+
key = last-login/%{service}/%{user}/%{user | domain}
|
|
767
|
+
}
|