openship 0.4.5 → 0.4.7

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.
Files changed (314) hide show
  1. package/README.md +2 -24
  2. package/dist/bare-2HYDXQEH.js +23 -0
  3. package/dist/{bowser-L6PVH37V.js → bowser-O3AEA6AN.js} +3 -1
  4. package/dist/{chunk-YFLQGDN2.js → chunk-4TJC4JZQ.js} +18 -9
  5. package/dist/{chunk-JXQCFTDV.js → chunk-4Z5QO7N6.js} +4 -2
  6. package/dist/{chunk-JJVSOE4I.js → chunk-5MZ624VX.js} +2 -0
  7. package/dist/{chunk-TDFK6ISF.js → chunk-6APIPIJY.js} +6 -4
  8. package/dist/{chunk-3LCRNQ2C.js → chunk-6APULWSU.js} +151 -133
  9. package/dist/{chunk-FTBXJ2VA.js → chunk-6B5YCFFV.js} +6 -4
  10. package/dist/{chunk-MDFYN2QH.js → chunk-AVIB7CT7.js} +3 -1
  11. package/dist/{chunk-W7KGHYLV.js → chunk-DYPH4HCI.js} +2 -0
  12. package/dist/{chunk-5WI7ZXOC.js → chunk-EI575GHN.js} +4 -2
  13. package/dist/{chunk-Z6EKX6CX.js → chunk-FPRHYBY2.js} +2 -0
  14. package/dist/{chunk-FZJX6XP7.js → chunk-FRNAR33O.js} +4 -2
  15. package/dist/{chunk-XRWV5ZNR.js → chunk-FXTBHTWY.js} +360 -42
  16. package/dist/chunk-ILFETZOM.js +131 -0
  17. package/dist/{chunk-E3ZPCNPU.js → chunk-IMBD5PZ5.js} +251 -105
  18. package/dist/{chunk-VJTXRCTT.js → chunk-IPYPMI3S.js} +10 -6
  19. package/dist/{chunk-PARRPUXN.js → chunk-IXCHURVK.js} +5 -3
  20. package/dist/{chunk-YJAS5RQX.js → chunk-JYGD5WSN.js} +2 -0
  21. package/dist/{chunk-JWBXYO24.js → chunk-KI2EY3WB.js} +2 -0
  22. package/dist/{chunk-YVXF6GGR.js → chunk-L2VOGB2X.js} +5 -104
  23. package/dist/{chunk-K5OH5U7N.js → chunk-MZ2WEHHY.js} +5 -3
  24. package/dist/{chunk-SJBR527P.js → chunk-O6ZZF52V.js} +3 -1
  25. package/dist/{chunk-VLPJLXXB.js → chunk-OWED2GRM.js} +3 -1
  26. package/dist/{chunk-C4FOQJ63.js → chunk-OXWDY22G.js} +4 -2
  27. package/dist/{chunk-NPVJYR7M.js → chunk-Q2CIRAOK.js} +2 -0
  28. package/dist/chunk-R5BHFFAV.js +282 -0
  29. package/dist/{chunk-JYAGTMSJ.js → chunk-RPHRPFEH.js} +2 -0
  30. package/dist/{chunk-R74UB4X4.js → chunk-SJIFLLX4.js} +397 -85
  31. package/dist/{chunk-HYL4QYZM.js → chunk-TGIINPVM.js} +13 -2
  32. package/dist/{chunk-SYCZE6FQ.js → chunk-TYVME3XD.js} +7 -1
  33. package/dist/{chunk-UMYQALBH.js → chunk-UXWAVM4C.js} +1788 -1484
  34. package/dist/{chunk-HDV4NSA3.js → chunk-V6AN6XLZ.js} +16 -6
  35. package/dist/{chunk-3YCMJRDZ.js → chunk-VDMQJHPI.js} +36 -15
  36. package/dist/{chunk-RZPDJC2J.js → chunk-VFINNTUL.js} +20 -1
  37. package/dist/{chunk-65KKUJBR.js → chunk-VWPEKOH6.js} +4 -2
  38. package/dist/{chunk-GHXGCANU.js → chunk-W73X43R7.js} +4 -2
  39. package/dist/{chunk-7EYFCKZX.js → chunk-XFCDYZUQ.js} +8 -6
  40. package/dist/cloud-2KXREXMO.js +30 -0
  41. package/dist/{cloud-7IGG45CF.js → cloud-7QYOGF7F.js} +4 -2
  42. package/dist/detect-2XSCFFTF.js +44 -0
  43. package/dist/{dist-NQB6QGX3.js → dist-IQJ6H6UZ.js} +4 -2
  44. package/dist/{dist-es-DCR6UJMP.js → dist-es-5DY7K32L.js} +7 -5
  45. package/dist/{dist-es-TYYZ5KEF.js → dist-es-JSTDUS7Q.js} +7 -5
  46. package/dist/{dist-es-7EZIM4JU.js → dist-es-OSNJBLXB.js} +6 -4
  47. package/dist/{dist-es-6RSPR56Q.js → dist-es-RYHIPOTN.js} +15 -13
  48. package/dist/{dist-es-33Z3Y6VE.js → dist-es-VNKHQVIB.js} +5 -3
  49. package/dist/{dist-es-D6QQVWRZ.js → dist-es-WV4AMOII.js} +9 -7
  50. package/dist/{dist-es-GMEQINIE.js → dist-es-X3B5QYKB.js} +7 -5
  51. package/dist/docker-LODK5Y2S.js +16 -0
  52. package/dist/docker-edge-executor-VHW3JPJS.js +13 -0
  53. package/dist/edge-import-ZQ4Y5HEA.js +45 -0
  54. package/dist/ensure-container-edge-ED25XL3Z.js +31 -0
  55. package/dist/{event-streams-G7F6Q7QY.js → event-streams-EHRAKL75.js} +5 -3
  56. package/dist/{executor-O5NR7LMP.js → executor-YPT6RH6O.js} +9 -7
  57. package/dist/index.d.ts +2 -1
  58. package/dist/index.js +279 -245
  59. package/dist/{loadSso-LH753OSJ.js → loadSso-46FQRIZS.js} +11 -9
  60. package/dist/local-executor-V7U5VOZW.js +12 -0
  61. package/dist/nginx-XWJAOGS4.js +24 -0
  62. package/dist/{noop-6KC6HRDB.js → noop-FMMFG2EZ.js} +4 -2
  63. package/dist/{openresty-lua-KFCOJAG4.js → openresty-lua-4WLGDSER.js} +11 -3
  64. package/dist/server/engine/ChangeLog +2289 -0
  65. package/dist/server/engine/Documentations +5 -0
  66. package/dist/server/engine/LICENSE +674 -0
  67. package/dist/server/engine/README.md +34 -0
  68. package/dist/server/engine/conf/amavisd +150 -0
  69. package/dist/server/engine/conf/clamav +71 -0
  70. package/dist/server/engine/conf/core +632 -0
  71. package/dist/server/engine/conf/dovecot +151 -0
  72. package/dist/server/engine/conf/fail2ban +72 -0
  73. package/dist/server/engine/conf/global +698 -0
  74. package/dist/server/engine/conf/iredapd +52 -0
  75. package/dist/server/engine/conf/logwatch +28 -0
  76. package/dist/server/engine/conf/postfix +97 -0
  77. package/dist/server/engine/conf/postgresql +93 -0
  78. package/dist/server/engine/conf/spamassassin +39 -0
  79. package/dist/server/engine/dialog/config_via_dialog.sh +258 -0
  80. package/dist/server/engine/dialog/optional_components.sh +122 -0
  81. package/dist/server/engine/dialog/pgsql_config.sh +52 -0
  82. package/dist/server/engine/dialog/virtual_domain_config.sh +94 -0
  83. package/dist/server/engine/functions/amavisd.sh +267 -0
  84. package/dist/server/engine/functions/backend.sh +85 -0
  85. package/dist/server/engine/functions/clamav.sh +100 -0
  86. package/dist/server/engine/functions/cleanup.sh +393 -0
  87. package/dist/server/engine/functions/dovecot.sh +583 -0
  88. package/dist/server/engine/functions/fail2ban.sh +209 -0
  89. package/dist/server/engine/functions/iredapd.sh +356 -0
  90. package/dist/server/engine/functions/optional_components.sh +24 -0
  91. package/dist/server/engine/functions/packages.sh +522 -0
  92. package/dist/server/engine/functions/packages_freebsd.sh +179 -0
  93. package/dist/server/engine/functions/postfix.sh +457 -0
  94. package/dist/server/engine/functions/postgresql.sh +239 -0
  95. package/dist/server/engine/functions/spamassassin.sh +49 -0
  96. package/dist/server/engine/functions/system_accounts.sh +128 -0
  97. package/dist/server/engine/iRedMail.sh +144 -0
  98. package/dist/server/engine/pkgs/get_all.sh +338 -0
  99. package/dist/server/engine/pkgs/pkgs.freebsd.sha256 +3 -0
  100. package/dist/server/engine/pkgs/pkgs.openbsd.sha256 +6 -0
  101. package/dist/server/engine/pkgs/pkgs.sha256 +1 -0
  102. package/dist/server/engine/samples/amavisd/amavisd.conf +677 -0
  103. package/dist/server/engine/samples/amavisd/amavisd.mysql +278 -0
  104. package/dist/server/engine/samples/amavisd/amavisd.pgsql +253 -0
  105. package/dist/server/engine/samples/amavisd/amavisd.schema +942 -0
  106. package/dist/server/engine/samples/amavisd/default_spam_policy.sql +46 -0
  107. package/dist/server/engine/samples/dovecot/dovecot-2.4-mariadb.conf +758 -0
  108. package/dist/server/engine/samples/dovecot/dovecot-2.4-openldap.conf +767 -0
  109. package/dist/server/engine/samples/dovecot/dovecot-2.4-pgsql.conf +762 -0
  110. package/dist/server/engine/samples/dovecot/dovecot-last-login.conf +50 -0
  111. package/dist/server/engine/samples/dovecot/dovecot-ldap.conf +21 -0
  112. package/dist/server/engine/samples/dovecot/dovecot-share-folder.conf +22 -0
  113. package/dist/server/engine/samples/dovecot/dovecot-sql.conf +28 -0
  114. package/dist/server/engine/samples/dovecot/dovecot-used-quota.conf +13 -0
  115. package/dist/server/engine/samples/dovecot/dovecot.conf +484 -0
  116. package/dist/server/engine/samples/dovecot/dovecot.sieve +7 -0
  117. package/dist/server/engine/samples/dovecot/dovecot2-quota-warning.sh +38 -0
  118. package/dist/server/engine/samples/dovecot/sql/imap_share_folder.mysql +16 -0
  119. package/dist/server/engine/samples/dovecot/sql/last_login.mysql +12 -0
  120. package/dist/server/engine/samples/dovecot/sql/used_quota.mysql +26 -0
  121. package/dist/server/engine/samples/dovecot/systemd/override.conf +3 -0
  122. package/dist/server/engine/samples/fail2ban/action.d/banned_db.conf +9 -0
  123. package/dist/server/engine/samples/fail2ban/bin/fail2ban_banned_db +268 -0
  124. package/dist/server/engine/samples/fail2ban/fail2ban.local +17 -0
  125. package/dist/server/engine/samples/fail2ban/filter.d/dovecot.iredmail.conf +5 -0
  126. package/dist/server/engine/samples/fail2ban/filter.d/postfix-pregreet.iredmail.conf +16 -0
  127. package/dist/server/engine/samples/fail2ban/filter.d/postfix.iredmail.conf +18 -0
  128. package/dist/server/engine/samples/fail2ban/filter.d/roundcube.iredmail.conf +9 -0
  129. package/dist/server/engine/samples/fail2ban/jail.d/dovecot.local +8 -0
  130. package/dist/server/engine/samples/fail2ban/jail.d/nginx-http-auth.local +8 -0
  131. package/dist/server/engine/samples/fail2ban/jail.d/postfix-pregreet.local +9 -0
  132. package/dist/server/engine/samples/fail2ban/jail.d/postfix.local +8 -0
  133. package/dist/server/engine/samples/fail2ban/jail.d/roundcube.local +9 -0
  134. package/dist/server/engine/samples/fail2ban/jail.d/sogo.local +8 -0
  135. package/dist/server/engine/samples/fail2ban/jail.d/sshd.local +8 -0
  136. package/dist/server/engine/samples/fail2ban/jail.local +6 -0
  137. package/dist/server/engine/samples/fail2ban/openbsd/rc +27 -0
  138. package/dist/server/engine/samples/fail2ban/sql/fail2ban.mysql +49 -0
  139. package/dist/server/engine/samples/fail2ban/sql/fail2ban.pgsql +48 -0
  140. package/dist/server/engine/samples/firewall/firewalld/services/ssh.xml +6 -0
  141. package/dist/server/engine/samples/firewall/firewalld/zones/iredmail.xml +15 -0
  142. package/dist/server/engine/samples/firewall/iptables/ip6tables.init.debian +362 -0
  143. package/dist/server/engine/samples/firewall/iptables/ip6tables.rules +53 -0
  144. package/dist/server/engine/samples/firewall/iptables/iptables.init.debian +363 -0
  145. package/dist/server/engine/samples/firewall/iptables/iptables.rules +54 -0
  146. package/dist/server/engine/samples/firewall/nftables.conf +58 -0
  147. package/dist/server/engine/samples/freebsd/newsyslog.conf.d/dovecot.conf +3 -0
  148. package/dist/server/engine/samples/freebsd/newsyslog.conf.d/iredapd.conf +1 -0
  149. package/dist/server/engine/samples/freebsd/newsyslog.conf.d/mlmmjadmin.conf +1 -0
  150. package/dist/server/engine/samples/freebsd/newsyslog.conf.d/php-fpm.conf +2 -0
  151. package/dist/server/engine/samples/freebsd/newsyslog.conf.d/slapd.conf +1 -0
  152. package/dist/server/engine/samples/freebsd/syslog.d/dovecot.conf +2 -0
  153. package/dist/server/engine/samples/freebsd/syslog.d/fail2ban.conf +2 -0
  154. package/dist/server/engine/samples/freebsd/syslog.d/iredapd.conf +2 -0
  155. package/dist/server/engine/samples/freebsd/syslog.d/mlmmjadmin.conf +2 -0
  156. package/dist/server/engine/samples/freebsd/syslog.d/php-fpm.conf +2 -0
  157. package/dist/server/engine/samples/freebsd/syslog.d/slapd.conf +2 -0
  158. package/dist/server/engine/samples/iredmail/iredmail.mysql +491 -0
  159. package/dist/server/engine/samples/iredmail/iredmail.pgsql +465 -0
  160. package/dist/server/engine/samples/iredmail/iredmail.schema +456 -0
  161. package/dist/server/engine/samples/iredmail/used_quota_triggers_dovecot_2.3.pgsql +40 -0
  162. package/dist/server/engine/samples/iredmail/used_quota_triggers_dovecot_2.4.pgsql +18 -0
  163. package/dist/server/engine/samples/logrotate/dovecot +13 -0
  164. package/dist/server/engine/samples/logrotate/iredapd +13 -0
  165. package/dist/server/engine/samples/logrotate/mlmmjadmin +13 -0
  166. package/dist/server/engine/samples/logrotate/openldap +19 -0
  167. package/dist/server/engine/samples/logrotate/php-fpm +13 -0
  168. package/dist/server/engine/samples/openbsd/ldapd.conf +58 -0
  169. package/dist/server/engine/samples/openbsd/pf.conf +28 -0
  170. package/dist/server/engine/samples/postfix/command_filter.pcre +3 -0
  171. package/dist/server/engine/samples/postfix/freebsd/mailer.conf +9 -0
  172. package/dist/server/engine/samples/postfix/helo_access.pcre +180 -0
  173. package/dist/server/engine/samples/postfix/ldap/catchall_maps.cf +11 -0
  174. package/dist/server/engine/samples/postfix/ldap/recipient_bcc_maps_domain.cf +11 -0
  175. package/dist/server/engine/samples/postfix/ldap/recipient_bcc_maps_user.cf +11 -0
  176. package/dist/server/engine/samples/postfix/ldap/relay_domains.cf +11 -0
  177. package/dist/server/engine/samples/postfix/ldap/sender_bcc_maps_domain.cf +11 -0
  178. package/dist/server/engine/samples/postfix/ldap/sender_bcc_maps_user.cf +11 -0
  179. package/dist/server/engine/samples/postfix/ldap/sender_dependent_relayhost_maps_domain.cf +11 -0
  180. package/dist/server/engine/samples/postfix/ldap/sender_dependent_relayhost_maps_user.cf +11 -0
  181. package/dist/server/engine/samples/postfix/ldap/sender_login_maps.cf +11 -0
  182. package/dist/server/engine/samples/postfix/ldap/transport_maps_domain.cf +11 -0
  183. package/dist/server/engine/samples/postfix/ldap/transport_maps_user.cf +11 -0
  184. package/dist/server/engine/samples/postfix/ldap/virtual_alias_maps.cf +11 -0
  185. package/dist/server/engine/samples/postfix/ldap/virtual_group_maps.cf +11 -0
  186. package/dist/server/engine/samples/postfix/ldap/virtual_group_members_maps.cf +11 -0
  187. package/dist/server/engine/samples/postfix/ldap/virtual_mailbox_domains.cf +11 -0
  188. package/dist/server/engine/samples/postfix/ldap/virtual_mailbox_maps.cf +12 -0
  189. package/dist/server/engine/samples/postfix/main.cf +282 -0
  190. package/dist/server/engine/samples/postfix/main.cf.amavisd +7 -0
  191. package/dist/server/engine/samples/postfix/main.cf.dovecot +8 -0
  192. package/dist/server/engine/samples/postfix/main.cf.ldap +39 -0
  193. package/dist/server/engine/samples/postfix/main.cf.mlmmj +5 -0
  194. package/dist/server/engine/samples/postfix/main.cf.mysql +39 -0
  195. package/dist/server/engine/samples/postfix/main.cf.pgsql +39 -0
  196. package/dist/server/engine/samples/postfix/main.cf.postscreen +30 -0
  197. package/dist/server/engine/samples/postfix/master.cf +87 -0
  198. package/dist/server/engine/samples/postfix/mysql/catchall_maps.cf +5 -0
  199. package/dist/server/engine/samples/postfix/mysql/domain_alias_catchall_maps.cf +5 -0
  200. package/dist/server/engine/samples/postfix/mysql/domain_alias_maps.cf +5 -0
  201. package/dist/server/engine/samples/postfix/mysql/recipient_bcc_maps_domain.cf +5 -0
  202. package/dist/server/engine/samples/postfix/mysql/recipient_bcc_maps_user.cf +5 -0
  203. package/dist/server/engine/samples/postfix/mysql/relay_domains.cf +5 -0
  204. package/dist/server/engine/samples/postfix/mysql/sender_bcc_maps_domain.cf +5 -0
  205. package/dist/server/engine/samples/postfix/mysql/sender_bcc_maps_user.cf +5 -0
  206. package/dist/server/engine/samples/postfix/mysql/sender_dependent_relayhost_maps.cf +6 -0
  207. package/dist/server/engine/samples/postfix/mysql/sender_login_maps.cf +5 -0
  208. package/dist/server/engine/samples/postfix/mysql/transport_maps_domain.cf +5 -0
  209. package/dist/server/engine/samples/postfix/mysql/transport_maps_maillist.cf +5 -0
  210. package/dist/server/engine/samples/postfix/mysql/transport_maps_user.cf +5 -0
  211. package/dist/server/engine/samples/postfix/mysql/virtual_alias_maps.cf +5 -0
  212. package/dist/server/engine/samples/postfix/mysql/virtual_mailbox_domains.cf +5 -0
  213. package/dist/server/engine/samples/postfix/mysql/virtual_mailbox_maps.cf +5 -0
  214. package/dist/server/engine/samples/postfix/pgsql/catchall_maps.cf +5 -0
  215. package/dist/server/engine/samples/postfix/pgsql/domain_alias_catchall_maps.cf +5 -0
  216. package/dist/server/engine/samples/postfix/pgsql/domain_alias_maps.cf +5 -0
  217. package/dist/server/engine/samples/postfix/pgsql/recipient_bcc_maps_domain.cf +5 -0
  218. package/dist/server/engine/samples/postfix/pgsql/recipient_bcc_maps_user.cf +5 -0
  219. package/dist/server/engine/samples/postfix/pgsql/relay_domains.cf +5 -0
  220. package/dist/server/engine/samples/postfix/pgsql/sender_bcc_maps_domain.cf +5 -0
  221. package/dist/server/engine/samples/postfix/pgsql/sender_bcc_maps_user.cf +5 -0
  222. package/dist/server/engine/samples/postfix/pgsql/sender_dependent_relayhost_maps.cf +6 -0
  223. package/dist/server/engine/samples/postfix/pgsql/sender_login_maps.cf +5 -0
  224. package/dist/server/engine/samples/postfix/pgsql/transport_maps_domain.cf +5 -0
  225. package/dist/server/engine/samples/postfix/pgsql/transport_maps_maillist.cf +5 -0
  226. package/dist/server/engine/samples/postfix/pgsql/transport_maps_user.cf +5 -0
  227. package/dist/server/engine/samples/postfix/pgsql/virtual_alias_maps.cf +5 -0
  228. package/dist/server/engine/samples/postfix/pgsql/virtual_mailbox_domains.cf +5 -0
  229. package/dist/server/engine/samples/postfix/pgsql/virtual_mailbox_maps.cf +5 -0
  230. package/dist/server/engine/samples/postfix/postscreen_access.cidr +6 -0
  231. package/dist/server/engine/samples/postgresql/sql/add_first_domain_and_user.sql +34 -0
  232. package/dist/server/engine/samples/postgresql/sql/grant_permissions.sql +14 -0
  233. package/dist/server/engine/samples/postgresql/sql/init_vmail_db.sql +15 -0
  234. package/dist/server/engine/samples/rsyslog.d/1-iredmail-dovecot.conf +23 -0
  235. package/dist/server/engine/samples/rsyslog.d/1-iredmail-fail2ban.conf +2 -0
  236. package/dist/server/engine/samples/rsyslog.d/1-iredmail-iredapd.conf +12 -0
  237. package/dist/server/engine/samples/rsyslog.d/1-iredmail-mlmmjadmin.conf +12 -0
  238. package/dist/server/engine/samples/rsyslog.d/1-iredmail-openldap.conf +2 -0
  239. package/dist/server/engine/samples/rsyslog.d/1-iredmail-phpfpm.conf +3 -0
  240. package/dist/server/engine/samples/spamassassin/local.cf +186 -0
  241. package/dist/server/engine/samples/spamassassin/razor.conf +1 -0
  242. package/dist/server/engine/samples/systemd/clamd.service.d/override.conf +2 -0
  243. package/dist/server/engine/samples/systemd/mariadb.service.d/override.conf +3 -0
  244. package/dist/server/engine/samples/systemd/slapd.service.d/override.conf +6 -0
  245. package/dist/server/engine/samples/yum/CentOS-Linux-AppStream.repo +6 -0
  246. package/dist/server/engine/samples/yum/CentOS-Linux-PowerTools.repo +6 -0
  247. package/dist/server/engine/samples/yum/CentOS-Stream-AppStream.repo +7 -0
  248. package/dist/server/engine/samples/yum/CentOS-Stream-PowerTools.repo +7 -0
  249. package/dist/server/engine/samples/yum/symas-openldap.repo +6 -0
  250. package/dist/server/engine/tools/add_enabled_service.py +60 -0
  251. package/dist/server/engine/tools/backup_mysql.sh +238 -0
  252. package/dist/server/engine/tools/backup_openldap.sh +230 -0
  253. package/dist/server/engine/tools/backup_pgsql.sh +217 -0
  254. package/dist/server/engine/tools/backup_sogo.sh +156 -0
  255. package/dist/server/engine/tools/create_mail_user_OpenLDAP.py +335 -0
  256. package/dist/server/engine/tools/create_mail_user_OpenLDAP.sh +287 -0
  257. package/dist/server/engine/tools/create_mail_user_SQL.sh +127 -0
  258. package/dist/server/engine/tools/enable_postscreen.sh +144 -0
  259. package/dist/server/engine/tools/fail2ban_unban_ip.sh +39 -0
  260. package/dist/server/engine/tools/find_sasl_login_ip.sh +20 -0
  261. package/dist/server/engine/tools/find_top_sasl_usernames.sh +28 -0
  262. package/dist/server/engine/tools/generate_ssl_keys.sh +85 -0
  263. package/dist/server/engine/tools/kill_high_cpu_sogo_process.sh +32 -0
  264. package/dist/server/engine/tools/ldap_assign_user_to_groups.py +151 -0
  265. package/dist/server/engine/tools/ldap_move_members_to_another_group.py +129 -0
  266. package/dist/server/engine/tools/migrate_sql_alias_table.py +177 -0
  267. package/dist/server/engine/update/0.9.8/amavisd.mysql +29 -0
  268. package/dist/server/engine/update/0.9.8/amavisd.pgsql +39 -0
  269. package/dist/server/engine/update/0.9.8/iredmail.mysql +53 -0
  270. package/dist/server/engine/update/0.9.8/iredmail.pgsql +61 -0
  271. package/dist/server/engine/update/0.9.9/iredmail.mysql +2 -0
  272. package/dist/server/engine/update/0.9.9/iredmail.pgsql +2 -0
  273. package/dist/server/engine/update/1.0/iredmail.mysql +2 -0
  274. package/dist/server/engine/update/1.0/iredmail.pgsql +2 -0
  275. package/dist/server/engine/update/1.2/last_login.mysql +16 -0
  276. package/dist/server/engine/update/1.4.0/iredmail.mysql +22 -0
  277. package/dist/server/engine/update/1.4.0/iredmail.pgsql +20 -0
  278. package/dist/server/engine/update/1.4.1/iredmail.mysql +3 -0
  279. package/dist/server/engine/update/1.4.1/iredmail.pgsql +3 -0
  280. package/dist/server/engine/update/1.4.1/sogo.mysql +11 -0
  281. package/dist/server/engine/update/1.4.1/sogo.pgsql +30 -0
  282. package/dist/server/engine/update/1.4.1/update-ldap.py +66 -0
  283. package/dist/server/engine/update/1.4.2/iredmail.mysql +9 -0
  284. package/dist/server/engine/update/1.4.2/iredmail.pgsql +9 -0
  285. package/dist/server/engine/update/1.4.2/sogo.pgsql +30 -0
  286. package/dist/server/engine/update/1.6.0/sogo_view.pgsql +27 -0
  287. package/dist/server/engine/update/1.6.3/iredmail.mysql +1 -0
  288. package/dist/server/engine/update/1.7.0/fail2ban.mysql +11 -0
  289. package/dist/server/engine/update/1.7.0/fail2ban.pgsql +12 -0
  290. package/dist/server/engine/update/1.7.1/amavisd.mysql +1 -0
  291. package/dist/server/engine/update/1.7.2/vmail.mysql +30 -0
  292. package/dist/server/engine/update/1.7.3/deleted_mailboxes.mysql +43 -0
  293. package/dist/server/engine/update/1.7.3/iredadmin.mysql +26 -0
  294. package/dist/server/engine/update/1.7.3/vmail.mysql +79 -0
  295. package/dist/server/engine/update/1.7.3/vmail.pgsql +9 -0
  296. package/dist/server/engine/update/README.md +1 -0
  297. package/dist/server/engine/update/ldap/README.md +40 -0
  298. package/dist/server/engine/update/ldap/update-ldap-dovecot-2.3.py +69 -0
  299. package/dist/server/index.js +55793 -53701
  300. package/dist/server/migrations/0071_gh_device_token.sql +3 -0
  301. package/dist/server/migrations/0072_gh_device_token_method.sql +1 -0
  302. package/dist/server/migrations/meta/_journal.json +14 -0
  303. package/dist/setup-2DMFIA74.js +20 -0
  304. package/dist/{signin-PVC7MBZJ.js → signin-ITOPKKUB.js} +11 -9
  305. package/dist/{sso-oidc-ZXY77BSL.js → sso-oidc-NON2PD7Y.js} +11 -9
  306. package/dist/{sts-LX5L4UU3.js → sts-HHFFSAY2.js} +10 -8
  307. package/package.json +1 -1
  308. package/dist/bare-CNSFDNSZ.js +0 -20
  309. package/dist/cloud-655YYCEW.js +0 -26
  310. package/dist/docker-UWQPDEGW.js +0 -14
  311. package/dist/docker-edge-executor-ZLAYE5FE.js +0 -11
  312. package/dist/edge-import-AFID2EN3.js +0 -41
  313. package/dist/nginx-M36GDYL7.js +0 -18
  314. package/dist/setup-ZXXB5S22.js +0 -16
@@ -0,0 +1,758 @@
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 = PH_DOVECOT_MASTER_USER_PASSWORD_FILE
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_VMAIL_DB_NAME
164
+ user = PH_VMAIL_DB_ADMIN_USER
165
+ password = PH_VMAIL_DB_ADMIN_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
+ # Virtual mail accounts.
283
+ #
284
+
285
+ userdb sql {
286
+ iterate_query = SELECT username AS user FROM mailbox
287
+
288
+ # Use COALESCE(NULLIF(...)) to prevent empty value.
289
+ query = SELECT \
290
+ LOWER('%{user | lower}') AS master_user, \
291
+ LOWER(CONCAT(mailbox.storagebasedirectory, '/', mailbox.storagenode, '/', mailbox.maildir)) AS home, \
292
+ COALESCE(NULLIF(mailbox.mailboxformat, ''), 'maildir') AS mail_driver, \
293
+ CONCAT("~/", COALESCE(NULLIF(mailbox.mailboxfolder, ''), 'Maildir')) AS mail_path, \
294
+ mailbox.quota * 1048576 AS quota_storage_size \
295
+ FROM mailbox,domain \
296
+ WHERE mailbox.username='%{user | lower}' \
297
+ AND mailbox.domain='%{user | domain | lower}' \
298
+ AND mailbox.`enable%{protocol | lower}%{secured | lower}`=1 \
299
+ AND mailbox.domain=domain.domain \
300
+ AND domain.backupmx=0 \
301
+ AND domain.active=1 \
302
+ AND mailbox.active=1
303
+ }
304
+
305
+ passdb sql {
306
+ query = SELECT mailbox.password, mailbox.allow_nets \
307
+ FROM mailbox,domain \
308
+ WHERE mailbox.username='%{user | lower}' \
309
+ AND mailbox.`enable%{protocol | lower}%{secured | lower}`=1 \
310
+ AND mailbox.active=1 \
311
+ AND mailbox.domain=domain.domain \
312
+ AND domain.active=1
313
+ }
314
+
315
+ #
316
+ # Namespaces
317
+ #
318
+ namespace inbox {
319
+ type = private
320
+ separator = /
321
+ prefix =
322
+ inbox = yes
323
+
324
+ # Sent
325
+ mailbox Sent {
326
+ auto = subscribe
327
+ special_use = \Sent
328
+ }
329
+ mailbox "Sent Messages" {
330
+ auto = no
331
+ special_use = \Sent
332
+ }
333
+ mailbox "Sent Items" {
334
+ auto = no
335
+ special_use = \Sent
336
+ }
337
+
338
+ mailbox Drafts {
339
+ auto = subscribe
340
+ special_use = \Drafts
341
+ }
342
+
343
+ # Trash
344
+ mailbox Trash {
345
+ auto = subscribe
346
+ special_use = \Trash
347
+ }
348
+
349
+ mailbox "Deleted Messages" {
350
+ auto = no
351
+ special_use = \Trash
352
+ }
353
+
354
+ # Junk
355
+ mailbox Junk {
356
+ auto = subscribe
357
+ special_use = \Junk
358
+ fts_autoindex = no
359
+ }
360
+
361
+ mailbox Spam {
362
+ auto = no
363
+ special_use = \Junk
364
+ fts_autoindex = no
365
+ }
366
+
367
+ mailbox "Junk E-mail" {
368
+ auto = no
369
+ special_use = \Junk
370
+ fts_autoindex = no
371
+ }
372
+ }
373
+
374
+ namespace shared {
375
+ type = shared
376
+ separator = /
377
+ prefix = Shared/$user/
378
+ mail_driver = maildir
379
+ mail_path = %{owner_home}/Maildir
380
+ mail_index_private_path = ~/Maildir/shared/%{owner_user}
381
+ # not share the index files between users
382
+ mail_index_path = ~/Maildir/shared/%{owner_user}
383
+
384
+ # this namespace should handle its own subscriptions or not.
385
+ subscriptions = yes
386
+ list = children
387
+ }
388
+
389
+ # Public mailboxes.
390
+ # https://doc.dovecot.org/2.4.1/core/config/shared_mailboxes.html#public-shared-mailboxes
391
+ #namespace {
392
+ # type = public
393
+ # separator = /
394
+ # prefix = Public/
395
+ # mail_driver = maildir
396
+ # mail_path = /var/vmail/public
397
+ # subscriptions = no
398
+ #
399
+ # # Per-user \Seen Flag
400
+ # mail_index_private_path = ~/Maildir/public
401
+ #}
402
+
403
+ #
404
+ # Protocols
405
+ #
406
+ # Store METADATA information within user's Maildir directory
407
+ mail_attribute {
408
+ dict file {
409
+ path = ~/dovecot-attributes
410
+ }
411
+ }
412
+
413
+ # Avoid spending excessive time waiting for the quota calculation to finish
414
+ # when mails' vsizes aren't already cached. If this many mails are opened,
415
+ # finish the quota calculation on background in indexer-worker process. Mail
416
+ # deliveries will be assumed to succeed, and explicit quota lookups will
417
+ # return internal error.
418
+ protocol !indexer-worker {
419
+ mail_vsize_bg_after_count = 100
420
+ }
421
+
422
+ protocol imap {
423
+ mail_plugins {
424
+ imap_quota = yes
425
+ imap_acl = yes
426
+
427
+ # This will only enable support for administrator scripts.
428
+ imap_sieve = yes
429
+ last_login = yes
430
+ }
431
+
432
+ imap_client_workarounds = tb-extra-mailbox-sep
433
+ imap_metadata = yes
434
+ }
435
+
436
+ protocol pop3 {
437
+ mail_plugins {
438
+ last_login = yes
439
+ }
440
+
441
+ pop3_client_workarounds = outlook-no-nuls oe-ns-eoh
442
+ pop3_uidl_format = %{uid | hex(8)}%{uidvalidity | hex(8)}
443
+
444
+ # POP3 logout format string:
445
+ # %i - total number of bytes read from client
446
+ # %o - total number of bytes sent to client
447
+ # %t - number of TOP commands
448
+ # %p - number of bytes sent to client as a result of TOP command
449
+ # %r - number of RETR commands
450
+ # %b - number of bytes sent to client as a result of RETR command
451
+ # %d - number of deleted messages
452
+ # %m - number of messages (before deletion)
453
+ # %s - mailbox size in bytes (before deletion)
454
+ # Default format doesn't have 'in=%i, out=%o'.
455
+ #pop3_logout_format = top=%t/%p, retr=%r/%b, del=%d/%m, size=%s, in=%i, out=%o
456
+ }
457
+
458
+ protocol lda {
459
+ mail_plugins {
460
+ sieve = yes
461
+ last_login = yes
462
+ }
463
+
464
+ lda_mailbox_autocreate = yes
465
+ lda_mailbox_autosubscribe = yes
466
+ }
467
+
468
+ protocol lmtp {
469
+ mail_plugins {
470
+ sieve = yes
471
+ last_login = yes
472
+ }
473
+
474
+ # Address extension delivery
475
+ lmtp_save_to_detail_mailbox = yes
476
+ recipient_delimiter = +
477
+ }
478
+
479
+ #
480
+ # Services
481
+ #
482
+ # FYI: https://wiki2.dovecot.org/Authentication/Penalty
483
+ # Dovecot anvil process tracks authentication penalties for different IPs to
484
+ # slow down brute force login attempts.
485
+ service anvil {
486
+ # there can be only one master process.
487
+ #process_limit = 1
488
+
489
+ unix_listener anvil-auth-penalty {
490
+ user = PH_SYS_USER_VMAIL
491
+ group = PH_SYS_GROUP_VMAIL
492
+ # Set mode to 0 to completely disable penalty.
493
+ mode = 0660
494
+ }
495
+ }
496
+
497
+ service auth {
498
+ # should be large enough to handle all the simultaneous connections.
499
+ # Typically only login processes use long lasting auth connections, while
500
+ # other processes do only quick lookups and disconnect afterwards.
501
+ #client_limit = 4096
502
+
503
+ # there can be only one auth master process
504
+ #process_limit = 1
505
+
506
+ # Auth socket
507
+ unix_listener PH_POSTFIX_CHROOT_DIR/private/dovecot-auth {
508
+ user = PH_SYS_USER_VMAIL
509
+ group = PH_SYS_GROUP_VMAIL
510
+ mode = 0666
511
+ }
512
+
513
+ unix_listener auth-master {
514
+ user = PH_SYS_USER_VMAIL
515
+ group = PH_SYS_GROUP_VMAIL
516
+ mode = 0666
517
+ }
518
+
519
+ unix_listener auth-userdb {
520
+ user = PH_SYS_USER_VMAIL
521
+ group = PH_SYS_GROUP_VMAIL
522
+ mode = 0660
523
+ }
524
+ }
525
+
526
+ service dict {
527
+ unix_listener dict {
528
+ user = PH_SYS_USER_VMAIL
529
+ group = PH_SYS_GROUP_VMAIL
530
+ mode = 0660
531
+ }
532
+ }
533
+
534
+ # Login processes. Refer to Dovecot wiki for more details:
535
+ # http://wiki2.dovecot.org/LoginProcess
536
+ service imap-login {
537
+ # Maximum number of simultaneous client connections per process. Once this
538
+ # number of connections is received, the next incoming connection will
539
+ # prompt Dovecot to spawn another process.
540
+ # If set to 0, default_client_limit is used instead.
541
+ #client_limit = 0
542
+
543
+ # vsz_limit should be fine at its default 64MB value
544
+ #vsz_limit = 64M
545
+ inet_listener imap {
546
+ name = imap
547
+ port = 143
548
+ }
549
+
550
+ inet_listener imaps {
551
+ name = imaps
552
+ port = 993
553
+ ssl = yes
554
+ }
555
+ }
556
+
557
+ service imap {
558
+ #process_limit = 4096
559
+
560
+ # required by imap-hibernate
561
+ unix_listener imap-master {
562
+ user = PH_SYS_USER_VMAIL
563
+ group = PH_SYS_GROUP_VMAIL
564
+ mode = 0666
565
+ }
566
+ }
567
+
568
+ service pop3 {
569
+ #process_limit = 4096
570
+ }
571
+
572
+ # LMTP server (Local Mail Transfer Protocol).
573
+ # Reference: http://wiki2.dovecot.org/LMTP
574
+ service lmtp {
575
+ user = PH_DOVECOT_AUTH_USER
576
+
577
+ # For higher volume sites, it may be desirable to increase the number of
578
+ # active listener processes. A range of 5 to 20 is probably good for most
579
+ # sites.
580
+ process_min_avail = 5
581
+
582
+ # Logging.
583
+ # Require 'log_path =' in 'protocol lmtp {}' block.
584
+ executable = lmtp -L
585
+
586
+ # Listening on socket file and TCP
587
+ unix_listener PH_POSTFIX_CHROOT_DIR/private/dovecot-lmtp {
588
+ user = PH_SYS_USER_VMAIL
589
+ group = PH_SYS_GROUP_VMAIL
590
+ mode = 0666
591
+ }
592
+
593
+ inet_listener lmtp {
594
+ listen = PH_LMTP_BIND_ADDRESS
595
+ port = PH_LMTP_BIND_PORT
596
+ }
597
+ }
598
+
599
+ service managesieve-login {
600
+ inet_listener sieve {
601
+ listen = 127.0.0.1
602
+ port = 4190
603
+ }
604
+ }
605
+
606
+ service pop3-login {
607
+ #client_limit = 0
608
+ #process_limit = 0
609
+ #process_min_avail =
610
+
611
+ inet_listener pop3 {
612
+ name = pop3
613
+ port = 110
614
+ }
615
+
616
+ inet_listener pop3s {
617
+ name = pop3s
618
+ port = 995
619
+ ssl = yes
620
+ }
621
+ }
622
+
623
+ service quota-warning {
624
+ executable = script /usr/local/bin/dovecot-quota-warning.sh
625
+ user = PH_DOVECOT_AUTH_USER
626
+
627
+ unix_listener quota-warning {
628
+ user = PH_DOVECOT_AUTH_USER
629
+ group = PH_DOVECOT_AUTH_GROUP
630
+ mode = 0660
631
+ }
632
+ }
633
+
634
+ quota_status_success = DUNNO
635
+ quota_status_nouser = DUNNO
636
+ quota_status_overquota = "552 5.2.2 Mailbox is full"
637
+ service quota-status {
638
+ executable = quota-status -p postfix
639
+ inet_listener quota-status {
640
+ listen = 127.0.0.1
641
+ port = 12340
642
+ }
643
+ client_limit = 1
644
+ }
645
+
646
+ # quota plugin: count
647
+ # `count` driver doesn't have any additional parameters.
648
+ quota "User quota" {
649
+ }
650
+ # Allows message deliveries to exceed quota once by this amount.
651
+ # After the quota is already over the limit, the grace no longer applies.
652
+ quota_storage_grace = 30M
653
+
654
+ # Quota warning.
655
+ # Configure the highest limits first.
656
+ quota user {
657
+ warning warn-95 {
658
+ quota_storage_percentage = 95
659
+ execute quota-warning {
660
+ args = 95 %{user}
661
+ }
662
+ }
663
+ warning warn-90 {
664
+ quota_storage_percentage = 90
665
+ execute quota-warning {
666
+ args = 90 %{user}
667
+ }
668
+ }
669
+ warning warn-85 {
670
+ quota_storage_percentage = 85
671
+ execute quota-warning {
672
+ args = 85 %{user}
673
+ }
674
+ }
675
+ warning warn-under {
676
+ quota_storage_percentage = 100
677
+ # user is no longer over quota
678
+ threshold = under
679
+ execute quota-warning {
680
+ args = below %{user}
681
+ }
682
+ }
683
+ }
684
+
685
+ # plugin: quota_clone.
686
+ quota_clone {
687
+ dict proxy {
688
+ name = quota_clone
689
+ }
690
+ }
691
+
692
+ # The maximum number of redirect actions that can be performed during a single
693
+ # script execution.
694
+ sieve_max_redirects = 30
695
+
696
+ # Use recipient as vacation message sender instead of null sender (<>).
697
+ sieve_vacation_send_from_recipient = yes
698
+
699
+ # Specifies what envelope sender address is used for redirected messages.
700
+ # Requires pigeonhole v0.4.4+.
701
+ #
702
+ # Normally, the Sieve "redirect" command copies the sender address for the
703
+ # redirected message from the processed message. So, the redirected message
704
+ # appears to originate from the original sender.
705
+ sieve_redirect_envelope_from = recipient
706
+
707
+ sieve_duplicate_default_period = 1h
708
+ sieve_duplicate_max_period = 1d
709
+
710
+ sieve_script global {
711
+ type = global
712
+ driver = file
713
+ path = PH_SIEVE_DIR
714
+ }
715
+
716
+ sieve_script before {
717
+ type = before
718
+ driver = file
719
+ path = PH_GLOBAL_SIEVE_FILE
720
+ }
721
+
722
+ sieve_script personal {
723
+ type = personal
724
+ driver = file
725
+ path = ~/sieve/dovecot.sieve
726
+ }
727
+
728
+ # plugin: mail_log
729
+ # https://doc.dovecot.org/main/core/plugins/mail_log.html
730
+ mail_log_events = delete undelete expunge copy save mailbox_create mailbox_delete mailbox_rename
731
+ mail_log_fields = uid box msgid size from subject flags
732
+ #mail_log_cached_only = yes
733
+
734
+ # plugin: acl
735
+ # https://doc.dovecot.org/main/core/plugins/imap_acl.html
736
+ # ACL and share folder
737
+ acl_driver = vfile
738
+ acl_globals_only = no
739
+
740
+ acl_sharing_map {
741
+ dict proxy {
742
+ name = acl
743
+ }
744
+ }
745
+
746
+ # By default Dovecot doesn't allow using the IMAP "anyone" or
747
+ # "authenticated" identifier, because it would be an easy way to spam
748
+ # other users in the system. If you wish to allow it,
749
+ #imap_acl_allow_anyone = no
750
+
751
+ # plugin: last-login.
752
+ # https://doc.dovecot.org/main/core/plugins/last_login.html
753
+ last_login {
754
+ dict proxy {
755
+ name = lastlogin
756
+ }
757
+ key = last-login/%{service}/%{user}/%{user | domain}
758
+ }