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.
Files changed (318) hide show
  1. package/README.md +2 -24
  2. package/dist/bare-2HYDXQEH.js +23 -0
  3. package/dist/{bowser-MFQA6OS4.js → bowser-O3AEA6AN.js} +5 -1
  4. package/dist/{chunk-KD7VO4LG.js → chunk-2ZLR7ULL.js} +255 -65
  5. package/dist/{chunk-YHXCHW7Q.js → chunk-3JQTL4R4.js} +236 -99
  6. package/dist/{chunk-E77LJWJK.js → chunk-4TJC4JZQ.js} +20 -9
  7. package/dist/{chunk-YL67EWYZ.js → chunk-4Z5QO7N6.js} +6 -2
  8. package/dist/{chunk-WJPCBU7Z.js → chunk-5FNIWBFI.js} +10 -6
  9. package/dist/{chunk-Y37KHU7L.js → chunk-5MZ624VX.js} +5 -0
  10. package/dist/{chunk-QKFRZNKN.js → chunk-6APIPIJY.js} +8 -4
  11. package/dist/{chunk-JZLNHGLW.js → chunk-6APULWSU.js} +153 -133
  12. package/dist/{chunk-F4DFVG6Q.js → chunk-6B5YCFFV.js} +8 -4
  13. package/dist/{chunk-XVSAUO2I.js → chunk-AVIB7CT7.js} +5 -1
  14. package/dist/{chunk-TEYJYSMT.js → chunk-C5OHTYEF.js} +12 -6
  15. package/dist/{chunk-7UOB5GGQ.js → chunk-DYPH4HCI.js} +5 -0
  16. package/dist/{chunk-XIFRMKYT.js → chunk-EI575GHN.js} +6 -2
  17. package/dist/{chunk-4CQWT2WL.js → chunk-FPRHYBY2.js} +5 -0
  18. package/dist/chunk-FQGJZ2HS.js +248 -0
  19. package/dist/{chunk-JR2OCMJA.js → chunk-FRNAR33O.js} +6 -2
  20. package/dist/{chunk-JUJBBF5U.js → chunk-FXTBHTWY.js} +362 -42
  21. package/dist/chunk-ILFETZOM.js +131 -0
  22. package/dist/{chunk-5ZCKQ2MI.js → chunk-IXCHURVK.js} +7 -3
  23. package/dist/{chunk-6ERIMTBC.js → chunk-JYGD5WSN.js} +5 -0
  24. package/dist/{chunk-4VNS5WPM.js → chunk-KI2EY3WB.js} +4 -0
  25. package/dist/{chunk-3U4SPZD5.js → chunk-L2VOGB2X.js} +7 -104
  26. package/dist/{chunk-NB2VEIWG.js → chunk-MZ2WEHHY.js} +7 -3
  27. package/dist/{chunk-BUBSSKO6.js → chunk-O6ZZF52V.js} +5 -1
  28. package/dist/{chunk-LBFH7THC.js → chunk-OWED2GRM.js} +5 -1
  29. package/dist/{chunk-4MG3BVHE.js → chunk-OXWDY22G.js} +6 -2
  30. package/dist/{chunk-4FABQGQP.js → chunk-Q2CIRAOK.js} +5 -0
  31. package/dist/{chunk-4LEL3H2Z.js → chunk-RPHRPFEH.js} +5 -0
  32. package/dist/{chunk-46YJFP4S.js → chunk-SQ77DZOI.js} +1728 -1484
  33. package/dist/{chunk-S6DSRLNE.js → chunk-TGIINPVM.js} +15 -2
  34. package/dist/{chunk-U2DPZSXA.js → chunk-TYVME3XD.js} +9 -1
  35. package/dist/{chunk-HFYDYK4D.js → chunk-V6AN6XLZ.js} +18 -6
  36. package/dist/{chunk-ZKJOFWBJ.js → chunk-VDMQJHPI.js} +38 -15
  37. package/dist/{chunk-E6W2JMMU.js → chunk-VFINNTUL.js} +22 -1
  38. package/dist/{chunk-OJE6YWPQ.js → chunk-VWPEKOH6.js} +6 -2
  39. package/dist/{chunk-5N7VUGL6.js → chunk-W73X43R7.js} +6 -2
  40. package/dist/cloud-7QYOGF7F.js +11 -0
  41. package/dist/cloud-ZSKOS4GY.js +30 -0
  42. package/dist/detect-SH4FHFBI.js +36 -0
  43. package/dist/{dist-L3MPOWCA.js → dist-IQJ6H6UZ.js} +6 -2
  44. package/dist/{dist-es-KE56MWYO.js → dist-es-5DY7K32L.js} +9 -5
  45. package/dist/dist-es-JSTDUS7Q.js +26 -0
  46. package/dist/{dist-es-GTAMF674.js → dist-es-OSNJBLXB.js} +8 -4
  47. package/dist/{dist-es-NRZIQY5B.js → dist-es-RYHIPOTN.js} +17 -13
  48. package/dist/{dist-es-XQCOTGC7.js → dist-es-VNKHQVIB.js} +7 -3
  49. package/dist/{dist-es-WZCR7DHQ.js → dist-es-WV4AMOII.js} +11 -7
  50. package/dist/{dist-es-ZW3HFQUM.js → dist-es-X3B5QYKB.js} +9 -5
  51. package/dist/docker-U7AF5PTA.js +16 -0
  52. package/dist/docker-edge-executor-VHW3JPJS.js +13 -0
  53. package/dist/edge-import-V5CBA47C.js +45 -0
  54. package/dist/ensure-container-edge-CMYROUSI.js +33 -0
  55. package/dist/{event-streams-7LGDL56D.js → event-streams-EHRAKL75.js} +7 -3
  56. package/dist/executor-YPT6RH6O.js +30 -0
  57. package/dist/index.d.ts +2 -1
  58. package/dist/index.js +258 -245
  59. package/dist/{loadSso-N273C5I7.js → loadSso-46FQRIZS.js} +13 -9
  60. package/dist/local-executor-V7U5VOZW.js +12 -0
  61. package/dist/nginx-2GTRUIDE.js +24 -0
  62. package/dist/noop-FMMFG2EZ.js +11 -0
  63. package/dist/{openresty-lua-HAO4EUDY.js → openresty-lua-4WLGDSER.js} +13 -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 +55574 -53675
  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-HQIZLUOJ.js +20 -0
  304. package/dist/{signin-DR462ERO.js → signin-ITOPKKUB.js} +13 -9
  305. package/dist/{sso-oidc-VBZLJUK5.js → sso-oidc-NON2PD7Y.js} +13 -9
  306. package/dist/{sts-EJLZ4Z77.js → sts-HHFFSAY2.js} +12 -8
  307. package/package.json +1 -1
  308. package/dist/bare-ITM45QBX.js +0 -18
  309. package/dist/cloud-JMPHO3CW.js +0 -7
  310. package/dist/cloud-W5G6YXAY.js +0 -24
  311. package/dist/dist-es-4C322O5D.js +0 -22
  312. package/dist/docker-3FVJMFC3.js +0 -12
  313. package/dist/docker-edge-executor-ZIWAZWPL.js +0 -9
  314. package/dist/edge-import-Y34YL6JK.js +0 -39
  315. package/dist/executor-J7BHW5HF.js +0 -26
  316. package/dist/nginx-YZWKYKQU.js +0 -16
  317. package/dist/noop-RRNCIUI5.js +0 -7
  318. package/dist/setup-5X3WEEHA.js +0 -14
@@ -0,0 +1,762 @@
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 = pgsql
160
+
161
+ pgsql PH_SQL_SERVER_ADDRESS {
162
+ # Maximum number of parallel connections. Default is 5.
163
+ connection_limit = 20
164
+ host = PH_SQL_SERVER_ADDRESS
165
+ parameters {
166
+ port = PH_SQL_SERVER_PORT
167
+ dbname = PH_VMAIL_DB_NAME
168
+ user = PH_VMAIL_DB_ADMIN_USER
169
+ password = PH_VMAIL_DB_ADMIN_PASSWD
170
+ }
171
+ }
172
+
173
+
174
+ dict_server {
175
+ dict quota_clone {
176
+ driver = sql
177
+
178
+ dict_map priv/quota/messages {
179
+ sql_table = used_quota
180
+ username_field = username
181
+ value_field messages {
182
+ }
183
+ }
184
+
185
+ dict_map priv/quota/storage {
186
+ sql_table = used_quota
187
+ username_field = username
188
+ value_field bytes {
189
+ }
190
+ }
191
+ }
192
+
193
+ dict acl {
194
+ driver = sql
195
+
196
+ dict_map shared/shared-boxes/user/$to/$from {
197
+ sql_table = share_folder
198
+ value_field dummy {
199
+ }
200
+
201
+ key_field from_user {
202
+ value = $from
203
+ }
204
+ key_field to_user {
205
+ value = $to
206
+ }
207
+ }
208
+
209
+ dict_map shared/shared-boxes/anyone/$from {
210
+ sql_table = anyone_shares
211
+ value_field dummy {
212
+ }
213
+
214
+ key_field from_user {
215
+ value = $from
216
+ }
217
+ }
218
+ }
219
+
220
+
221
+ dict lastlogin {
222
+ driver = sql
223
+
224
+ dict_map shared/last-login/imap/$user/$domain {
225
+ sql_table = last_login
226
+ value_field imap {
227
+ type = uint
228
+ }
229
+
230
+ key_field username {
231
+ value = $user
232
+ }
233
+
234
+ key_field domain {
235
+ value = $domain
236
+ }
237
+ }
238
+
239
+ dict_map shared/last-login/pop3/$user/$domain {
240
+ sql_table = last_login
241
+ value_field pop3 {
242
+ type = uint
243
+ }
244
+
245
+ key_field username {
246
+ value = $user
247
+ }
248
+
249
+ key_field domain {
250
+ value = $domain
251
+ }
252
+ }
253
+
254
+ dict_map shared/last-login/lda/$user/$domain {
255
+ sql_table = last_login
256
+ value_field lda {
257
+ type = uint
258
+ }
259
+
260
+ key_field username {
261
+ value = $user
262
+ }
263
+
264
+ key_field domain {
265
+ value = $domain
266
+ }
267
+ }
268
+
269
+ # Treat lmtp as lda
270
+ dict_map shared/last-login/lmtp/$user/$domain {
271
+ sql_table = last_login
272
+ value_field lda {
273
+ type = uint
274
+ }
275
+
276
+ key_field username {
277
+ value = $user
278
+ }
279
+
280
+ key_field domain {
281
+ value = $domain
282
+ }
283
+ }
284
+ }
285
+ }
286
+
287
+ #
288
+ # Virtual mail accounts.
289
+ #
290
+
291
+ userdb sql {
292
+ iterate_query = SELECT username AS user FROM mailbox
293
+ query = SELECT \
294
+ '%{user | lower}' AS master_user, \
295
+ LOWER(CONCAT(mailbox.storagebasedirectory, '/', mailbox.storagenode, '/', mailbox.maildir)) AS home, \
296
+ COALESCE(NULLIF(mailbox.mailboxformat, ''), 'maildir') AS mail_driver, \
297
+ CONCAT('~/', COALESCE(NULLIF(mailbox.mailboxfolder, ''), 'Maildir')) AS mail_path, \
298
+ mailbox.quota * 1048576 AS quota_storage_size \
299
+ FROM mailbox,domain \
300
+ WHERE mailbox.username='%{user | lower}' \
301
+ AND mailbox.domain='%{user | domain | lower}' \
302
+ AND mailbox."enable%{protocol | lower }%{secured | lower}"=1 \
303
+ AND mailbox.domain=domain.domain \
304
+ AND domain.backupmx=0 \
305
+ AND domain.active=1 \
306
+ AND mailbox.active=1
307
+ }
308
+
309
+ passdb sql {
310
+ query = SELECT mailbox.password, mailbox.allow_nets \
311
+ FROM mailbox,domain \
312
+ WHERE mailbox.username='%{user | lower}' \
313
+ AND mailbox."enable%{protocol | lower}%{secured | lower}"=1 \
314
+ AND mailbox.active=1 \
315
+ AND mailbox.domain=domain.domain \
316
+ AND domain.active=1
317
+ }
318
+
319
+ #
320
+ # Namespaces
321
+ #
322
+ namespace inbox {
323
+ type = private
324
+ separator = /
325
+ prefix =
326
+ inbox = yes
327
+
328
+ # Sent
329
+ mailbox Sent {
330
+ auto = subscribe
331
+ special_use = \Sent
332
+ }
333
+ mailbox "Sent Messages" {
334
+ auto = no
335
+ special_use = \Sent
336
+ }
337
+ mailbox "Sent Items" {
338
+ auto = no
339
+ special_use = \Sent
340
+ }
341
+
342
+ mailbox Drafts {
343
+ auto = subscribe
344
+ special_use = \Drafts
345
+ }
346
+
347
+ # Trash
348
+ mailbox Trash {
349
+ auto = subscribe
350
+ special_use = \Trash
351
+ }
352
+
353
+ mailbox "Deleted Messages" {
354
+ auto = no
355
+ special_use = \Trash
356
+ }
357
+
358
+ # Junk
359
+ mailbox Junk {
360
+ auto = subscribe
361
+ special_use = \Junk
362
+ fts_autoindex = no
363
+ }
364
+
365
+ mailbox Spam {
366
+ auto = no
367
+ special_use = \Junk
368
+ fts_autoindex = no
369
+ }
370
+
371
+ mailbox "Junk E-mail" {
372
+ auto = no
373
+ special_use = \Junk
374
+ fts_autoindex = no
375
+ }
376
+ }
377
+
378
+ namespace shared {
379
+ type = shared
380
+ separator = /
381
+ prefix = Shared/$user/
382
+ mail_driver = maildir
383
+ mail_path = %{owner_home}/Maildir
384
+ mail_index_private_path = ~/Maildir/shared/%{owner_user}
385
+ # not share the index files between users
386
+ mail_index_path = ~/Maildir/shared/%{owner_user}
387
+
388
+ # this namespace should handle its own subscriptions or not.
389
+ subscriptions = yes
390
+ list = children
391
+ }
392
+
393
+ # Public mailboxes.
394
+ # https://doc.dovecot.org/2.4.1/core/config/shared_mailboxes.html#public-shared-mailboxes
395
+ #namespace {
396
+ # type = public
397
+ # separator = /
398
+ # prefix = Public/
399
+ # mail_driver = maildir
400
+ # mail_path = /var/vmail/public
401
+ # subscriptions = no
402
+ #
403
+ # # Per-user \Seen Flag
404
+ # mail_index_private_path = ~/Maildir/public
405
+ #}
406
+
407
+ #
408
+ # Protocols
409
+ #
410
+ # Store METADATA information within user's Maildir directory
411
+ mail_attribute {
412
+ dict file {
413
+ path = ~/dovecot-attributes
414
+ }
415
+ }
416
+
417
+ # Avoid spending excessive time waiting for the quota calculation to finish
418
+ # when mails' vsizes aren't already cached. If this many mails are opened,
419
+ # finish the quota calculation on background in indexer-worker process. Mail
420
+ # deliveries will be assumed to succeed, and explicit quota lookups will
421
+ # return internal error.
422
+ protocol !indexer-worker {
423
+ mail_vsize_bg_after_count = 100
424
+ }
425
+
426
+ protocol imap {
427
+ mail_plugins {
428
+ imap_quota = yes
429
+ imap_acl = yes
430
+
431
+ # This will only enable support for administrator scripts.
432
+ imap_sieve = yes
433
+ last_login = yes
434
+ }
435
+
436
+ imap_client_workarounds = tb-extra-mailbox-sep
437
+ imap_metadata = yes
438
+ }
439
+
440
+ protocol pop3 {
441
+ mail_plugins {
442
+ last_login = yes
443
+ }
444
+
445
+ pop3_client_workarounds = outlook-no-nuls oe-ns-eoh
446
+ pop3_uidl_format = %{uid | hex(8)}%{uidvalidity | hex(8)}
447
+
448
+ # POP3 logout format string:
449
+ # %i - total number of bytes read from client
450
+ # %o - total number of bytes sent to client
451
+ # %t - number of TOP commands
452
+ # %p - number of bytes sent to client as a result of TOP command
453
+ # %r - number of RETR commands
454
+ # %b - number of bytes sent to client as a result of RETR command
455
+ # %d - number of deleted messages
456
+ # %m - number of messages (before deletion)
457
+ # %s - mailbox size in bytes (before deletion)
458
+ # Default format doesn't have 'in=%i, out=%o'.
459
+ #pop3_logout_format = top=%t/%p, retr=%r/%b, del=%d/%m, size=%s, in=%i, out=%o
460
+ }
461
+
462
+ protocol lda {
463
+ mail_plugins {
464
+ sieve = yes
465
+ last_login = yes
466
+ }
467
+
468
+ lda_mailbox_autocreate = yes
469
+ lda_mailbox_autosubscribe = yes
470
+ }
471
+
472
+ protocol lmtp {
473
+ mail_plugins {
474
+ sieve = yes
475
+ last_login = yes
476
+ }
477
+
478
+ # Address extension delivery
479
+ lmtp_save_to_detail_mailbox = yes
480
+ recipient_delimiter = +
481
+ }
482
+
483
+ #
484
+ # Services
485
+ #
486
+ # FYI: https://wiki2.dovecot.org/Authentication/Penalty
487
+ # Dovecot anvil process tracks authentication penalties for different IPs to
488
+ # slow down brute force login attempts.
489
+ service anvil {
490
+ # there can be only one master process.
491
+ #process_limit = 1
492
+
493
+ unix_listener anvil-auth-penalty {
494
+ user = PH_SYS_USER_VMAIL
495
+ group = PH_SYS_GROUP_VMAIL
496
+ # Set mode to 0 to completely disable penalty.
497
+ mode = 0660
498
+ }
499
+ }
500
+
501
+ service auth {
502
+ # should be large enough to handle all the simultaneous connections.
503
+ # Typically only login processes use long lasting auth connections, while
504
+ # other processes do only quick lookups and disconnect afterwards.
505
+ #client_limit = 4096
506
+
507
+ # there can be only one auth master process
508
+ #process_limit = 1
509
+
510
+ # Auth socket
511
+ unix_listener PH_POSTFIX_CHROOT_DIR/private/dovecot-auth {
512
+ user = PH_SYS_USER_VMAIL
513
+ group = PH_SYS_GROUP_VMAIL
514
+ mode = 0666
515
+ }
516
+
517
+ unix_listener auth-master {
518
+ user = PH_SYS_USER_VMAIL
519
+ group = PH_SYS_GROUP_VMAIL
520
+ mode = 0666
521
+ }
522
+
523
+ unix_listener auth-userdb {
524
+ user = PH_SYS_USER_VMAIL
525
+ group = PH_SYS_GROUP_VMAIL
526
+ mode = 0660
527
+ }
528
+ }
529
+
530
+ service dict {
531
+ unix_listener dict {
532
+ user = PH_SYS_USER_VMAIL
533
+ group = PH_SYS_GROUP_VMAIL
534
+ mode = 0660
535
+ }
536
+ }
537
+
538
+ # Login processes. Refer to Dovecot wiki for more details:
539
+ # http://wiki2.dovecot.org/LoginProcess
540
+ service imap-login {
541
+ # Maximum number of simultaneous client connections per process. Once this
542
+ # number of connections is received, the next incoming connection will
543
+ # prompt Dovecot to spawn another process.
544
+ # If set to 0, default_client_limit is used instead.
545
+ #client_limit = 0
546
+
547
+ # vsz_limit should be fine at its default 64MB value
548
+ #vsz_limit = 64M
549
+ inet_listener imap {
550
+ name = imap
551
+ port = 143
552
+ }
553
+
554
+ inet_listener imaps {
555
+ name = imaps
556
+ port = 993
557
+ ssl = yes
558
+ }
559
+ }
560
+
561
+ service imap {
562
+ #process_limit = 4096
563
+
564
+ # required by imap-hibernate
565
+ unix_listener imap-master {
566
+ user = PH_SYS_USER_VMAIL
567
+ group = PH_SYS_GROUP_VMAIL
568
+ mode = 0666
569
+ }
570
+ }
571
+
572
+ service pop3 {
573
+ #process_limit = 4096
574
+ }
575
+
576
+ # LMTP server (Local Mail Transfer Protocol).
577
+ # Reference: http://wiki2.dovecot.org/LMTP
578
+ service lmtp {
579
+ user = PH_SYS_USER_VMAIL
580
+
581
+ # For higher volume sites, it may be desirable to increase the number of
582
+ # active listener processes. A range of 5 to 20 is probably good for most
583
+ # sites.
584
+ process_min_avail = 5
585
+
586
+ # Logging.
587
+ # Require 'log_path =' in 'protocol lmtp {}' block.
588
+ executable = lmtp -L
589
+
590
+ # Listening on socket file and TCP
591
+ unix_listener PH_POSTFIX_CHROOT_DIR/private/dovecot-lmtp {
592
+ user = PH_SYS_USER_VMAIL
593
+ group = PH_SYS_GROUP_VMAIL
594
+ mode = 0666
595
+ }
596
+
597
+ inet_listener lmtp {
598
+ listen = PH_LMTP_BIND_ADDRESS
599
+ port = PH_LMTP_BIND_PORT
600
+ }
601
+ }
602
+
603
+ service managesieve-login {
604
+ inet_listener sieve {
605
+ listen = 127.0.0.1
606
+ port = 4190
607
+ }
608
+ }
609
+
610
+ service pop3-login {
611
+ #client_limit = 0
612
+ #process_limit = 0
613
+ #process_min_avail =
614
+
615
+ inet_listener pop3 {
616
+ name = pop3
617
+ port = 110
618
+ }
619
+
620
+ inet_listener pop3s {
621
+ name = pop3s
622
+ port = 995
623
+ ssl = yes
624
+ }
625
+ }
626
+
627
+ service quota-warning {
628
+ executable = script /usr/local/bin/dovecot-quota-warning.sh
629
+ user = PH_SYS_USER_VMAIL
630
+
631
+ unix_listener quota-warning {
632
+ user = PH_SYS_USER_VMAIL
633
+ group = PH_SYS_GROUP_VMAIL
634
+ mode = 0660
635
+ }
636
+ }
637
+
638
+ quota_status_success = DUNNO
639
+ quota_status_nouser = DUNNO
640
+ quota_status_overquota = "552 5.2.2 Mailbox is full"
641
+ service quota-status {
642
+ executable = quota-status -p postfix
643
+ inet_listener quota-status {
644
+ listen = 127.0.0.1
645
+ port = 12340
646
+ }
647
+ client_limit = 1
648
+ }
649
+
650
+ # quota plugin: count
651
+ # `count` driver doesn't have any additional parameters.
652
+ quota "User quota" {
653
+ }
654
+ # Allows message deliveries to exceed quota once by this amount.
655
+ # After the quota is already over the limit, the grace no longer applies.
656
+ quota_storage_grace = 30M
657
+
658
+ # Quota warning.
659
+ # Configure the highest limits first.
660
+ quota user {
661
+ warning warn-95 {
662
+ quota_storage_percentage = 95
663
+ execute quota-warning {
664
+ args = 95 %{user}
665
+ }
666
+ }
667
+ warning warn-90 {
668
+ quota_storage_percentage = 90
669
+ execute quota-warning {
670
+ args = 90 %{user}
671
+ }
672
+ }
673
+ warning warn-85 {
674
+ quota_storage_percentage = 85
675
+ execute quota-warning {
676
+ args = 85 %{user}
677
+ }
678
+ }
679
+ warning warn-under {
680
+ quota_storage_percentage = 100
681
+ # user is no longer over quota
682
+ threshold = under
683
+ execute quota-warning {
684
+ args = below %{user}
685
+ }
686
+ }
687
+ }
688
+
689
+ # plugin: quota_clone.
690
+ quota_clone {
691
+ dict proxy {
692
+ name = quota_clone
693
+ }
694
+ }
695
+
696
+ # The maximum number of redirect actions that can be performed during a single
697
+ # script execution.
698
+ sieve_max_redirects = 30
699
+
700
+ # Use recipient as vacation message sender instead of null sender (<>).
701
+ sieve_vacation_send_from_recipient = yes
702
+
703
+ # Specifies what envelope sender address is used for redirected messages.
704
+ # Requires pigeonhole v0.4.4+.
705
+ #
706
+ # Normally, the Sieve "redirect" command copies the sender address for the
707
+ # redirected message from the processed message. So, the redirected message
708
+ # appears to originate from the original sender.
709
+ sieve_redirect_envelope_from = recipient
710
+
711
+ sieve_duplicate_default_period = 1h
712
+ sieve_duplicate_max_period = 1d
713
+
714
+ sieve_script global {
715
+ type = global
716
+ driver = file
717
+ path = PH_SIEVE_DIR
718
+ }
719
+
720
+ sieve_script before {
721
+ type = before
722
+ driver = file
723
+ path = PH_GLOBAL_SIEVE_FILE
724
+ }
725
+
726
+ sieve_script personal {
727
+ type = personal
728
+ driver = file
729
+ path = ~/sieve/dovecot.sieve
730
+ }
731
+
732
+ # plugin: mail_log
733
+ # https://doc.dovecot.org/main/core/plugins/mail_log.html
734
+ mail_log_events = delete undelete expunge copy save mailbox_create mailbox_delete mailbox_rename
735
+ mail_log_fields = uid box msgid size from subject flags
736
+ #mail_log_cached_only = yes
737
+
738
+ # plugin: acl
739
+ # https://doc.dovecot.org/main/core/plugins/imap_acl.html
740
+ # ACL and share folder
741
+ acl_driver = vfile
742
+ acl_globals_only = no
743
+
744
+ acl_sharing_map {
745
+ dict proxy {
746
+ name = acl
747
+ }
748
+ }
749
+
750
+ # By default Dovecot doesn't allow using the IMAP "anyone" or
751
+ # "authenticated" identifier, because it would be an easy way to spam
752
+ # other users in the system. If you wish to allow it,
753
+ #imap_acl_allow_anyone = no
754
+
755
+ # plugin: last-login.
756
+ # https://doc.dovecot.org/main/core/plugins/last_login.html
757
+ last_login {
758
+ dict proxy {
759
+ name = lastlogin
760
+ }
761
+ key = last-login/%{service}/%{user}/%{user | domain}
762
+ }