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,456 @@
1
+ #---------------------------------------------------------------------
2
+ # This file is part of iRedMail, which is an open source mail server
3
+ # solution for Red Hat(R) Enterprise Linux, CentOS, Debian and Ubuntu.
4
+ #
5
+ # iRedMail is free software: you can redistribute it and/or modify
6
+ # it under the terms of the GNU General Public License as published by
7
+ # the Free Software Foundation, either version 3 of the License, or
8
+ # (at your option) any later version.
9
+ #
10
+ # iRedMail is distributed in the hope that it will be useful,
11
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ # GNU General Public License for more details.
14
+ #
15
+ # You should have received a copy of the GNU General Public License
16
+ # along with iRedMail. If not, see <http://www.gnu.org/licenses/>.
17
+ #---------------------------------------------------------------------
18
+
19
+ #
20
+ # This schema is shipped within iRedMail project:
21
+ # http://www.iredmail.org/
22
+ #
23
+ # It should be localed at:
24
+ # - RHEL/CentOS: /etc/openldap/schema/iredmail.schema
25
+ # - Debian: /etc/ldap/schema/iredmail.schema
26
+ # - FreeBSD: /usr/local/etc/openldap/schema/
27
+ #
28
+ #--------------------------------------------------------------------
29
+ # The offical iRedMail OID assigned by IANA is 32349, you can find it in url:
30
+ # http://www.iana.org/assignments/enterprise-numbers
31
+ #
32
+ # 1.3.6.1.4.1.32349 OID of iRedMail.org
33
+ # 1.3.6.1.4.1.32349.1 iRedMail
34
+ # 1.3.6.1.4.1.32349.1.2 iRedMail LDAP Elements
35
+ # 1.3.6.1.4.1.32349.1.2.1 AttributeTypes
36
+ # 1.3.6.1.4.1.32349.1.2.2 ObjectClasses
37
+ #--------------------------------------------------------------------
38
+ #
39
+ # This schema depends on:
40
+ # - core.schema
41
+ # - cosine.schema
42
+ #
43
+
44
+ #
45
+ # Mail Service: Domain related attributes.
46
+ #
47
+ attributetype ( 1.3.6.1.4.1.32349.1.2.1.1 NAME 'domainName'
48
+ DESC 'Virtual Domain Name'
49
+ EQUALITY caseIgnoreIA5Match
50
+ SUBSTR caseIgnoreSubstringsMatch
51
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{255}
52
+ SINGLE-VALUE )
53
+ attributetype ( 1.3.6.1.4.1.32349.1.2.1.2 NAME 'mtaTransport'
54
+ DESC 'Transport program for Postfix'
55
+ EQUALITY caseIgnoreIA5Match
56
+ SUBSTR caseIgnoreSubstringsMatch
57
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
58
+ SINGLE-VALUE )
59
+ # When updating 'accountStatus=' for mail domain, must update 'domainStatus'
60
+ # for all mail user/alias/list accounts.
61
+ attributetype ( 1.3.6.1.4.1.32349.1.2.1.3 NAME 'domainStatus'
62
+ DESC 'Domain status, used by mail user/alias/list, not by mail domain itself.'
63
+ EQUALITY caseIgnoreIA5Match
64
+ SUBSTR caseIgnoreSubstringsMatch
65
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
66
+ SINGLE-VALUE )
67
+ attributetype ( 1.3.6.1.4.1.32349.1.2.1.4 NAME 'domainAdmin'
68
+ DESC 'Domain admin'
69
+ EQUALITY caseIgnoreIA5Match
70
+ SUBSTR caseIgnoreSubstringsMatch
71
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{320} )
72
+ attributetype ( 1.3.6.1.4.1.32349.1.2.1.5 NAME 'domainGlobalAdmin'
73
+ DESC 'Site wide domin admin: yes'
74
+ EQUALITY caseIgnoreIA5Match
75
+ SUBSTR caseIgnoreSubstringsMatch
76
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
77
+ SINGLE-VALUE )
78
+ attributetype ( 1.3.6.1.4.1.32349.1.2.1.6 NAME 'domainBackupMX'
79
+ DESC 'Backup MX: yes, no'
80
+ EQUALITY caseIgnoreIA5Match
81
+ SUBSTR caseIgnoreSubstringsMatch
82
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
83
+ SINGLE-VALUE )
84
+ attributetype ( 1.3.6.1.4.1.32349.1.2.1.7 NAME 'domainSenderBccAddress'
85
+ DESC 'Sender BCC address for whole domain'
86
+ EQUALITY caseIgnoreIA5Match
87
+ SUBSTR caseIgnoreSubstringsMatch
88
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{320}
89
+ SINGLE-VALUE )
90
+ attributetype ( 1.3.6.1.4.1.32349.1.2.1.8 NAME 'domainRecipientBccAddress'
91
+ DESC 'Recipient BCC address for whole domain'
92
+ EQUALITY caseIgnoreIA5Match
93
+ SUBSTR caseIgnoreSubstringsMatch
94
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{320}
95
+ SINGLE-VALUE )
96
+ attributetype ( 1.3.6.1.4.1.32349.1.2.1.9 NAME 'domainMaxQuotaSize'
97
+ DESC 'Obsoleted. Max quota size limit for single domain'
98
+ EQUALITY integerMatch
99
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
100
+ SINGLE-VALUE )
101
+ attributetype ( 1.3.6.1.4.1.32349.1.2.1.10 NAME 'domainCurrentQuotaSize'
102
+ DESC 'Current quota size limit for single domain'
103
+ EQUALITY caseIgnoreIA5Match
104
+ SUBSTR caseIgnoreSubstringsMatch
105
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
106
+ SINGLE-VALUE )
107
+ attributetype ( 1.3.6.1.4.1.32349.1.2.1.11 NAME 'domainMaxUserNumber'
108
+ DESC 'Obsoleted. Max user number limit for single domain'
109
+ EQUALITY integerMatch
110
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
111
+ SINGLE-VALUE )
112
+ attributetype ( 1.3.6.1.4.1.32349.1.2.1.12 NAME 'domainCurrentUserNumber'
113
+ DESC 'Current user number limit for single domain'
114
+ EQUALITY integerMatch
115
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
116
+ SINGLE-VALUE )
117
+ attributetype ( 1.3.6.1.4.1.32349.1.2.1.13 NAME 'domainMaxAliasNumber'
118
+ DESC 'Obsoleted. Max alias number limit for single domain'
119
+ EQUALITY integerMatch
120
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
121
+ SINGLE-VALUE )
122
+ attributetype ( 1.3.6.1.4.1.32349.1.2.1.14 NAME 'domainCurrentAliasNumber'
123
+ DESC 'Current alias number limit for single domain'
124
+ EQUALITY integerMatch
125
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
126
+ SINGLE-VALUE )
127
+ attributetype ( 1.3.6.1.4.1.32349.1.2.1.15 NAME 'domainMaxListNumber'
128
+ DESC 'Obsoleted. Max mail list number limit for single domain'
129
+ EQUALITY integerMatch
130
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
131
+ SINGLE-VALUE )
132
+ attributetype ( 1.3.6.1.4.1.32349.1.2.1.16 NAME 'domainCurrentListNumber'
133
+ DESC 'Current mail list number limit for single domain'
134
+ EQUALITY integerMatch
135
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
136
+ SINGLE-VALUE )
137
+ attributetype ( 1.3.6.1.4.1.32349.1.2.1.17 NAME 'disclaimer'
138
+ DESC 'Disclaimer text'
139
+ EQUALITY caseIgnoreMatch
140
+ SUBSTR caseIgnoreSubstringsMatch
141
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
142
+ SINGLE-VALUE )
143
+ attributetype ( 1.3.6.1.4.1.32349.1.2.1.18 NAME 'domainDefaultUserQuota'
144
+ DESC 'Default quota for new user'
145
+ EQUALITY integerMatch
146
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
147
+ SINGLE-VALUE )
148
+ attributetype ( 1.3.6.1.4.1.32349.1.2.1.19 NAME 'domainAliasName'
149
+ DESC 'Domain Alias Name'
150
+ EQUALITY caseIgnoreIA5Match
151
+ SUBSTR caseIgnoreSubstringsMatch
152
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{255} )
153
+ attributetype ( 1.3.6.1.4.1.32349.1.2.1.20 NAME 'domainWhitelistIP'
154
+ DESC 'Whitelist IP address'
155
+ EQUALITY caseIgnoreIA5Match
156
+ SUBSTR caseIgnoreSubstringsMatch
157
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
158
+ attributetype ( 1.3.6.1.4.1.32349.1.2.1.21 NAME 'domainWhitelistSender'
159
+ DESC 'Whitelist sender address'
160
+ EQUALITY caseIgnoreIA5Match
161
+ SUBSTR caseIgnoreSubstringsMatch
162
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
163
+ attributetype ( 1.3.6.1.4.1.32349.1.2.1.22 NAME 'domainBlacklistIP'
164
+ DESC 'Blacklist IP address'
165
+ EQUALITY caseIgnoreIA5Match
166
+ SUBSTR caseIgnoreSubstringsMatch
167
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
168
+ attributetype ( 1.3.6.1.4.1.32349.1.2.1.23 NAME 'domainBlacklistSender'
169
+ DESC 'Blacklist sender address'
170
+ EQUALITY caseIgnoreIA5Match
171
+ SUBSTR caseIgnoreSubstringsMatch
172
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
173
+ attributetype ( 1.3.6.1.4.1.32349.1.2.1.24 NAME 'domainPendingAliasName'
174
+ DESC 'Pending alias domain name'
175
+ EQUALITY caseIgnoreIA5Match
176
+ SUBSTR caseIgnoreSubstringsMatch
177
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{255} )
178
+
179
+ #
180
+ # Mail Service: User related attributes.
181
+ #
182
+ attributetype ( 1.3.6.1.4.1.32349.1.2.2.1 NAME 'mailUID'
183
+ DESC 'UID of the user on the mailsystem'
184
+ EQUALITY integerMatch
185
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
186
+ SINGLE-VALUE )
187
+ attributetype ( 1.3.6.1.4.1.32349.1.2.2.2 NAME 'mailGID'
188
+ DESC 'GID of the user on the mailsystem'
189
+ EQUALITY integerMatch
190
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
191
+ SINGLE-VALUE )
192
+ attributetype ( 1.3.6.1.4.1.32349.1.2.2.3 NAME 'storageBaseDirectory'
193
+ DESC 'Path to mail storage base directory. Deprecated since iRedMail-0.9.8.'
194
+ EQUALITY caseExactIA5Match
195
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
196
+ SINGLE-VALUE )
197
+ attributetype ( 1.3.6.1.4.1.32349.1.2.2.4 NAME 'mailMessageStore'
198
+ DESC 'Path to the maildir/mbox on the mail system. Deprecated since iRedMail-0.9.8.'
199
+ EQUALITY caseExactIA5Match
200
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
201
+ SINGLE-VALUE )
202
+ attributetype ( 1.3.6.1.4.1.32349.1.2.2.5 NAME 'mailQuota'
203
+ DESC 'The amount of space the user can use until all further messages get bounced'
204
+ EQUALITY integerMatch
205
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
206
+ SINGLE-VALUE )
207
+ attributetype ( 1.3.6.1.4.1.32349.1.2.2.6 NAME 'mailQuotaMessageLimit'
208
+ DESC 'Quota limit in number of messages, 0 means unlimited'
209
+ EQUALITY integerMatch
210
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
211
+ SINGLE-VALUE )
212
+ attributetype ( 1.3.6.1.4.1.32349.1.2.2.7 NAME 'mailHost'
213
+ DESC 'On which mail server the messagestore of this user is located'
214
+ EQUALITY caseIgnoreIA5Match
215
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
216
+ SINGLE-VALUE )
217
+ attributetype ( 1.3.6.1.4.1.32349.1.2.2.8 NAME 'mailForwardingAddress'
218
+ DESC 'Address(es) to forward all incoming messages to.'
219
+ EQUALITY caseIgnoreIA5Match
220
+ SUBSTR caseIgnoreIA5SubstringsMatch
221
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{320} )
222
+ attributetype ( 1.3.6.1.4.1.32349.1.2.2.9 NAME 'accountStatus'
223
+ DESC 'The status of a user account: active, disabled'
224
+ EQUALITY caseIgnoreIA5Match
225
+ SUBSTR caseIgnoreSubstringsMatch
226
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
227
+ SINGLE-VALUE )
228
+ attributetype ( 1.3.6.1.4.1.32349.1.2.2.10 NAME 'userRecipientBccAddress'
229
+ DESC 'Recipient BCC address for single user: must be a valid email address'
230
+ EQUALITY caseIgnoreIA5Match
231
+ SUBSTR caseIgnoreSubstringsMatch
232
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{320}
233
+ SINGLE-VALUE )
234
+ attributetype ( 1.3.6.1.4.1.32349.1.2.2.11 NAME 'userSenderBccAddress'
235
+ DESC 'Sender BCC address for single user: must be a valid email address'
236
+ EQUALITY caseIgnoreIA5Match
237
+ SUBSTR caseIgnoreSubstringsMatch
238
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{320}
239
+ SINGLE-VALUE )
240
+ attributetype ( 1.3.6.1.4.1.32349.1.2.2.12 NAME 'backupMailAddress'
241
+ DESC 'Backup mail address, used to reset password or whatever'
242
+ EQUALITY caseIgnoreIA5Match
243
+ SUBSTR caseIgnoreSubstringsMatch
244
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{320}
245
+ SINGLE-VALUE )
246
+ attributetype ( 1.3.6.1.4.1.32349.1.2.2.13 NAME 'enabledService'
247
+ DESC 'Enabled service: mail, smtp, imap, pop3, deliver, forward, senderbcc, recipientbcc, displayedInGlobalAddressBook'
248
+ EQUALITY caseIgnoreIA5Match
249
+ SUBSTR caseIgnoreSubstringsMatch
250
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
251
+ attributetype ( 1.3.6.1.4.1.32349.1.2.2.14 NAME 'memberOfGroup'
252
+ DESC 'Group/List name which user belong to, MUST be a valid email address'
253
+ EQUALITY caseIgnoreIA5Match
254
+ SUBSTR caseIgnoreSubstringsMatch
255
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{320} )
256
+ attributetype ( 1.3.6.1.4.1.32349.1.2.2.18 NAME 'expiredDate'
257
+ DESC 'Account expired date in YYYYMMDDHHMMSSZ format. Sample: 20180323142122Z'
258
+ EQUALITY generalizedTimeMatch
259
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.24
260
+ SINGLE-VALUE )
261
+ attributetype ( 1.3.6.1.4.1.32349.1.2.2.19 NAME 'shadowAddress'
262
+ DESC 'Shadow address for mail user'
263
+ EQUALITY caseIgnoreIA5Match
264
+ SUBSTR caseIgnoreSubstringsMatch
265
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{320} )
266
+ attributetype ( 1.3.6.1.4.1.32349.1.2.2.20 NAME 'accountSetting'
267
+ DESC 'Account setting. Default format: var:value'
268
+ EQUALITY caseIgnoreIA5Match
269
+ SUBSTR caseIgnoreSubstringsMatch
270
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
271
+ attributetype ( 1.3.6.1.4.1.32349.1.2.2.21 NAME 'userManager'
272
+ DESC 'Mail address of manager'
273
+ EQUALITY caseIgnoreIA5Match
274
+ SUBSTR caseIgnoreSubstringsMatch
275
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{320} )
276
+ attributetype ( 1.3.6.1.4.1.32349.1.2.2.22 NAME 'mailWhitelistRecipient'
277
+ DESC 'Whitelist recipient'
278
+ EQUALITY caseIgnoreIA5Match
279
+ SUBSTR caseIgnoreSubstringsMatch
280
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
281
+ attributetype ( 1.3.6.1.4.1.32349.1.2.2.23 NAME 'mailBlacklistRecipient'
282
+ DESC 'Blacklist recipient'
283
+ EQUALITY caseIgnoreIA5Match
284
+ SUBSTR caseIgnoreSubstringsMatch
285
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
286
+ attributetype ( 1.3.6.1.4.1.32349.1.2.2.24 NAME 'disabledService'
287
+ DESC 'Disabled service names'
288
+ EQUALITY caseIgnoreIA5Match
289
+ SUBSTR caseIgnoreSubstringsMatch
290
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
291
+
292
+ # This is a comma separated list of IPs and/or networks where the user is
293
+ # allowed to log in from. If the user tries to log in elsewhere, the
294
+ # authentication will fail the same way as if a wrong password was given.
295
+ # Used in Dovecot LDAP query 'pass_attrs ='.
296
+ attributetype ( 1.3.6.1.4.1.32349.1.2.2.25 NAME 'allowNets'
297
+ DESC 'Allow user to log in from only specified IPs.'
298
+ EQUALITY caseIgnoreMatch
299
+ SUBSTR caseIgnoreSubstringsMatch
300
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{1024}
301
+ SINGLE-VALUE )
302
+
303
+ attributetype ( 1.3.6.1.4.1.32349.1.2.2.26 NAME 'senderRelayHost'
304
+ DESC 'Sender dependent relayhost'
305
+ EQUALITY caseIgnoreIA5Match
306
+ SUBSTR caseIgnoreSubstringsMatch
307
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{255}
308
+ SINGLE-VALUE )
309
+
310
+ attributetype ( 1.3.6.1.4.1.32349.1.2.2.27 NAME 'maxMessageSize'
311
+ DESC 'Max message size (in bytes)'
312
+ EQUALITY integerMatch
313
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
314
+ SINGLE-VALUE )
315
+
316
+ # Mailbox format.
317
+ # All formats supported by Dovecot are ok. e.g. maildir, mdbox.
318
+ # FYI: https://wiki2.dovecot.org/MailboxFormat
319
+ # Dovecot config file (/etc/dovecot/dovecot-ldap.conf) sets default value
320
+ # to 'maildir' if this attribute doesn't present.
321
+ attributetype ( 1.3.6.1.4.1.32349.1.2.2.28 NAME 'mailboxFormat'
322
+ DESC 'Mailbox format. All formats supported by Dovecot are ok. e.g. maildir, mdbox.'
323
+ EQUALITY caseIgnoreIA5Match
324
+ SUBSTR caseIgnoreSubstringsMatch
325
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{50}
326
+ SINGLE-VALUE )
327
+
328
+ # Mailbox folder name can be any folder name supported by Linux/BSD file system.
329
+ attributetype ( 1.3.6.1.4.1.32349.1.2.2.29 NAME 'mailboxFolder'
330
+ DESC 'Folder name appended to maildir path. e.g. Maildir, Mailbox.'
331
+ EQUALITY caseIgnoreIA5Match
332
+ SUBSTR caseIgnoreSubstringsMatch
333
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{50}
334
+ SINGLE-VALUE )
335
+
336
+ attributetype ( 1.3.6.1.4.1.32349.1.2.2.30 NAME 'recoveryEmail'
337
+ DESC 'Address used to receive email to recover password.'
338
+ EQUALITY caseIgnoreIA5Match
339
+ SUBSTR caseIgnoreSubstringsMatch
340
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{320}
341
+ SINGLE-VALUE )
342
+
343
+ attributetype ( 1.3.6.1.4.1.32349.1.2.2.31 NAME 'birthday'
344
+ DESC 'Birthday (in YYYY-MM-DD format).'
345
+ EQUALITY caseIgnoreIA5Match
346
+ SUBSTR caseIgnoreSubstringsMatch
347
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{10}
348
+ SINGLE-VALUE )
349
+
350
+ #
351
+ # Mail Service: Mail List related attributes.
352
+ #
353
+ attributetype ( 1.3.6.1.4.1.32349.1.2.3.1 NAME 'accessPolicy'
354
+ DESC 'Mail list access policy: open, domain, subdomain, moedratorsonly, memberOnly'
355
+ EQUALITY caseIgnoreIA5Match
356
+ SUBSTR caseIgnoreSubstringsMatch
357
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
358
+ SINGLE-VALUE )
359
+ attributetype ( 1.3.6.1.4.1.32349.1.2.3.2 NAME 'hasMember'
360
+ DESC 'Group has members: yes, no'
361
+ EQUALITY caseIgnoreIA5Match
362
+ SUBSTR caseIgnoreSubstringsMatch
363
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
364
+ SINGLE-VALUE )
365
+ attributetype ( 1.3.6.1.4.1.32349.1.2.3.3 NAME 'listAllowedUser'
366
+ DESC 'Addresses which are ALWAYS allowed to send email to mailing list'
367
+ EQUALITY caseIgnoreIA5Match
368
+ SUBSTR caseIgnoreSubstringsMatch
369
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{320} )
370
+ attributetype ( 1.3.6.1.4.1.32349.1.2.3.4 NAME 'listModerator'
371
+ DESC 'Moderator of mailing list'
372
+ EQUALITY caseIgnoreIA5Match
373
+ SUBSTR caseIgnoreSubstringsMatch
374
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{320} )
375
+ attributetype ( 1.3.6.1.4.1.32349.1.2.3.5 NAME 'listOwner'
376
+ DESC 'Owner of mailing list'
377
+ EQUALITY caseIgnoreIA5Match
378
+ SUBSTR caseIgnoreSubstringsMatch
379
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{320} )
380
+ attributetype ( 1.3.6.1.4.1.32349.1.2.3.6 NAME 'mailingListID'
381
+ DESC 'A server-wide unique id for each (mlmmj) mailing list'
382
+ EQUALITY caseIgnoreIA5Match
383
+ SUBSTR caseIgnoreSubstringsMatch
384
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{36} )
385
+
386
+ #
387
+ # Object Class Definitions
388
+ #
389
+ objectclass ( 1.3.6.1.4.1.32349.1.2.4.1 NAME 'mailDomain'
390
+ DESC 'Mail Domain' SUP top STRUCTURAL
391
+ MUST ( domainName )
392
+ MAY ( cn $ mtaTransport $ domainAdmin $
393
+ enabledService $ disabledService $
394
+ domainBackupMX $ accountStatus $ mailHost $
395
+ domainSenderBccAddress $ domainRecipientBccAddress $
396
+ domainMaxQuotaSize $ domainCurrentQuotaSize $
397
+ domainMaxUserNumber $ domainCurrentUserNumber $
398
+ domainMaxAliasNumber $ domainCurrentAliasNumber $
399
+ domainMaxListNumber $ domainCurrentListNumber $
400
+ domainDefaultUserQuota $ domainAliasName $ domainPendingAliasName $
401
+ disclaimer $ description $ street $ telephoneNumber $
402
+ facsimileTelephoneNumber $ expiredDate $ accountSetting $
403
+ domainWhitelistIP $ domainWhitelistSender $
404
+ domainBlacklistIP $ domainBlacklistSender $
405
+ preferredLanguage $ senderRelayHost ) )
406
+ objectclass ( 1.3.6.1.4.1.32349.1.2.4.2 NAME 'mailAdmin'
407
+ DESC 'Mail Domain Admin' SUP top STRUCTURAL
408
+ MUST ( mail )
409
+ MAY ( domainGlobalAdmin $ description $
410
+ enabledService $ disabledService $
411
+ userPassword $ accountStatus $ cn $ sn $
412
+ preferredLanguage $ givenName $ expiredDate $
413
+ mailHost $ accountSetting $ shadowLastChange ) )
414
+ objectclass ( 1.3.6.1.4.1.32349.1.2.4.3 NAME 'mailUser'
415
+ DESC 'Mail User' SUP top AUXILIARY
416
+ MUST ( mail $ uid )
417
+ MAY ( storageBaseDirectory $ mailMessageStore $ homeDirectory $
418
+ userPassword $ mailHost $ mailUID $ mailGID $
419
+ mailQuota $ mailQuotaMessageLimit $
420
+ mailForwardingAddress $ shadowAddress $ accountStatus $
421
+ userRecipientBccAddress $ userSenderBccAddress $
422
+ enabledService $ disabledService $
423
+ telephoneNumber $ backupMailAddress $
424
+ mtaTransport $ memberOfGroup $ expiredDate $
425
+ preferredLanguage $ disclaimer $ accountSetting $
426
+ title $ userManager $
427
+ mailWhitelistRecipient $ mailBlacklistRecipient $
428
+ domainGlobalAdmin $ allowNets $ senderRelayHost $
429
+ domainStatus $ maxMessageSize $ mailboxFormat $ mailboxFolder $
430
+ recoveryEmail $ birthday ) )
431
+ objectclass ( 1.3.6.1.4.1.32349.1.2.4.4 NAME 'mailAlias'
432
+ DESC 'Mail Alias Account' SUP top STRUCTURAL
433
+ MUST ( mail )
434
+ MAY ( accountStatus $ description $ cn $ memberOfGroup $
435
+ enabledService $ disabledService $
436
+ mailForwardingAddress $ shadowAddress $ expiredDate $
437
+ accountSetting $ mailHost $ domainStatus $
438
+ accessPolicy $ listModerator ) )
439
+
440
+ # Notes:
441
+ # - 'mtaTransport' and 'mailingListID' are used by mlmmj mailing list account
442
+ objectclass ( 1.3.6.1.4.1.32349.1.2.4.5 NAME 'mailList'
443
+ DESC 'Mailing List Account' SUP top STRUCTURAL
444
+ MUST ( mail )
445
+ MAY ( cn $ accountStatus $ description $ accessPolicy $ shadowAddress $
446
+ enabledService $ disabledService $ memberOfGroup $ hasMember $
447
+ listAllowedUser $ expiredDate $ accountSetting $ mailHost $
448
+ member $ uniqueMember $ memberUid $ gidNumber $ domainStatus $
449
+ listModerator $ listOwner $
450
+ mtaTransport $ mailinglistID $ maxMessageSize ) )
451
+ objectclass ( 1.3.6.1.4.1.32349.1.2.4.6 NAME 'mailExternalUser'
452
+ DESC 'Mail External User' SUP top STRUCTURAL
453
+ MUST ( memberOfGroup )
454
+ MAY ( cn $ accountStatus $ mail $ enabledService $ disabledService $
455
+ description $ mailHost $ accountSetting $ shadowAddress $
456
+ domainStatus ) )
@@ -0,0 +1,40 @@
1
+ -- Trigger required by Dovecot 2.3 quota dict.
2
+ CREATE OR REPLACE FUNCTION merge_quota() RETURNS TRIGGER AS $$
3
+ BEGIN
4
+ IF NEW.messages < 0 OR NEW.messages IS NULL THEN
5
+ -- ugly kludge: we came here from this function, really do try to insert
6
+ IF NEW.messages IS NULL THEN
7
+ NEW.messages = 0;
8
+ ELSE
9
+ NEW.messages = -NEW.messages;
10
+ END IF;
11
+ return NEW;
12
+ END IF;
13
+
14
+ LOOP
15
+ UPDATE used_quota
16
+ SET bytes = bytes + NEW.bytes, messages = messages + NEW.messages, domain=split_part(NEW.username, '@', 2)
17
+ WHERE username = NEW.username;
18
+ IF found THEN
19
+ RETURN NULL;
20
+ END IF;
21
+
22
+ BEGIN
23
+ IF NEW.messages = 0 THEN
24
+ INSERT INTO used_quota (bytes, messages, username, domain)
25
+ VALUES (NEW.bytes, NULL, NEW.username, split_part(NEW.username, '@', 2));
26
+ ELSE
27
+ INSERT INTO used_quota (bytes, messages, username, domain)
28
+ VALUES (NEW.bytes, -NEW.messages, NEW.username, split_part(NEW.username, '@', 2));
29
+ END IF;
30
+ return NULL;
31
+ EXCEPTION WHEN unique_violation THEN
32
+ -- someone just inserted the record, update it
33
+ END;
34
+ END LOOP;
35
+ END;
36
+ $$ LANGUAGE plpgsql;
37
+
38
+ CREATE OR REPLACE TRIGGER mergequota
39
+ BEFORE INSERT ON used_quota FOR EACH ROW
40
+ EXECUTE PROCEDURE merge_quota();
@@ -0,0 +1,18 @@
1
+ -- Dovecot 2.4 uses plugin `quota_clone` to store quota usage info in SQL db,
2
+ -- Dovecot 2.3 uses quota dict for that, triggers used by 2.3 does not work
3
+ -- in 2.4 anymore, and we just need trigger to set `used_quota.domain` in 2.4.
4
+
5
+ -- Remove trigger created for Dovecot 2.3.
6
+ DROP TRIGGER IF EXISTS mergequota ON used_quota;
7
+
8
+ CREATE OR REPLACE FUNCTION set_used_quota_domain() RETURNS TRIGGER AS $$
9
+ BEGIN
10
+ NEW.domain := split_part(LOWER(NEW.username), '@', 2);
11
+ RETURN NEW;
12
+ END;
13
+ $$ LANGUAGE plpgsql;
14
+
15
+ CREATE OR REPLACE TRIGGER used_quota_before_insert
16
+ BEFORE INSERT ON used_quota
17
+ FOR EACH ROW
18
+ EXECUTE PROCEDURE set_used_quota_domain();
@@ -0,0 +1,13 @@
1
+ PH_DOVECOT_LOG_DIR/*.log {
2
+ weekly
3
+ rotate 10
4
+ missingok
5
+ compress
6
+ delaycompress
7
+ notifempty
8
+ sharedscripts
9
+
10
+ postrotate
11
+ PH_SYSLOG_POSTROTATE_CMD
12
+ endscript
13
+ }
@@ -0,0 +1,13 @@
1
+ PH_IREDAPD_LOG_DIR/*.log {
2
+ weekly
3
+ rotate 10
4
+ missingok
5
+ compress
6
+ delaycompress
7
+ notifempty
8
+ sharedscripts
9
+
10
+ postrotate
11
+ PH_SYSLOG_POSTROTATE_CMD
12
+ endscript
13
+ }
@@ -0,0 +1,13 @@
1
+ PH_MLMMJADMIN_LOG_DIR/*.log {
2
+ weekly
3
+ rotate 10
4
+ missingok
5
+ compress
6
+ delaycompress
7
+ notifempty
8
+ sharedscripts
9
+
10
+ postrotate
11
+ PH_SYSLOG_POSTROTATE_CMD
12
+ endscript
13
+ }
@@ -0,0 +1,19 @@
1
+ PH_OPENLDAP_LOG_FILE {
2
+ compress
3
+ weekly
4
+ rotate 10
5
+ create 0600 PH_SYS_USER_LDAP PH_SYS_GROUP_LDAP
6
+ missingok
7
+ notifempty
8
+ sharedscripts
9
+
10
+ # Use bzip2 for compress.
11
+ #compresscmd bzip2
12
+ #uncompresscmd bunzip2
13
+ #compressoptions -9
14
+ #compressext .bz2
15
+
16
+ postrotate
17
+ PH_SYSLOG_POSTROTATE_CMD
18
+ endscript
19
+ }
@@ -0,0 +1,13 @@
1
+ PH_PHP_FPM_LOG_DIR/*.log {
2
+ weekly
3
+ rotate 10
4
+ missingok
5
+ compress
6
+ delaycompress
7
+ notifempty
8
+ sharedscripts
9
+
10
+ postrotate
11
+ PH_SYSLOG_POSTROTATE_CMD
12
+ endscript
13
+ }
@@ -0,0 +1,58 @@
1
+ schema "/etc/ldap/core.schema"
2
+ schema "/etc/ldap/inetorgperson.schema"
3
+ schema "/etc/ldap/nis.schema"
4
+ schema "/etc/ldap/amavisd.schema"
5
+ schema "/etc/ldap/iredmail.schema"
6
+
7
+ listen on lo0 secure
8
+ #listen on 127.0.0.1 secure
9
+ listen on "/var/run/ldapi"
10
+
11
+ namespace "PH_LDAP_SUFFIX" {
12
+ rootdn "PH_LDAP_ROOTDN"
13
+ rootpw "PH_LDAP_ROOTPW"
14
+
15
+ index objectClass
16
+ index accountStatus
17
+
18
+ index sn
19
+ index givenName
20
+ index cn
21
+ index mail
22
+ index uid
23
+ index shadowLastChange
24
+ index userSenderBccAddress
25
+ index userRecipientBccAddress
26
+
27
+ index domainName
28
+ index domainAliasName
29
+ index domainPendingAliasName
30
+ index domainAdmin
31
+ index domainGlobalAdmin
32
+ index domainBackupMX
33
+ index domainSenderBccAddress
34
+ index domainRecipientBccAddress
35
+ index domainStatus
36
+
37
+ index accessPolicy
38
+ index memberOfGroup
39
+ index member
40
+ index uniqueMember
41
+ index mailingListID
42
+
43
+ #
44
+ # Access policies
45
+ #
46
+ # Deny by default.
47
+ deny read,write access to subtree root by any
48
+
49
+ # Allow bind/read/write by self
50
+ allow read,write access to subtree root by self
51
+
52
+ # Read all mail accounts
53
+ allow read access to subtree "PH_LDAP_BASEDN" by "PH_LDAP_BINDDN"
54
+
55
+ # Allow to manage (read+write) mail accounts
56
+ allow read,write access to subtree "PH_LDAP_BASEDN" by "PH_LDAP_ADMIN_DN"
57
+ allow read,write access to subtree "PH_LDAP_ADMIN_BASEDN" by "PH_LDAP_ADMIN_DN"
58
+ }
@@ -0,0 +1,28 @@
1
+ # Basic PF rules for mail server.
2
+
3
+ mail_services="{www, https, smtp, submission, imap, imaps, pop3, pop3s, ssh}"
4
+
5
+ #table <spamd-white> persist
6
+ #table <nospamd> persist file "/etc/mail/nospamd"
7
+ #table <fail2ban> persist
8
+
9
+ # Options
10
+ set block-policy drop
11
+ set skip on lo
12
+
13
+ # Block all
14
+ block log all
15
+
16
+ # Fail2ban
17
+ #block in quick on egress proto tcp from <fail2ban> to any
18
+
19
+ pass out
20
+
21
+ # rules for spamd(8)
22
+ #pass in on egress proto tcp from any to any port smtp \
23
+ # divert-to 127.0.0.1 port spamd
24
+ #pass in on egress proto tcp from <nospamd> to any port smtp
25
+ #pass in log on egress proto tcp from <spamd-white> to any port smtp
26
+
27
+ # Access to other mail services
28
+ pass in on egress proto tcp from any to any port $mail_services
@@ -0,0 +1,3 @@
1
+ # Work around clients that send `RCPT TO:<'user@domain'>` (Outlook 2003/2007).
2
+ # WARNING: do not lose the parameters that follow the address.
3
+ /^(RCPT\s+TO:\s*<)'([^[:space:]]+)'(>.*)/ $1$2$3