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,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
+ }