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,100 @@
1
+ #!/usr/bin/env bash
2
+
3
+ # Author: Zhang Huangbin (zhb _at_ iredmail.org)
4
+
5
+ #---------------------------------------------------------------------
6
+ # This file is part of iRedMail, which is an open source mail server
7
+ # solution for Red Hat(R) Enterprise Linux, CentOS, Debian and Ubuntu.
8
+ #
9
+ # iRedMail is free software: you can redistribute it and/or modify
10
+ # it under the terms of the GNU General Public License as published by
11
+ # the Free Software Foundation, either version 3 of the License, or
12
+ # (at your option) any later version.
13
+ #
14
+ # iRedMail is distributed in the hope that it will be useful,
15
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
16
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17
+ # GNU General Public License for more details.
18
+ #
19
+ # You should have received a copy of the GNU General Public License
20
+ # along with iRedMail. If not, see <http://www.gnu.org/licenses/>.
21
+ #---------------------------------------------------------------------
22
+
23
+ # --------------------------------------------
24
+ # ClamAV.
25
+ # --------------------------------------------
26
+
27
+ clamav_config()
28
+ {
29
+ ECHO_INFO "Configure ClamAV (anti-virus toolkit)."
30
+ backup_file ${CLAMD_CONF} ${FRESHCLAM_CONF}
31
+
32
+ if [ X"${DISTRO}" == X'OPENBSD' ]; then
33
+ perl -pi -e 's/^(Example)/#${1}/' ${CLAMD_CONF} ${FRESHCLAM_CONF}
34
+ mkdir /var/log/clamav
35
+ chown ${SYS_USER_CLAMAV}:${SYS_GROUP_CLAMAV} /var/log/clamav
36
+ fi
37
+
38
+ [ -f ${FRESHCLAM_CONF} ] && perl -pi -e 's#^Example##' ${FRESHCLAM_CONF}
39
+
40
+ export CLAMD_LOCAL_SOCKET CLAMD_BIND_HOST
41
+ ECHO_DEBUG "Configure ClamAV: ${CLAMD_CONF}."
42
+ perl -pi -e 's/^(TCPSocket .*)/#${1}/' ${CLAMD_CONF}
43
+ perl -pi -e 's#^(TCPAddr ).*#${1} $ENV{CLAMD_BIND_HOST}#' ${CLAMD_CONF}
44
+
45
+ # Disable log file
46
+ perl -pi -e 's/^(LogFile .*)/#${1}/' ${CLAMD_CONF}
47
+
48
+ # Set CLAMD_LOCAL_SOCKET
49
+ perl -pi -e 's/^(LocalSocket ).*/${1}$ENV{CLAMD_LOCAL_SOCKET}/' ${CLAMD_CONF}
50
+ perl -pi -e 's/^#(LocalSocket ).*/${1}$ENV{CLAMD_LOCAL_SOCKET}/' ${CLAMD_CONF}
51
+
52
+ ECHO_DEBUG "Configure freshclam: ${FRESHCLAM_CONF}."
53
+ perl -pi -e 's#^(UpdateLogFile ).*#${1}$ENV{FRESHCLAM_LOGFILE}#' ${FRESHCLAM_CONF}
54
+
55
+ # Official database only
56
+ perl -pi -e 's/^#(OfficialDatabaseOnly ).*/${1} yes/' ${CLAMD_CONF}
57
+
58
+ if [ X"${DISTRO}" == X'RHEL' ]; then
59
+ ECHO_DEBUG "Add clamav and freshclam daemon users to amavid group."
60
+ usermod ${SYS_USER_CLAMAV} -G ${SYS_GROUP_AMAVISD}
61
+ usermod clamupdate -G ${SYS_GROUP_AMAVISD} 2>/dev/null
62
+
63
+ ECHO_DEBUG "Set correct permission for database directory."
64
+ chmod 0775 /var/lib/clamav 2>/dev/null
65
+
66
+ ECHO_DEBUG "Set permission to 750: ${AMAVISD_TEMP_DIR}, ${AMAVISD_QUARANTINE_DIR},"
67
+ chmod -R 750 ${AMAVISD_TEMP_DIR} ${AMAVISD_QUARANTINE_DIR}
68
+
69
+ elif [ X"${DISTRO}" == X'FREEBSD' ]; then
70
+ ECHO_DEBUG "Add clamav user to amavid group."
71
+ pw usermod ${SYS_USER_CLAMAV} -G ${SYS_GROUP_AMAVISD}
72
+
73
+ # Start service when system start up.
74
+ service_control enable 'clamav_clamd_enable' 'YES'
75
+ service_control enable 'clamav_freshclam_enable' 'YES'
76
+ elif [ X"${DISTRO}" == X'OPENBSD' ]; then
77
+ usermod -G ${SYS_GROUP_AMAVISD} ${SYS_USER_CLAMAV}
78
+
79
+ perl -pi -e 's#^(AllowSupplementaryGroups.*)##g' ${CLAMD_CONF}
80
+ # Remove all `StatsXXX` parameters
81
+ perl -pi -e 's#^(Stats.*)##g' ${CLAMD_CONF}
82
+ fi
83
+
84
+ # Add user alias in Postfix
85
+ add_postfix_alias ${SYS_USER_CLAMAV} ${SYS_USER_ROOT}
86
+
87
+ cat >> ${TIP_FILE} <<EOF
88
+ ClamAV:
89
+ * Configuration files:
90
+ - ${CLAMD_CONF}
91
+ - ${FRESHCLAM_CONF}
92
+ - /etc/logrotate.d/clamav
93
+ * RC scripts:
94
+ + ${DIR_RC_SCRIPTS}/${CLAMAV_CLAMD_SERVICE_NAME}
95
+ + ${DIR_RC_SCRIPTS}/${CLAMAV_FRESHCLAMD_RC_SCRIPT_NAME}
96
+
97
+ EOF
98
+
99
+ echo 'export status_clamav_config="DONE"' >> ${STATUS_FILE}
100
+ }
@@ -0,0 +1,393 @@
1
+ #!/usr/bin/env bash
2
+
3
+ # Author: Zhang Huangbin (zhb _at_ iredmail.org)
4
+
5
+ #---------------------------------------------------------------------
6
+ # This file is part of iRedMail, which is an open source mail server
7
+ # solution for Red Hat(R) Enterprise Linux, CentOS, Debian and Ubuntu.
8
+ #
9
+ # iRedMail is free software: you can redistribute it and/or modify
10
+ # it under the terms of the GNU General Public License as published by
11
+ # the Free Software Foundation, either version 3 of the License, or
12
+ # (at your option) any later version.
13
+ #
14
+ # iRedMail is distributed in the hope that it will be useful,
15
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
16
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17
+ # GNU General Public License for more details.
18
+ #
19
+ # You should have received a copy of the GNU General Public License
20
+ # along with iRedMail. If not, see <http://www.gnu.org/licenses/>.
21
+ #---------------------------------------------------------------------
22
+
23
+ # Available variables for automate installation (value should be 'y' or 'n'):
24
+ #
25
+ # AUTO_CLEANUP_REMOVE_SENDMAIL
26
+ # AUTO_CLEANUP_REPLACE_FIREWALL_RULES
27
+ # AUTO_CLEANUP_RESTART_FIREWALL
28
+ # AUTO_CLEANUP_REPLACE_MYSQL_CONFIG
29
+ #
30
+ # Usage:
31
+ # # AUTO_CLEANUP_REMOVE_SENDMAIL=y [...] bash iRedMail.sh
32
+
33
+ # -------------------------------------------
34
+ # Misc.
35
+ # -------------------------------------------
36
+ # Set cron file permission to 0600.
37
+ cleanup_set_cron_file_permission()
38
+ {
39
+ for f in ${CRON_FILE_ROOT} ${CRON_FILE_AMAVISD} ${CRON_FILE_SOGO}; do
40
+ if [ -f ${f} ]; then
41
+ ECHO_DEBUG "Set file permission to 0600: ${f}."
42
+ chmod 0600 ${f}
43
+ fi
44
+ done
45
+
46
+ echo 'export status_cleanup_set_cron_file_permission="DONE"' >> ${STATUS_FILE}
47
+ }
48
+
49
+ cleanup_disable_selinux()
50
+ {
51
+ if [ X"${DISTRO}" == X'RHEL' ]; then
52
+ ECHO_INFO "Disable SELinux in /etc/selinux/config."
53
+ [ -f /etc/selinux/config ] && perl -pi -e 's#^(SELINUX=)(.*)#${1}disabled#' /etc/selinux/config
54
+
55
+ setenforce 0 >> ${INSTALL_LOG} 2>&1
56
+ fi
57
+
58
+ echo 'export status_cleanup_disable_selinux="DONE"' >> ${STATUS_FILE}
59
+ }
60
+
61
+ cleanup_remove_sendmail()
62
+ {
63
+ # Remove sendmail.
64
+ if [ X"${KERNEL_NAME}" == X'LINUX' ]; then
65
+ eval ${LIST_ALL_PKGS} | grep '^sendmail' &>/dev/null
66
+
67
+ if [ X"$?" == X"0" ]; then
68
+ ECHO_QUESTION -n "Would you like to *REMOVE* sendmail now? [Y|n]"
69
+ read_setting ${AUTO_CLEANUP_REMOVE_SENDMAIL}
70
+ case ${ANSWER} in
71
+ N|n )
72
+ ECHO_INFO "Disable sendmail, it is replaced by Postfix." && \
73
+ service_control disable sendmail
74
+ ;;
75
+ Y|y|* )
76
+ eval ${remove_pkg} sendmail
77
+ ;;
78
+ esac
79
+ fi
80
+ fi
81
+
82
+ echo 'export status_cleanup_remove_sendmail="DONE"' >> ${STATUS_FILE}
83
+ }
84
+
85
+ cleanup_replace_firewall_rules()
86
+ {
87
+ # Replace ssh numbers.
88
+ if [ X"${SSHD_PORT2}" != X'22' ]; then
89
+ # Append second ssh port number.
90
+ perl -pi -e 's#(.*22.*)#${1}\n <port protocol="tcp" port="$ENV{SSHD_PORT2}"/>#' ${SAMPLE_DIR}/firewall/firewalld/services/ssh.xml
91
+ perl -pi -e 's#(.* 22 .*)#${1}\n-A INPUT -p tcp --dport $ENV{SSHD_PORT2} -j ACCEPT#' ${SAMPLE_DIR}/firewall/iptables/iptables.rules
92
+ perl -pi -e 's#(.* 22 .*)#${1}\n-A INPUT -p tcp --dport $ENV{SSHD_PORT2} -j ACCEPT#' ${SAMPLE_DIR}/firewall/iptables/ip6tables.rules
93
+
94
+ # Replace first ssh port number
95
+ perl -pi -e 's#(.*)"22"(.*)#${1}"$ENV{SSHD_PORT}"${2}#' ${SAMPLE_DIR}/firewall/firewalld/services/ssh.xml
96
+ perl -pi -e 's#(.*) 22 (.*)#${1} $ENV{SSHD_PORT} -j ACCEPT#' ${SAMPLE_DIR}/firewall/iptables/iptables.rules
97
+ perl -pi -e 's#(.*) 22 (.*)#${1} $ENV{SSHD_PORT} -j ACCEPT#' ${SAMPLE_DIR}/firewall/iptables/ip6tables.rules
98
+ fi
99
+
100
+ perl -pi -e 's#(.*mail_services=.*)ssh(.*)#${1}$ENV{SSHD_PORTS_WITH_COMMA}${2}#' ${SAMPLE_DIR}/openbsd/pf.conf
101
+
102
+ ECHO_QUESTION "Would you like to use firewall rules provided by iRedMail?"
103
+ ECHO_QUESTION -n "File: ${FIREWALL_RULE_CONF}, with SSHD ports: ${SSHD_PORTS_WITH_COMMA}. [Y|n]"
104
+ read_setting ${AUTO_CLEANUP_REPLACE_FIREWALL_RULES}
105
+ case ${ANSWER} in
106
+ N|n ) ECHO_INFO "Skip firewall rules." ;;
107
+ Y|y|* )
108
+ backup_file ${FIREWALL_RULE_CONF}
109
+ if [ X"${KERNEL_NAME}" == X'LINUX' ]; then
110
+ ECHO_INFO "Copy firewall sample rules."
111
+
112
+ if [ X"${USE_FIREWALLD}" == X'YES' ]; then
113
+ cp -f ${SAMPLE_DIR}/firewall/firewalld/zones/iredmail.xml ${FIREWALL_RULE_CONF}
114
+ perl -pi -e 's#^(DefaultZone=).*#${1}iredmail#g' ${FIREWALLD_CONF}
115
+
116
+ cp -f ${SAMPLE_DIR}/firewall/firewalld/services/ssh.xml ${FIREWALLD_CONF_DIR}/services/
117
+
118
+ if [ X"${DISTRO}" == X'RHEL' ]; then
119
+ if [[ -d ${ETC_SYSCONFIG_DIR}/network-scripts ]]; then
120
+ cd ${ETC_SYSCONFIG_DIR}/network-scripts/
121
+ if ls | grep -E '[0-9a-zA-Z]' &>/dev/null; then
122
+ perl -pi -e 's#ZONE=public#ZONE=iredmail#g' *
123
+ fi
124
+ fi
125
+ fi
126
+
127
+ service_control enable firewalld
128
+
129
+ elif [ X"${USE_NFTABLES}" == X'YES' ]; then
130
+ cp -f ${SAMPLE_DIR}/firewall/nftables.conf ${NFTABLES_CONF}
131
+
132
+ perl -pi -e 's#(.*) 80 (.*)#${1} $ENV{PORT_HTTP} ${2}#' ${NFTABLES_CONF}
133
+ if [ X"${SSHD_PORT}" == X"${SSHD_PORT2}" ]; then
134
+ perl -pi -e 's#(.*) 22 (.*)#${1} $ENV{SSHD_PORT} ${2}#' ${NFTABLES_CONF}
135
+ elif [ X"${SSHD_PORT}" != X'' -a X"${SSHD_PORT2}" != X'' -a X"${SSHD_PORT}" != X"${SSHD_PORT2}" ]; then
136
+ perl -pi -e 's#(.*) 22 (.*)#${1} {$ENV{SSHD_PORTS_WITH_COMMA}} ${2}#' ${NFTABLES_CONF}
137
+ fi
138
+
139
+ service_control enable nftables
140
+ else
141
+ cp -f ${SAMPLE_DIR}/firewall/iptables/iptables.rules ${FIREWALL_RULE_CONF}
142
+ cp -f ${SAMPLE_DIR}/firewall/iptables/ip6tables.rules ${FIREWALL_RULE_CONF6}
143
+
144
+ service_control enable iptables
145
+ service_control enable ip6tables
146
+ fi
147
+
148
+ # Replace HTTP port.
149
+ [ X"${PORT_HTTP}" != X"80" ]&& \
150
+ perl -pi -e 's#(.*)80(,.*)#${1}$ENV{PORT_HTTP}${2}#' ${FIREWALL_RULE_CONF}
151
+
152
+ elif [ X"${KERNEL_NAME}" == X'OPENBSD' ]; then
153
+ # Enable pf
154
+ service_control enable pf
155
+
156
+ # Whitelist file required by spamd(8)
157
+ touch /etc/mail/nospamd
158
+
159
+ ECHO_INFO "Copy firewall sample rules: ${FIREWALL_RULE_CONF}."
160
+ cp -f ${SAMPLE_DIR}/openbsd/pf.conf ${FIREWALL_RULE_CONF}
161
+ fi
162
+
163
+ # Prompt to restart iptables.
164
+ ECHO_QUESTION -n "Restart firewall now (with ssh ports: ${SSHD_PORTS_WITH_COMMA})? [y|N]"
165
+ read_setting ${AUTO_CLEANUP_RESTART_FIREWALL}
166
+ case ${ANSWER} in
167
+ Y|y )
168
+ ECHO_INFO "Restarting firewall ..."
169
+
170
+ if [ X"${DISTRO}" == X'OPENBSD' ]; then
171
+ /sbin/pfctl -ef ${FIREWALL_RULE_CONF} >> ${INSTALL_LOG} 2>&1
172
+ else
173
+ if [ X"${USE_FIREWALLD}" == X'YES' ]; then
174
+ firewall-cmd --complete-reload >> ${INSTALL_LOG} 2>&1
175
+ elif [ X"${USE_NFTABLES}" == X'YES' ]; then
176
+ service_control restart nftables
177
+ else
178
+ service_control restart iptables
179
+ service_control restart ip6tables
180
+ fi
181
+ fi
182
+ ;;
183
+ *) : ;;
184
+ esac
185
+ esac
186
+
187
+ echo 'export status_cleanup_replace_firewall_rules="DONE"' >> ${STATUS_FILE}
188
+ }
189
+
190
+ cleanup_replace_mysql_config()
191
+ {
192
+ if [[ X"${DISTRO}" == X'RHEL' ]]; then
193
+ if [ X"${BACKEND}" == X'MYSQL' -o X"${BACKEND}" == X'OPENLDAP' ]; then
194
+ # Both MySQL and OpenLDAP backend need MySQL database server, so prompt
195
+ # this config file replacement.
196
+ ECHO_QUESTION "Would you like to use MySQL configuration file shipped within iRedMail now?"
197
+ ECHO_QUESTION -n "File: ${MYSQL_MY_CNF}. [Y|n]"
198
+ read_setting ${AUTO_CLEANUP_REPLACE_MYSQL_CONFIG}
199
+ case ${ANSWER} in
200
+ N|n ) ECHO_INFO "Skip copy and modify MySQL config file." ;;
201
+ Y|y|* )
202
+ backup_file ${MYSQL_MY_CNF}
203
+ ECHO_INFO "Copy MySQL sample file: ${MYSQL_MY_CNF}."
204
+ cp -f ${SAMPLE_DIR}/mysql/my.cnf ${MYSQL_MY_CNF}
205
+ ;;
206
+ esac
207
+ fi
208
+ fi
209
+
210
+ echo 'export status_cleanup_replace_mysql_config="DONE"' >> ${STATUS_FILE}
211
+ }
212
+
213
+ cleanup_update_compile_spamassassin_rules()
214
+ {
215
+ # Required on FreeBSD to start Amavisd-new.
216
+ ECHO_INFO "Updating SpamAssassin rules (sa-update), please wait ..."
217
+ ${BIN_SA_UPDATE} >> ${INSTALL_LOG} 2>&1
218
+
219
+ ECHO_INFO "Compiling SpamAssassin rulesets (sa-compile), please wait ..."
220
+ ${BIN_SA_COMPILE} >> ${INSTALL_LOG} 2>&1
221
+
222
+ echo 'export status_cleanup_update_compile_spamassassin_rules="DONE"' >> ${STATUS_FILE}
223
+ }
224
+
225
+ cleanup_update_clamav_signatures()
226
+ {
227
+ # Update clamav before start clamav-clamd service.
228
+ if [ X"${FRESHCLAM_UPDATE_IMMEDIATELY}" == X'YES' ]; then
229
+ ECHO_INFO "Updating ClamAV database (freshclam), please wait ..."
230
+ freshclam 2>/dev/null | grep -v 'locked by another process'
231
+ fi
232
+
233
+ echo 'export status_cleanup_update_clamav_signatures="DONE"' >> ${STATUS_FILE}
234
+ }
235
+
236
+ cleanup_feedback()
237
+ {
238
+ # Send package names to iRedMail project to help developers
239
+ # understand which are most important to users.
240
+ url="iredmail_version=${PROG_VERSION}&backend=${BACKEND_ORIG}"
241
+
242
+ # Hardware.
243
+ url="${url}&arch=${OS_ARCH}"
244
+ url="${url}&distro=${DISTRO}-${DISTRO_CODENAME}-${DISTRO_VERSION}"
245
+
246
+ # Packages.
247
+ pkgs=""
248
+ [ X"${USE_ROUNDCUBE}" == X'YES' ] && pkgs="${pkgs},roundcube"
249
+ [ X"${USE_SOGO}" == X'YES' ] && pkgs="${pkgs},sogo"
250
+ [ X"${USE_NETDATA}" == X'YES' ] && pkgs="${pkgs},netdata"
251
+ [ X"${USE_FAIL2BAN}" == X'YES' ] && pkgs="${pkgs},fail2ban"
252
+ [ X"${USE_IREDADMIN}" == X'YES' ] && pkgs="${pkgs},iredadmin"
253
+ [ X"${WEB_SERVER}" == X'NGINX' ] && pkgs="${pkgs},nginx"
254
+ url="${url}&pkgs=${pkgs}"
255
+
256
+ cd /tmp
257
+ ${FETCH_CMD} "https://l.iredmail.org/iredmail/pkgs?${url}" &>/dev/null
258
+ rm -f /tmp/pkgs* &>/dev/null
259
+
260
+ echo 'export status_cleanup_feedback="DONE"' >> ${STATUS_FILE}
261
+ }
262
+
263
+ cleanup()
264
+ {
265
+ # Store iRedMail version number in /etc/iredmail-release
266
+ cat > /etc/${PROG_NAME_LOWERCASE}-release <<EOF
267
+ ${PROG_VERSION} ${BACKEND_ORIG} edition.
268
+ # Get professional support from iRedMail Team: http://www.iredmail.org/support.html
269
+ EOF
270
+
271
+ cat <<EOF
272
+
273
+ *************************************************************************
274
+ * ${PROG_NAME}-${PROG_VERSION} installation and configuration complete.
275
+ *************************************************************************
276
+
277
+ EOF
278
+
279
+ # Mail installation related info to postmaster@
280
+ msg_date="$(date "+%a, %d %b %Y %H:%M:%S %z")"
281
+
282
+ ECHO_DEBUG "Mail sensitive administration info to ${DOMAIN_ADMIN_EMAIL}."
283
+ FILE_IREDMAIL_INSTALLATION_DETAILS="${DOMAIN_ADMIN_MAILDIR_INBOX}/details.eml"
284
+ FILE_IREDMAIL_LINKS="${DOMAIN_ADMIN_MAILDIR_INBOX}/links.eml"
285
+ FILE_IREDMAIL_MUA_SETTINGS="${DOMAIN_ADMIN_MAILDIR_INBOX}/mua.eml"
286
+
287
+ cat > ${FILE_IREDMAIL_INSTALLATION_DETAILS} <<EOF
288
+ From: root@${HOSTNAME}
289
+ To: ${DOMAIN_ADMIN_EMAIL}
290
+ Date: ${msg_date}
291
+ Subject: Details of this iRedMail installation
292
+
293
+ $(cat ${TIP_FILE})
294
+ EOF
295
+
296
+ cat > ${FILE_IREDMAIL_LINKS} <<EOF
297
+ From: root@${HOSTNAME}
298
+ To: ${DOMAIN_ADMIN_EMAIL}
299
+ Date: ${msg_date}
300
+ Subject: Useful resources for iRedMail administrator
301
+
302
+ $(cat ${DOC_FILE})
303
+ EOF
304
+
305
+ cat > ${FILE_IREDMAIL_MUA_SETTINGS} <<EOF
306
+ From: root@${HOSTNAME}
307
+ To: ${DOMAIN_ADMIN_EMAIL}
308
+ Date: ${msg_date}
309
+ Subject: How to configure your mail client applications (MUA)
310
+
311
+
312
+ * POP3 service: port 110 over STARTTLS (recommended), or port 995 with SSL.
313
+ * IMAP service: port 143 over STARTTLS (recommended), or port 993 with SSL.
314
+ * SMTP service: port 587 over STARTTLS.
315
+ If you need to support old mail clients with SMTP over SSL (port 465),
316
+ please check our tutorial: https://docs.iredmail.org/enable.smtps.html
317
+ * CalDAV and CardDAV server addresses: https://<server>/SOGo/dav/<full email address>
318
+
319
+ For more details, please check detailed documentations:
320
+ https://docs.iredmail.org/#mua
321
+ EOF
322
+
323
+ for f in ${FILE_IREDMAIL_INSTALLATION_DETAILS} \
324
+ ${FILE_IREDMAIL_LINKS} \
325
+ ${FILE_IREDMAIL_MUA_SETTINGS}; do
326
+ chown -R ${SYS_USER_VMAIL}:${SYS_GROUP_VMAIL} ${f}
327
+ chmod -R 0700 ${f}
328
+ done
329
+
330
+ check_status_before_run cleanup_set_cron_file_permission
331
+ check_status_before_run cleanup_disable_selinux
332
+ check_status_before_run cleanup_remove_sendmail
333
+
334
+ [ X"${KERNEL_NAME}" == X'LINUX' -o X"${KERNEL_NAME}" == X'OPENBSD' ] && \
335
+ check_status_before_run cleanup_replace_firewall_rules
336
+
337
+ check_status_before_run cleanup_replace_mysql_config
338
+
339
+ if [ X"${DISTRO}" == X'FREEBSD' -o X"${DISTRO}" == X'OPENBSD' ]; then
340
+ check_status_before_run cleanup_update_compile_spamassassin_rules
341
+ fi
342
+
343
+ check_status_before_run cleanup_update_clamav_signatures
344
+ check_status_before_run cleanup_feedback
345
+
346
+ cat <<EOF
347
+ ********************************************************************
348
+ * URLs of installed web applications:
349
+ *
350
+ EOF
351
+
352
+ if [ X"${USE_ROUNDCUBE}" == X'YES' ]; then
353
+ cat <<EOF
354
+ * - Roundcube webmail: https://${HOSTNAME}/mail/
355
+ EOF
356
+ fi
357
+
358
+ if [ X"${USE_SOGO}" == X'YES' ]; then
359
+ cat <<EOF
360
+ * - SOGo groupware: https://${HOSTNAME}/SOGo/
361
+ EOF
362
+ fi
363
+
364
+ if [ X"${USE_NETDATA}" == X'YES' ]; then
365
+ cat <<EOF
366
+ * - netdata (monitor): https://${HOSTNAME}/netdata/
367
+ EOF
368
+ fi
369
+ cat <<EOF
370
+ *
371
+ *
372
+ * You can login to above links with below credential:
373
+ *
374
+ * - Username: ${DOMAIN_ADMIN_EMAIL}
375
+ * - Password: ${DOMAIN_ADMIN_PASSWD_PLAIN}
376
+ *
377
+ ********************************************************************
378
+ * Congratulations, mail server setup completed successfully. Please
379
+ * read below file for more information:
380
+ *
381
+ * - ${TIP_FILE}
382
+ *
383
+ * And it's sent to your mail account ${DOMAIN_ADMIN_EMAIL}.
384
+ *
385
+ ********************* WARNING **************************************
386
+ *
387
+ * Please reboot your system to enable all mail services.
388
+ *
389
+ ********************************************************************
390
+ EOF
391
+
392
+ echo 'export status_cleanup="DONE"' >> ${STATUS_FILE}
393
+ }