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.
- package/README.md +2 -24
- package/dist/bare-2HYDXQEH.js +23 -0
- package/dist/{bowser-MFQA6OS4.js → bowser-O3AEA6AN.js} +5 -1
- package/dist/{chunk-KD7VO4LG.js → chunk-2ZLR7ULL.js} +255 -65
- package/dist/{chunk-YHXCHW7Q.js → chunk-3JQTL4R4.js} +236 -99
- package/dist/{chunk-E77LJWJK.js → chunk-4TJC4JZQ.js} +20 -9
- package/dist/{chunk-YL67EWYZ.js → chunk-4Z5QO7N6.js} +6 -2
- package/dist/{chunk-WJPCBU7Z.js → chunk-5FNIWBFI.js} +10 -6
- package/dist/{chunk-Y37KHU7L.js → chunk-5MZ624VX.js} +5 -0
- package/dist/{chunk-QKFRZNKN.js → chunk-6APIPIJY.js} +8 -4
- package/dist/{chunk-JZLNHGLW.js → chunk-6APULWSU.js} +153 -133
- package/dist/{chunk-F4DFVG6Q.js → chunk-6B5YCFFV.js} +8 -4
- package/dist/{chunk-XVSAUO2I.js → chunk-AVIB7CT7.js} +5 -1
- package/dist/{chunk-TEYJYSMT.js → chunk-C5OHTYEF.js} +12 -6
- package/dist/{chunk-7UOB5GGQ.js → chunk-DYPH4HCI.js} +5 -0
- package/dist/{chunk-XIFRMKYT.js → chunk-EI575GHN.js} +6 -2
- package/dist/{chunk-4CQWT2WL.js → chunk-FPRHYBY2.js} +5 -0
- package/dist/chunk-FQGJZ2HS.js +248 -0
- package/dist/{chunk-JR2OCMJA.js → chunk-FRNAR33O.js} +6 -2
- package/dist/{chunk-JUJBBF5U.js → chunk-FXTBHTWY.js} +362 -42
- package/dist/chunk-ILFETZOM.js +131 -0
- package/dist/{chunk-5ZCKQ2MI.js → chunk-IXCHURVK.js} +7 -3
- package/dist/{chunk-6ERIMTBC.js → chunk-JYGD5WSN.js} +5 -0
- package/dist/{chunk-4VNS5WPM.js → chunk-KI2EY3WB.js} +4 -0
- package/dist/{chunk-3U4SPZD5.js → chunk-L2VOGB2X.js} +7 -104
- package/dist/{chunk-NB2VEIWG.js → chunk-MZ2WEHHY.js} +7 -3
- package/dist/{chunk-BUBSSKO6.js → chunk-O6ZZF52V.js} +5 -1
- package/dist/{chunk-LBFH7THC.js → chunk-OWED2GRM.js} +5 -1
- package/dist/{chunk-4MG3BVHE.js → chunk-OXWDY22G.js} +6 -2
- package/dist/{chunk-4FABQGQP.js → chunk-Q2CIRAOK.js} +5 -0
- package/dist/{chunk-4LEL3H2Z.js → chunk-RPHRPFEH.js} +5 -0
- package/dist/{chunk-46YJFP4S.js → chunk-SQ77DZOI.js} +1728 -1484
- package/dist/{chunk-S6DSRLNE.js → chunk-TGIINPVM.js} +15 -2
- package/dist/{chunk-U2DPZSXA.js → chunk-TYVME3XD.js} +9 -1
- package/dist/{chunk-HFYDYK4D.js → chunk-V6AN6XLZ.js} +18 -6
- package/dist/{chunk-ZKJOFWBJ.js → chunk-VDMQJHPI.js} +38 -15
- package/dist/{chunk-E6W2JMMU.js → chunk-VFINNTUL.js} +22 -1
- package/dist/{chunk-OJE6YWPQ.js → chunk-VWPEKOH6.js} +6 -2
- package/dist/{chunk-5N7VUGL6.js → chunk-W73X43R7.js} +6 -2
- package/dist/cloud-7QYOGF7F.js +11 -0
- package/dist/cloud-ZSKOS4GY.js +30 -0
- package/dist/detect-SH4FHFBI.js +36 -0
- package/dist/{dist-L3MPOWCA.js → dist-IQJ6H6UZ.js} +6 -2
- package/dist/{dist-es-KE56MWYO.js → dist-es-5DY7K32L.js} +9 -5
- package/dist/dist-es-JSTDUS7Q.js +26 -0
- package/dist/{dist-es-GTAMF674.js → dist-es-OSNJBLXB.js} +8 -4
- package/dist/{dist-es-NRZIQY5B.js → dist-es-RYHIPOTN.js} +17 -13
- package/dist/{dist-es-XQCOTGC7.js → dist-es-VNKHQVIB.js} +7 -3
- package/dist/{dist-es-WZCR7DHQ.js → dist-es-WV4AMOII.js} +11 -7
- package/dist/{dist-es-ZW3HFQUM.js → dist-es-X3B5QYKB.js} +9 -5
- package/dist/docker-U7AF5PTA.js +16 -0
- package/dist/docker-edge-executor-VHW3JPJS.js +13 -0
- package/dist/edge-import-V5CBA47C.js +45 -0
- package/dist/ensure-container-edge-CMYROUSI.js +33 -0
- package/dist/{event-streams-7LGDL56D.js → event-streams-EHRAKL75.js} +7 -3
- package/dist/executor-YPT6RH6O.js +30 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.js +258 -245
- package/dist/{loadSso-N273C5I7.js → loadSso-46FQRIZS.js} +13 -9
- package/dist/local-executor-V7U5VOZW.js +12 -0
- package/dist/nginx-2GTRUIDE.js +24 -0
- package/dist/noop-FMMFG2EZ.js +11 -0
- package/dist/{openresty-lua-HAO4EUDY.js → openresty-lua-4WLGDSER.js} +13 -3
- package/dist/server/engine/ChangeLog +2289 -0
- package/dist/server/engine/Documentations +5 -0
- package/dist/server/engine/LICENSE +674 -0
- package/dist/server/engine/README.md +34 -0
- package/dist/server/engine/conf/amavisd +150 -0
- package/dist/server/engine/conf/clamav +71 -0
- package/dist/server/engine/conf/core +632 -0
- package/dist/server/engine/conf/dovecot +151 -0
- package/dist/server/engine/conf/fail2ban +72 -0
- package/dist/server/engine/conf/global +698 -0
- package/dist/server/engine/conf/iredapd +52 -0
- package/dist/server/engine/conf/logwatch +28 -0
- package/dist/server/engine/conf/postfix +97 -0
- package/dist/server/engine/conf/postgresql +93 -0
- package/dist/server/engine/conf/spamassassin +39 -0
- package/dist/server/engine/dialog/config_via_dialog.sh +258 -0
- package/dist/server/engine/dialog/optional_components.sh +122 -0
- package/dist/server/engine/dialog/pgsql_config.sh +52 -0
- package/dist/server/engine/dialog/virtual_domain_config.sh +94 -0
- package/dist/server/engine/functions/amavisd.sh +267 -0
- package/dist/server/engine/functions/backend.sh +85 -0
- package/dist/server/engine/functions/clamav.sh +100 -0
- package/dist/server/engine/functions/cleanup.sh +393 -0
- package/dist/server/engine/functions/dovecot.sh +583 -0
- package/dist/server/engine/functions/fail2ban.sh +209 -0
- package/dist/server/engine/functions/iredapd.sh +356 -0
- package/dist/server/engine/functions/optional_components.sh +24 -0
- package/dist/server/engine/functions/packages.sh +522 -0
- package/dist/server/engine/functions/packages_freebsd.sh +179 -0
- package/dist/server/engine/functions/postfix.sh +457 -0
- package/dist/server/engine/functions/postgresql.sh +239 -0
- package/dist/server/engine/functions/spamassassin.sh +49 -0
- package/dist/server/engine/functions/system_accounts.sh +128 -0
- package/dist/server/engine/iRedMail.sh +144 -0
- package/dist/server/engine/pkgs/get_all.sh +338 -0
- package/dist/server/engine/pkgs/pkgs.freebsd.sha256 +3 -0
- package/dist/server/engine/pkgs/pkgs.openbsd.sha256 +6 -0
- package/dist/server/engine/pkgs/pkgs.sha256 +1 -0
- package/dist/server/engine/samples/amavisd/amavisd.conf +677 -0
- package/dist/server/engine/samples/amavisd/amavisd.mysql +278 -0
- package/dist/server/engine/samples/amavisd/amavisd.pgsql +253 -0
- package/dist/server/engine/samples/amavisd/amavisd.schema +942 -0
- package/dist/server/engine/samples/amavisd/default_spam_policy.sql +46 -0
- package/dist/server/engine/samples/dovecot/dovecot-2.4-mariadb.conf +758 -0
- package/dist/server/engine/samples/dovecot/dovecot-2.4-openldap.conf +767 -0
- package/dist/server/engine/samples/dovecot/dovecot-2.4-pgsql.conf +762 -0
- package/dist/server/engine/samples/dovecot/dovecot-last-login.conf +50 -0
- package/dist/server/engine/samples/dovecot/dovecot-ldap.conf +21 -0
- package/dist/server/engine/samples/dovecot/dovecot-share-folder.conf +22 -0
- package/dist/server/engine/samples/dovecot/dovecot-sql.conf +28 -0
- package/dist/server/engine/samples/dovecot/dovecot-used-quota.conf +13 -0
- package/dist/server/engine/samples/dovecot/dovecot.conf +484 -0
- package/dist/server/engine/samples/dovecot/dovecot.sieve +7 -0
- package/dist/server/engine/samples/dovecot/dovecot2-quota-warning.sh +38 -0
- package/dist/server/engine/samples/dovecot/sql/imap_share_folder.mysql +16 -0
- package/dist/server/engine/samples/dovecot/sql/last_login.mysql +12 -0
- package/dist/server/engine/samples/dovecot/sql/used_quota.mysql +26 -0
- package/dist/server/engine/samples/dovecot/systemd/override.conf +3 -0
- package/dist/server/engine/samples/fail2ban/action.d/banned_db.conf +9 -0
- package/dist/server/engine/samples/fail2ban/bin/fail2ban_banned_db +268 -0
- package/dist/server/engine/samples/fail2ban/fail2ban.local +17 -0
- package/dist/server/engine/samples/fail2ban/filter.d/dovecot.iredmail.conf +5 -0
- package/dist/server/engine/samples/fail2ban/filter.d/postfix-pregreet.iredmail.conf +16 -0
- package/dist/server/engine/samples/fail2ban/filter.d/postfix.iredmail.conf +18 -0
- package/dist/server/engine/samples/fail2ban/filter.d/roundcube.iredmail.conf +9 -0
- package/dist/server/engine/samples/fail2ban/jail.d/dovecot.local +8 -0
- package/dist/server/engine/samples/fail2ban/jail.d/nginx-http-auth.local +8 -0
- package/dist/server/engine/samples/fail2ban/jail.d/postfix-pregreet.local +9 -0
- package/dist/server/engine/samples/fail2ban/jail.d/postfix.local +8 -0
- package/dist/server/engine/samples/fail2ban/jail.d/roundcube.local +9 -0
- package/dist/server/engine/samples/fail2ban/jail.d/sogo.local +8 -0
- package/dist/server/engine/samples/fail2ban/jail.d/sshd.local +8 -0
- package/dist/server/engine/samples/fail2ban/jail.local +6 -0
- package/dist/server/engine/samples/fail2ban/openbsd/rc +27 -0
- package/dist/server/engine/samples/fail2ban/sql/fail2ban.mysql +49 -0
- package/dist/server/engine/samples/fail2ban/sql/fail2ban.pgsql +48 -0
- package/dist/server/engine/samples/firewall/firewalld/services/ssh.xml +6 -0
- package/dist/server/engine/samples/firewall/firewalld/zones/iredmail.xml +15 -0
- package/dist/server/engine/samples/firewall/iptables/ip6tables.init.debian +362 -0
- package/dist/server/engine/samples/firewall/iptables/ip6tables.rules +53 -0
- package/dist/server/engine/samples/firewall/iptables/iptables.init.debian +363 -0
- package/dist/server/engine/samples/firewall/iptables/iptables.rules +54 -0
- package/dist/server/engine/samples/firewall/nftables.conf +58 -0
- package/dist/server/engine/samples/freebsd/newsyslog.conf.d/dovecot.conf +3 -0
- package/dist/server/engine/samples/freebsd/newsyslog.conf.d/iredapd.conf +1 -0
- package/dist/server/engine/samples/freebsd/newsyslog.conf.d/mlmmjadmin.conf +1 -0
- package/dist/server/engine/samples/freebsd/newsyslog.conf.d/php-fpm.conf +2 -0
- package/dist/server/engine/samples/freebsd/newsyslog.conf.d/slapd.conf +1 -0
- package/dist/server/engine/samples/freebsd/syslog.d/dovecot.conf +2 -0
- package/dist/server/engine/samples/freebsd/syslog.d/fail2ban.conf +2 -0
- package/dist/server/engine/samples/freebsd/syslog.d/iredapd.conf +2 -0
- package/dist/server/engine/samples/freebsd/syslog.d/mlmmjadmin.conf +2 -0
- package/dist/server/engine/samples/freebsd/syslog.d/php-fpm.conf +2 -0
- package/dist/server/engine/samples/freebsd/syslog.d/slapd.conf +2 -0
- package/dist/server/engine/samples/iredmail/iredmail.mysql +491 -0
- package/dist/server/engine/samples/iredmail/iredmail.pgsql +465 -0
- package/dist/server/engine/samples/iredmail/iredmail.schema +456 -0
- package/dist/server/engine/samples/iredmail/used_quota_triggers_dovecot_2.3.pgsql +40 -0
- package/dist/server/engine/samples/iredmail/used_quota_triggers_dovecot_2.4.pgsql +18 -0
- package/dist/server/engine/samples/logrotate/dovecot +13 -0
- package/dist/server/engine/samples/logrotate/iredapd +13 -0
- package/dist/server/engine/samples/logrotate/mlmmjadmin +13 -0
- package/dist/server/engine/samples/logrotate/openldap +19 -0
- package/dist/server/engine/samples/logrotate/php-fpm +13 -0
- package/dist/server/engine/samples/openbsd/ldapd.conf +58 -0
- package/dist/server/engine/samples/openbsd/pf.conf +28 -0
- package/dist/server/engine/samples/postfix/command_filter.pcre +3 -0
- package/dist/server/engine/samples/postfix/freebsd/mailer.conf +9 -0
- package/dist/server/engine/samples/postfix/helo_access.pcre +180 -0
- package/dist/server/engine/samples/postfix/ldap/catchall_maps.cf +11 -0
- package/dist/server/engine/samples/postfix/ldap/recipient_bcc_maps_domain.cf +11 -0
- package/dist/server/engine/samples/postfix/ldap/recipient_bcc_maps_user.cf +11 -0
- package/dist/server/engine/samples/postfix/ldap/relay_domains.cf +11 -0
- package/dist/server/engine/samples/postfix/ldap/sender_bcc_maps_domain.cf +11 -0
- package/dist/server/engine/samples/postfix/ldap/sender_bcc_maps_user.cf +11 -0
- package/dist/server/engine/samples/postfix/ldap/sender_dependent_relayhost_maps_domain.cf +11 -0
- package/dist/server/engine/samples/postfix/ldap/sender_dependent_relayhost_maps_user.cf +11 -0
- package/dist/server/engine/samples/postfix/ldap/sender_login_maps.cf +11 -0
- package/dist/server/engine/samples/postfix/ldap/transport_maps_domain.cf +11 -0
- package/dist/server/engine/samples/postfix/ldap/transport_maps_user.cf +11 -0
- package/dist/server/engine/samples/postfix/ldap/virtual_alias_maps.cf +11 -0
- package/dist/server/engine/samples/postfix/ldap/virtual_group_maps.cf +11 -0
- package/dist/server/engine/samples/postfix/ldap/virtual_group_members_maps.cf +11 -0
- package/dist/server/engine/samples/postfix/ldap/virtual_mailbox_domains.cf +11 -0
- package/dist/server/engine/samples/postfix/ldap/virtual_mailbox_maps.cf +12 -0
- package/dist/server/engine/samples/postfix/main.cf +282 -0
- package/dist/server/engine/samples/postfix/main.cf.amavisd +7 -0
- package/dist/server/engine/samples/postfix/main.cf.dovecot +8 -0
- package/dist/server/engine/samples/postfix/main.cf.ldap +39 -0
- package/dist/server/engine/samples/postfix/main.cf.mlmmj +5 -0
- package/dist/server/engine/samples/postfix/main.cf.mysql +39 -0
- package/dist/server/engine/samples/postfix/main.cf.pgsql +39 -0
- package/dist/server/engine/samples/postfix/main.cf.postscreen +30 -0
- package/dist/server/engine/samples/postfix/master.cf +87 -0
- package/dist/server/engine/samples/postfix/mysql/catchall_maps.cf +5 -0
- package/dist/server/engine/samples/postfix/mysql/domain_alias_catchall_maps.cf +5 -0
- package/dist/server/engine/samples/postfix/mysql/domain_alias_maps.cf +5 -0
- package/dist/server/engine/samples/postfix/mysql/recipient_bcc_maps_domain.cf +5 -0
- package/dist/server/engine/samples/postfix/mysql/recipient_bcc_maps_user.cf +5 -0
- package/dist/server/engine/samples/postfix/mysql/relay_domains.cf +5 -0
- package/dist/server/engine/samples/postfix/mysql/sender_bcc_maps_domain.cf +5 -0
- package/dist/server/engine/samples/postfix/mysql/sender_bcc_maps_user.cf +5 -0
- package/dist/server/engine/samples/postfix/mysql/sender_dependent_relayhost_maps.cf +6 -0
- package/dist/server/engine/samples/postfix/mysql/sender_login_maps.cf +5 -0
- package/dist/server/engine/samples/postfix/mysql/transport_maps_domain.cf +5 -0
- package/dist/server/engine/samples/postfix/mysql/transport_maps_maillist.cf +5 -0
- package/dist/server/engine/samples/postfix/mysql/transport_maps_user.cf +5 -0
- package/dist/server/engine/samples/postfix/mysql/virtual_alias_maps.cf +5 -0
- package/dist/server/engine/samples/postfix/mysql/virtual_mailbox_domains.cf +5 -0
- package/dist/server/engine/samples/postfix/mysql/virtual_mailbox_maps.cf +5 -0
- package/dist/server/engine/samples/postfix/pgsql/catchall_maps.cf +5 -0
- package/dist/server/engine/samples/postfix/pgsql/domain_alias_catchall_maps.cf +5 -0
- package/dist/server/engine/samples/postfix/pgsql/domain_alias_maps.cf +5 -0
- package/dist/server/engine/samples/postfix/pgsql/recipient_bcc_maps_domain.cf +5 -0
- package/dist/server/engine/samples/postfix/pgsql/recipient_bcc_maps_user.cf +5 -0
- package/dist/server/engine/samples/postfix/pgsql/relay_domains.cf +5 -0
- package/dist/server/engine/samples/postfix/pgsql/sender_bcc_maps_domain.cf +5 -0
- package/dist/server/engine/samples/postfix/pgsql/sender_bcc_maps_user.cf +5 -0
- package/dist/server/engine/samples/postfix/pgsql/sender_dependent_relayhost_maps.cf +6 -0
- package/dist/server/engine/samples/postfix/pgsql/sender_login_maps.cf +5 -0
- package/dist/server/engine/samples/postfix/pgsql/transport_maps_domain.cf +5 -0
- package/dist/server/engine/samples/postfix/pgsql/transport_maps_maillist.cf +5 -0
- package/dist/server/engine/samples/postfix/pgsql/transport_maps_user.cf +5 -0
- package/dist/server/engine/samples/postfix/pgsql/virtual_alias_maps.cf +5 -0
- package/dist/server/engine/samples/postfix/pgsql/virtual_mailbox_domains.cf +5 -0
- package/dist/server/engine/samples/postfix/pgsql/virtual_mailbox_maps.cf +5 -0
- package/dist/server/engine/samples/postfix/postscreen_access.cidr +6 -0
- package/dist/server/engine/samples/postgresql/sql/add_first_domain_and_user.sql +34 -0
- package/dist/server/engine/samples/postgresql/sql/grant_permissions.sql +14 -0
- package/dist/server/engine/samples/postgresql/sql/init_vmail_db.sql +15 -0
- package/dist/server/engine/samples/rsyslog.d/1-iredmail-dovecot.conf +23 -0
- package/dist/server/engine/samples/rsyslog.d/1-iredmail-fail2ban.conf +2 -0
- package/dist/server/engine/samples/rsyslog.d/1-iredmail-iredapd.conf +12 -0
- package/dist/server/engine/samples/rsyslog.d/1-iredmail-mlmmjadmin.conf +12 -0
- package/dist/server/engine/samples/rsyslog.d/1-iredmail-openldap.conf +2 -0
- package/dist/server/engine/samples/rsyslog.d/1-iredmail-phpfpm.conf +3 -0
- package/dist/server/engine/samples/spamassassin/local.cf +186 -0
- package/dist/server/engine/samples/spamassassin/razor.conf +1 -0
- package/dist/server/engine/samples/systemd/clamd.service.d/override.conf +2 -0
- package/dist/server/engine/samples/systemd/mariadb.service.d/override.conf +3 -0
- package/dist/server/engine/samples/systemd/slapd.service.d/override.conf +6 -0
- package/dist/server/engine/samples/yum/CentOS-Linux-AppStream.repo +6 -0
- package/dist/server/engine/samples/yum/CentOS-Linux-PowerTools.repo +6 -0
- package/dist/server/engine/samples/yum/CentOS-Stream-AppStream.repo +7 -0
- package/dist/server/engine/samples/yum/CentOS-Stream-PowerTools.repo +7 -0
- package/dist/server/engine/samples/yum/symas-openldap.repo +6 -0
- package/dist/server/engine/tools/add_enabled_service.py +60 -0
- package/dist/server/engine/tools/backup_mysql.sh +238 -0
- package/dist/server/engine/tools/backup_openldap.sh +230 -0
- package/dist/server/engine/tools/backup_pgsql.sh +217 -0
- package/dist/server/engine/tools/backup_sogo.sh +156 -0
- package/dist/server/engine/tools/create_mail_user_OpenLDAP.py +335 -0
- package/dist/server/engine/tools/create_mail_user_OpenLDAP.sh +287 -0
- package/dist/server/engine/tools/create_mail_user_SQL.sh +127 -0
- package/dist/server/engine/tools/enable_postscreen.sh +144 -0
- package/dist/server/engine/tools/fail2ban_unban_ip.sh +39 -0
- package/dist/server/engine/tools/find_sasl_login_ip.sh +20 -0
- package/dist/server/engine/tools/find_top_sasl_usernames.sh +28 -0
- package/dist/server/engine/tools/generate_ssl_keys.sh +85 -0
- package/dist/server/engine/tools/kill_high_cpu_sogo_process.sh +32 -0
- package/dist/server/engine/tools/ldap_assign_user_to_groups.py +151 -0
- package/dist/server/engine/tools/ldap_move_members_to_another_group.py +129 -0
- package/dist/server/engine/tools/migrate_sql_alias_table.py +177 -0
- package/dist/server/engine/update/0.9.8/amavisd.mysql +29 -0
- package/dist/server/engine/update/0.9.8/amavisd.pgsql +39 -0
- package/dist/server/engine/update/0.9.8/iredmail.mysql +53 -0
- package/dist/server/engine/update/0.9.8/iredmail.pgsql +61 -0
- package/dist/server/engine/update/0.9.9/iredmail.mysql +2 -0
- package/dist/server/engine/update/0.9.9/iredmail.pgsql +2 -0
- package/dist/server/engine/update/1.0/iredmail.mysql +2 -0
- package/dist/server/engine/update/1.0/iredmail.pgsql +2 -0
- package/dist/server/engine/update/1.2/last_login.mysql +16 -0
- package/dist/server/engine/update/1.4.0/iredmail.mysql +22 -0
- package/dist/server/engine/update/1.4.0/iredmail.pgsql +20 -0
- package/dist/server/engine/update/1.4.1/iredmail.mysql +3 -0
- package/dist/server/engine/update/1.4.1/iredmail.pgsql +3 -0
- package/dist/server/engine/update/1.4.1/sogo.mysql +11 -0
- package/dist/server/engine/update/1.4.1/sogo.pgsql +30 -0
- package/dist/server/engine/update/1.4.1/update-ldap.py +66 -0
- package/dist/server/engine/update/1.4.2/iredmail.mysql +9 -0
- package/dist/server/engine/update/1.4.2/iredmail.pgsql +9 -0
- package/dist/server/engine/update/1.4.2/sogo.pgsql +30 -0
- package/dist/server/engine/update/1.6.0/sogo_view.pgsql +27 -0
- package/dist/server/engine/update/1.6.3/iredmail.mysql +1 -0
- package/dist/server/engine/update/1.7.0/fail2ban.mysql +11 -0
- package/dist/server/engine/update/1.7.0/fail2ban.pgsql +12 -0
- package/dist/server/engine/update/1.7.1/amavisd.mysql +1 -0
- package/dist/server/engine/update/1.7.2/vmail.mysql +30 -0
- package/dist/server/engine/update/1.7.3/deleted_mailboxes.mysql +43 -0
- package/dist/server/engine/update/1.7.3/iredadmin.mysql +26 -0
- package/dist/server/engine/update/1.7.3/vmail.mysql +79 -0
- package/dist/server/engine/update/1.7.3/vmail.pgsql +9 -0
- package/dist/server/engine/update/README.md +1 -0
- package/dist/server/engine/update/ldap/README.md +40 -0
- package/dist/server/engine/update/ldap/update-ldap-dovecot-2.3.py +69 -0
- package/dist/server/index.js +55574 -53675
- package/dist/server/migrations/0071_gh_device_token.sql +3 -0
- package/dist/server/migrations/0072_gh_device_token_method.sql +1 -0
- package/dist/server/migrations/meta/_journal.json +14 -0
- package/dist/setup-HQIZLUOJ.js +20 -0
- package/dist/{signin-DR462ERO.js → signin-ITOPKKUB.js} +13 -9
- package/dist/{sso-oidc-VBZLJUK5.js → sso-oidc-NON2PD7Y.js} +13 -9
- package/dist/{sts-EJLZ4Z77.js → sts-HHFFSAY2.js} +12 -8
- package/package.json +1 -1
- package/dist/bare-ITM45QBX.js +0 -18
- package/dist/cloud-JMPHO3CW.js +0 -7
- package/dist/cloud-W5G6YXAY.js +0 -24
- package/dist/dist-es-4C322O5D.js +0 -22
- package/dist/docker-3FVJMFC3.js +0 -12
- package/dist/docker-edge-executor-ZIWAZWPL.js +0 -9
- package/dist/edge-import-Y34YL6JK.js +0 -39
- package/dist/executor-J7BHW5HF.js +0 -26
- package/dist/nginx-YZWKYKQU.js +0 -16
- package/dist/noop-RRNCIUI5.js +0 -7
- package/dist/setup-5X3WEEHA.js +0 -14
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
-- \c vmail;
|
|
2
|
+
|
|
3
|
+
-- DROP column
|
|
4
|
+
ALTER TABLE mailbox DROP COLUMN local_part;
|
|
5
|
+
|
|
6
|
+
-- New SQL column
|
|
7
|
+
ALTER TABLE mailbox ADD COLUMN enableimaptls INT2 NOT NULL DEFAULT 1;
|
|
8
|
+
CREATE INDEX idx_mailbox_enableimaptls ON mailbox (enableimaptls);
|
|
9
|
+
ALTER TABLE mailbox ADD COLUMN enablepop3tls INT2 NOT NULL DEFAULT 1;
|
|
10
|
+
CREATE INDEX idx_mailbox_enablepop3tls ON mailbox (enablepop3tls);
|
|
11
|
+
ALTER TABLE mailbox ADD COLUMN enablesievetls INT2 NOT NULL DEFAULT 1;
|
|
12
|
+
CREATE INDEX idx_mailbox_enablesievetls ON mailbox (enablesievetls);
|
|
13
|
+
|
|
14
|
+
-- Rename table
|
|
15
|
+
ALTER TABLE alias_moderators RENAME TO moderators;
|
|
16
|
+
|
|
17
|
+
-- Column used to limit number of mailing lists a domain admin can create
|
|
18
|
+
ALTER TABLE domain ADD COLUMN maillists INT8 NOT NULL DEFAULT 0;
|
|
19
|
+
|
|
20
|
+
-- Column used to mark sql record is a mailing list
|
|
21
|
+
ALTER TABLE forwardings ADD COLUMN is_maillist INT2 NOT NULL DEFAULT 0;
|
|
22
|
+
CREATE INDEX idx_forwardings_is_maillist ON forwardings (is_maillist);
|
|
23
|
+
|
|
24
|
+
CREATE TABLE maillists (
|
|
25
|
+
id SERIAL PRIMARY KEY,
|
|
26
|
+
address VARCHAR(255) NOT NULL DEFAULT '',
|
|
27
|
+
domain VARCHAR(255) NOT NULL DEFAULT '',
|
|
28
|
+
-- Per mailing list transport. for example: 'mlmmj:example.com/listname'.
|
|
29
|
+
transport VARCHAR(255) NOT NULL DEFAULT '',
|
|
30
|
+
accesspolicy VARCHAR(30) NOT NULL DEFAULT '',
|
|
31
|
+
maxmsgsize INT8 NOT NULL DEFAULT 0,
|
|
32
|
+
-- name of the mailing list
|
|
33
|
+
name VARCHAR(255) NOT NULL DEFAULT '',
|
|
34
|
+
-- short introduction of the mailing list on subscription page
|
|
35
|
+
description TEXT,
|
|
36
|
+
-- a server-wide unique id (a 36-characters string) for each mailing list
|
|
37
|
+
mlid VARCHAR(36) NOT NULL DEFAULT '',
|
|
38
|
+
-- control whether newsletter-style subscription from website is enabled
|
|
39
|
+
-- 1 -> enabled, 0 -> disabled
|
|
40
|
+
is_newsletter INT2 NOT NULL DEFAULT 0,
|
|
41
|
+
settings TEXT,
|
|
42
|
+
created TIMESTAMP WITHOUT TIME ZONE NOT NULL DEFAULT '1970-01-01 00:00:00',
|
|
43
|
+
modified TIMESTAMP WITHOUT TIME ZONE NOT NULL DEFAULT '1970-01-01 00:00:00',
|
|
44
|
+
expired TIMESTAMP WITHOUT TIME ZONE NOT NULL DEFAULT '9999-12-31 00:00:00',
|
|
45
|
+
active INT2 NOT NULL DEFAULT 1
|
|
46
|
+
);
|
|
47
|
+
CREATE UNIQUE INDEX idx_maillists_address ON maillists (address);
|
|
48
|
+
CREATE INDEX idx_maillists_domain ON maillists (domain);
|
|
49
|
+
CREATE UNIQUE INDEX idx_maillists_mlid ON maillists (mlid);
|
|
50
|
+
CREATE INDEX idx_maillists_is_newsletter ON maillists (is_newsletter);
|
|
51
|
+
CREATE INDEX idx_maillists_active ON maillists (active);
|
|
52
|
+
|
|
53
|
+
GRANT SELECT ON maillists TO vmail;
|
|
54
|
+
GRANT SELECT ON maillists_id_seq TO vmail;
|
|
55
|
+
GRANT SELECT ON alias_moderators_id_seq TO vmail;
|
|
56
|
+
GRANT SELECT ON forwardings_id_seq TO vmail;
|
|
57
|
+
|
|
58
|
+
GRANT ALL ON maillists TO vmailadmin;
|
|
59
|
+
GRANT ALL ON maillists_id_seq TO vmailadmin;
|
|
60
|
+
GRANT ALL ON alias_moderators_id_seq TO vmailadmin;
|
|
61
|
+
GRANT ALL ON forwardings_id_seq TO vmailadmin;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
-- For MySQL/MariaDB backends, please update database `vmail`.
|
|
2
|
+
-- For OpenLDAP backend, please update database `iredadmin`.
|
|
3
|
+
DROP TABLE `last_login`;
|
|
4
|
+
|
|
5
|
+
CREATE TABLE `last_login` (
|
|
6
|
+
`username` VARCHAR(255) NOT NULL DEFAULT '',
|
|
7
|
+
`domain` VARCHAR(255) NOT NULL DEFAULT '',
|
|
8
|
+
`imap` INT(11) DEFAULT NULL,
|
|
9
|
+
`pop3` INT(11) DEFAULT NULL,
|
|
10
|
+
`lda` INT(11) DEFAULT NULL,
|
|
11
|
+
PRIMARY KEY (`username`),
|
|
12
|
+
INDEX last_login_domain (`domain`),
|
|
13
|
+
INDEX last_login_imap (`imap`),
|
|
14
|
+
INDEX last_login_pop3 (`pop3`),
|
|
15
|
+
INDEX last_login_lda (`lda`)
|
|
16
|
+
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
-- (mlmmj) mailing list owners.
|
|
2
|
+
CREATE TABLE IF NOT EXISTS maillist_owners (
|
|
3
|
+
id BIGINT(20) UNSIGNED AUTO_INCREMENT,
|
|
4
|
+
-- email address of mailing list
|
|
5
|
+
address VARCHAR(255) NOT NULL DEFAULT '',
|
|
6
|
+
-- email address of owner
|
|
7
|
+
owner VARCHAR(255) NOT NULL DEFAULT '',
|
|
8
|
+
domain VARCHAR(255) NOT NULL DEFAULT '',
|
|
9
|
+
-- domain part of owner email address
|
|
10
|
+
dest_domain VARCHAR(255) NOT NULL DEFAULT '',
|
|
11
|
+
PRIMARY KEY (id),
|
|
12
|
+
UNIQUE INDEX (address, owner),
|
|
13
|
+
INDEX (owner),
|
|
14
|
+
INDEX (domain),
|
|
15
|
+
INDEX (dest_domain)
|
|
16
|
+
) ENGINE=InnoDB;
|
|
17
|
+
|
|
18
|
+
-- Drop unused SQL columns
|
|
19
|
+
ALTER TABLE mailbox DROP COLUMN `allowedsenders`;
|
|
20
|
+
ALTER TABLE mailbox DROP COLUMN `rejectedsenders`;
|
|
21
|
+
ALTER TABLE mailbox DROP COLUMN `allowedrecipients`;
|
|
22
|
+
ALTER TABLE mailbox DROP COLUMN `rejectedrecipients`;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
-- (mlmmj) mailing list owners.
|
|
2
|
+
CREATE TABLE maillist_owners (
|
|
3
|
+
id SERIAL PRIMARY KEY,
|
|
4
|
+
address VARCHAR(255) NOT NULL DEFAULT '',
|
|
5
|
+
owner VARCHAR(255) NOT NULL DEFAULT '',
|
|
6
|
+
domain VARCHAR(255) NOT NULL DEFAULT '',
|
|
7
|
+
dest_domain VARCHAR(255) NOT NULL DEFAULT ''
|
|
8
|
+
);
|
|
9
|
+
CREATE UNIQUE INDEX idx_maillist_owners_address_owner ON maillist_owners (address, owner);
|
|
10
|
+
CREATE INDEX idx_maillist_owners_owner ON maillist_owners (owner);
|
|
11
|
+
CREATE INDEX idx_maillist_owners_domain ON maillist_owners (domain);
|
|
12
|
+
CREATE INDEX idx_maillist_owners_dest_domain ON maillist_owners (dest_domain);
|
|
13
|
+
|
|
14
|
+
ALTER TABLE maillist_owners OWNER TO vmailadmin;
|
|
15
|
+
|
|
16
|
+
-- Drop unused SQL columns
|
|
17
|
+
ALTER TABLE mailbox DROP COLUMN "allowedsenders";
|
|
18
|
+
ALTER TABLE mailbox DROP COLUMN "rejectedsenders";
|
|
19
|
+
ALTER TABLE mailbox DROP COLUMN "allowedrecipients";
|
|
20
|
+
ALTER TABLE mailbox DROP COLUMN "rejectedrecipients";
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
DROP VIEW users;
|
|
2
|
+
|
|
3
|
+
CREATE VIEW users (
|
|
4
|
+
c_uid, c_name, c_password, c_cn,
|
|
5
|
+
mail, domain,
|
|
6
|
+
c_webmail, c_calendar, c_activesync)
|
|
7
|
+
AS SELECT username, username, password, name,
|
|
8
|
+
username, domain,
|
|
9
|
+
enablesogowebmail, enablesogocalendar, enablesogoactivesync
|
|
10
|
+
FROM vmail.mailbox
|
|
11
|
+
WHERE enablesogo=1 AND active=1;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
DROP VIEW users;
|
|
2
|
+
|
|
3
|
+
CREATE VIEW users AS
|
|
4
|
+
SELECT * FROM dblink('host=127.0.0.1
|
|
5
|
+
port=5432
|
|
6
|
+
dbname=vmail
|
|
7
|
+
user=vmail
|
|
8
|
+
password=VMAIL_DB_BIND_PASSWD',
|
|
9
|
+
'SELECT username AS c_uid,
|
|
10
|
+
username AS c_name,
|
|
11
|
+
password AS c_password,
|
|
12
|
+
name AS c_cn,
|
|
13
|
+
username AS mail,
|
|
14
|
+
domain AS domain,
|
|
15
|
+
enablesogowebmail AS c_webmail,
|
|
16
|
+
enablesogocalendar AS c_calendar,
|
|
17
|
+
enablesogoactivesync AS c_activesync
|
|
18
|
+
FROM mailbox
|
|
19
|
+
WHERE enablesogo=1 AND active=1')
|
|
20
|
+
AS users (c_uid VARCHAR(255),
|
|
21
|
+
c_name VARCHAR(255),
|
|
22
|
+
c_password VARCHAR(255),
|
|
23
|
+
c_cn VARCHAR(255),
|
|
24
|
+
mail VARCHAR(255),
|
|
25
|
+
domain VARCHAR(255),
|
|
26
|
+
c_webmail VARCHAR(1),
|
|
27
|
+
c_calendar VARCHAR(1),
|
|
28
|
+
c_activesync VARCHAR(1));
|
|
29
|
+
|
|
30
|
+
ALTER TABLE users OWNER TO sogo;
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
# Author: Zhang Huangbin <zhb _at_ iredmail.org>
|
|
3
|
+
# Purpose: Add new attribute/value pairs introduced in iRedMail-1.4.1:
|
|
4
|
+
# enabledService=sogowebmail
|
|
5
|
+
# enabledService=sogocalendar
|
|
6
|
+
# enabledService=sogoactivesync
|
|
7
|
+
# Date: Sep 1, 2021.
|
|
8
|
+
|
|
9
|
+
import ldap
|
|
10
|
+
|
|
11
|
+
# Note: bind_dn must have write privilege on LDAP server.
|
|
12
|
+
uri = 'ldap://127.0.0.1:389'
|
|
13
|
+
basedn = 'o=domains,dc=example,dc=com'
|
|
14
|
+
bind_dn = 'cn=Manager,dc=example,dc=com'
|
|
15
|
+
bind_pw = 'password'
|
|
16
|
+
|
|
17
|
+
# Initialize LDAP connection.
|
|
18
|
+
print("* Connecting to LDAP server: {}".format(uri))
|
|
19
|
+
conn = ldap.initialize(uri=uri, trace_level=0,)
|
|
20
|
+
conn.bind_s(bind_dn, bind_pw)
|
|
21
|
+
|
|
22
|
+
# Get all mail users.
|
|
23
|
+
print("* Get mail accounts ...")
|
|
24
|
+
allUsers = conn.search_s(
|
|
25
|
+
basedn,
|
|
26
|
+
ldap.SCOPE_SUBTREE,
|
|
27
|
+
"(objectClass=mailUser)",
|
|
28
|
+
['mail', 'enabledService'],
|
|
29
|
+
)
|
|
30
|
+
|
|
31
|
+
total = len(allUsers)
|
|
32
|
+
print("* Found {} user(s).".format(total))
|
|
33
|
+
|
|
34
|
+
# Counter.
|
|
35
|
+
count = 1
|
|
36
|
+
|
|
37
|
+
for (dn, entry) in allUsers:
|
|
38
|
+
mail = entry['mail'][0].decode()
|
|
39
|
+
if 'enabledService' not in entry:
|
|
40
|
+
continue
|
|
41
|
+
|
|
42
|
+
enabledService = entry['enabledService']
|
|
43
|
+
|
|
44
|
+
_update = False
|
|
45
|
+
for srv in [b"sogowebmail", b"sogocalendar", b"sogoactivesync"]:
|
|
46
|
+
if srv not in enabledService:
|
|
47
|
+
enabledService.append(srv)
|
|
48
|
+
_update = True
|
|
49
|
+
|
|
50
|
+
if _update:
|
|
51
|
+
print("* ({} of {}) Updating user: {}".format(count, total, mail))
|
|
52
|
+
mod_attr = [(ldap.MOD_REPLACE, 'enabledService', enabledService)]
|
|
53
|
+
try:
|
|
54
|
+
conn.modify_s(dn, mod_attr)
|
|
55
|
+
except Exception as e:
|
|
56
|
+
print("Error while updating user {}: {}".format(mail, repr(e)))
|
|
57
|
+
else:
|
|
58
|
+
print("* [SKIP] No update required for user: {}".format(mail))
|
|
59
|
+
|
|
60
|
+
count += 1
|
|
61
|
+
|
|
62
|
+
# Unbind connection.
|
|
63
|
+
print("* Unbind LDAP server.")
|
|
64
|
+
conn.unbind()
|
|
65
|
+
|
|
66
|
+
print("* Update completed.")
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
-- Fix incorrect column types.
|
|
2
|
+
ALTER TABLE mailbox MODIFY COLUMN `enablesogowebmail` VARCHAR(1) NOT NULL DEFAULT 'y';
|
|
3
|
+
ALTER TABLE mailbox MODIFY COLUMN `enablesogocalendar` VARCHAR(1) NOT NULL DEFAULT 'y';
|
|
4
|
+
ALTER TABLE mailbox MODIFY COLUMN `enablesogoactivesync` VARCHAR(1) NOT NULL DEFAULT 'y';
|
|
5
|
+
|
|
6
|
+
-- Drop unused columns.
|
|
7
|
+
ALTER TABLE mailbox DROP COLUMN `lastlogindate`;
|
|
8
|
+
ALTER TABLE mailbox DROP COLUMN `lastloginipv4`;
|
|
9
|
+
ALTER TABLE mailbox DROP COLUMN `lastloginprotocol`;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
-- Fix incorrect column types.
|
|
2
|
+
ALTER TABLE mailbox ALTER COLUMN "enablesogowebmail" TYPE VARCHAR(1);
|
|
3
|
+
ALTER TABLE mailbox ALTER COLUMN "enablesogocalendar" TYPE VARCHAR(1);
|
|
4
|
+
ALTER TABLE mailbox ALTER COLUMN "enablesogoactivesync" TYPE VARCHAR(1);
|
|
5
|
+
|
|
6
|
+
-- Drop unused columns.
|
|
7
|
+
ALTER TABLE mailbox DROP COLUMN "lastlogindate";
|
|
8
|
+
ALTER TABLE mailbox DROP COLUMN "lastloginipv4";
|
|
9
|
+
ALTER TABLE mailbox DROP COLUMN "lastloginprotocol";
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
DROP VIEW users;
|
|
2
|
+
|
|
3
|
+
CREATE VIEW users AS
|
|
4
|
+
SELECT * FROM dblink('host=127.0.0.1
|
|
5
|
+
port=5432
|
|
6
|
+
dbname=vmail
|
|
7
|
+
user=vmail
|
|
8
|
+
password=VMAIL_DB_BIND_PASSWD',
|
|
9
|
+
'SELECT username AS c_uid,
|
|
10
|
+
username AS c_name,
|
|
11
|
+
password AS c_password,
|
|
12
|
+
name AS c_cn,
|
|
13
|
+
username AS mail,
|
|
14
|
+
domain AS domain,
|
|
15
|
+
enablesogowebmail AS c_webmail,
|
|
16
|
+
enablesogocalendar AS c_calendar,
|
|
17
|
+
enablesogoactivesync AS c_activesync
|
|
18
|
+
FROM mailbox
|
|
19
|
+
WHERE enablesogo=1 AND active=1')
|
|
20
|
+
AS users (c_uid VARCHAR(255),
|
|
21
|
+
c_name VARCHAR(255),
|
|
22
|
+
c_password VARCHAR(255),
|
|
23
|
+
c_cn VARCHAR(255),
|
|
24
|
+
mail VARCHAR(255),
|
|
25
|
+
domain VARCHAR(255),
|
|
26
|
+
c_webmail VARCHAR(1),
|
|
27
|
+
c_calendar VARCHAR(1),
|
|
28
|
+
c_activesync VARCHAR(1));
|
|
29
|
+
|
|
30
|
+
ALTER TABLE users OWNER TO sogo;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
\c vmail;
|
|
2
|
+
|
|
3
|
+
-- cannot alter type of a column used by a view or rule
|
|
4
|
+
DROP VIEW IF EXISTS sogo_users;
|
|
5
|
+
|
|
6
|
+
ALTER TABLE mailbox ALTER COLUMN enablesogowebmail TYPE VARCHAR(1);
|
|
7
|
+
ALTER TABLE mailbox ALTER COLUMN enablesogocalendar TYPE VARCHAR(1);
|
|
8
|
+
ALTER TABLE mailbox ALTER COLUMN enablesogoactivesync TYPE VARCHAR(1);
|
|
9
|
+
|
|
10
|
+
CREATE VIEW sogo_users AS
|
|
11
|
+
SELECT username AS c_uid,
|
|
12
|
+
username AS c_name,
|
|
13
|
+
password AS c_password,
|
|
14
|
+
name AS c_cn,
|
|
15
|
+
username AS mail,
|
|
16
|
+
domain AS domain,
|
|
17
|
+
enablesogowebmail AS c_webmail,
|
|
18
|
+
enablesogocalendar AS c_calendar,
|
|
19
|
+
enablesogoactivesync AS c_activesync
|
|
20
|
+
FROM mailbox
|
|
21
|
+
WHERE enablesogo=1 AND active=1;
|
|
22
|
+
|
|
23
|
+
ALTER TABLE sogo_users OWNER TO vmailadmin;
|
|
24
|
+
|
|
25
|
+
-- allow end users to change their own passwords.
|
|
26
|
+
GRANT SELECT,UPDATE ON mailbox TO sogo;
|
|
27
|
+
GRANT SELECT,UPDATE ON sogo_users TO sogo;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
ALTER TABLE forwardings ADD INDEX IF NOT EXISTS forwarding (forwarding);
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
--
|
|
2
|
+
-- Used to store both enabled and disabled jails.
|
|
3
|
+
--
|
|
4
|
+
CREATE TABLE IF NOT EXISTS `jails` (
|
|
5
|
+
`id` BIGINT(20) UNSIGNED AUTO_INCREMENT,
|
|
6
|
+
`name` VARCHAR(255) NOT NULL DEFAULT '',
|
|
7
|
+
`enabled` TINYINT(1) DEFAULT 1,
|
|
8
|
+
PRIMARY KEY (`id`),
|
|
9
|
+
UNIQUE INDEX (`name`),
|
|
10
|
+
INDEX (`enabled`)
|
|
11
|
+
) ENGINE=InnoDB;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
--
|
|
2
|
+
-- Used to store both enabled and disabled jails.
|
|
3
|
+
--
|
|
4
|
+
CREATE TABLE jails (
|
|
5
|
+
id SERIAL PRIMARY KEY,
|
|
6
|
+
name VARCHAR(255) NOT NULL DEFAULT '',
|
|
7
|
+
enabled INT2 DEFAULT 1
|
|
8
|
+
);
|
|
9
|
+
CREATE UNIQUE INDEX idx_jails_name ON jails (name);
|
|
10
|
+
CREATE INDEX idx_jails_enabled ON jails (enabled);
|
|
11
|
+
|
|
12
|
+
ALTER TABLE jails OWNER TO fail2ban;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
ALTER TABLE msgs MODIFY COLUMN subject VARBINARY(1024) DEFAULT '';
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
--
|
|
2
|
+
-- Requires MySQL 5.5.3 (released in early 2010) or later releases.
|
|
3
|
+
--
|
|
4
|
+
-- Run command to show all columns of a table:
|
|
5
|
+
-- SHOW FULL COLUMNS FROM <table>;
|
|
6
|
+
|
|
7
|
+
ALTER DATABASE vmail
|
|
8
|
+
DEFAULT CHARACTER SET utf8mb4
|
|
9
|
+
DEFAULT COLLATE utf8mb4_general_ci;
|
|
10
|
+
|
|
11
|
+
ALTER TABLE admin CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
|
12
|
+
ALTER TABLE alias CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
|
13
|
+
ALTER TABLE alias_domain CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
|
14
|
+
ALTER TABLE anyone_shares CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
|
15
|
+
ALTER TABLE deleted_mailboxes CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
|
16
|
+
ALTER TABLE domain CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
|
17
|
+
ALTER TABLE domain_admins CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
|
18
|
+
ALTER TABLE forwardings CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
|
19
|
+
ALTER TABLE last_login CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
|
20
|
+
ALTER TABLE mailbox CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
|
21
|
+
ALTER TABLE maillist_owners CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
|
22
|
+
ALTER TABLE maillists CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
|
23
|
+
ALTER TABLE moderators CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
|
24
|
+
ALTER TABLE recipient_bcc_domain CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
|
25
|
+
ALTER TABLE recipient_bcc_user CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
|
26
|
+
ALTER TABLE sender_bcc_domain CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
|
27
|
+
ALTER TABLE sender_bcc_user CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
|
28
|
+
ALTER TABLE sender_relayhost CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
|
29
|
+
ALTER TABLE share_folder CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
|
30
|
+
ALTER TABLE used_quota CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
--
|
|
2
|
+
-- MariaDB 5.5 on CentOS 7 does not support `ADD COLUMN IF EXISTS`, so here is
|
|
3
|
+
-- an alternative way to add it without error.
|
|
4
|
+
--
|
|
5
|
+
-- Add columns in `vmail.deleted_mailboxes` (MariaDB) or
|
|
6
|
+
-- `iredadmin.deleted_mailboxes` (OpenLDAP):
|
|
7
|
+
--
|
|
8
|
+
-- - birthday
|
|
9
|
+
-- - recovery_email
|
|
10
|
+
--
|
|
11
|
+
drop procedure if exists irm173_schema_change;
|
|
12
|
+
|
|
13
|
+
delimiter ';;'
|
|
14
|
+
create procedure irm173_schema_change() begin
|
|
15
|
+
if not exists (select * from information_schema.columns where table_schema = 'vmail' and table_name = 'mailbox' and column_name = 'first_name') then
|
|
16
|
+
ALTER TABLE mailbox ADD COLUMN `first_name` VARCHAR(255) NOT NULL DEFAULT '';
|
|
17
|
+
end if;
|
|
18
|
+
|
|
19
|
+
if not exists (select * from information_schema.columns where table_schema = 'vmail' and table_name = 'mailbox' and column_name = 'last_name') then
|
|
20
|
+
ALTER TABLE mailbox ADD COLUMN `last_name` VARCHAR(255) NOT NULL DEFAULT '';
|
|
21
|
+
end if;
|
|
22
|
+
|
|
23
|
+
if not exists (select * from information_schema.columns where table_schema = 'vmail' and table_name = 'mailbox' and column_name = 'mobile') then
|
|
24
|
+
ALTER TABLE mailbox ADD COLUMN `mobile` VARCHAR(255) NOT NULL DEFAULT '';
|
|
25
|
+
end if;
|
|
26
|
+
|
|
27
|
+
if not exists (select * from information_schema.columns where table_schema = 'vmail' and table_name = 'mailbox' and column_name = 'telephone') then
|
|
28
|
+
ALTER TABLE mailbox ADD COLUMN `telephone` VARCHAR(255) NOT NULL DEFAULT '';
|
|
29
|
+
end if;
|
|
30
|
+
|
|
31
|
+
if not exists (select * from information_schema.columns where table_schema = 'vmail' and table_name = 'mailbox' and column_name = 'birthday') then
|
|
32
|
+
ALTER TABLE mailbox ADD COLUMN `birthday` DATE NOT NULL DEFAULT '0001-01-01';
|
|
33
|
+
end if;
|
|
34
|
+
|
|
35
|
+
if not exists (select * from information_schema.columns where table_schema = 'vmail' and table_name = 'mailbox' and column_name = 'recovery_email') then
|
|
36
|
+
ALTER TABLE mailbox ADD COLUMN `recovery_email` VARCHAR(255) NOT NULL DEFAULT '';
|
|
37
|
+
end if;
|
|
38
|
+
end;;
|
|
39
|
+
|
|
40
|
+
delimiter ';'
|
|
41
|
+
call irm173_schema_change();
|
|
42
|
+
|
|
43
|
+
drop procedure if exists irm173_schema_change;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
--
|
|
2
|
+
-- MariaDB 5.5 on CentOS 7 does not support `ADD COLUMN IF EXISTS`, so here is
|
|
3
|
+
-- an alternative way to add it without error.
|
|
4
|
+
--
|
|
5
|
+
-- Add columns in `iredadmin.deleted_mailboxes` for OpenLDAP backend:
|
|
6
|
+
--
|
|
7
|
+
-- - bytes
|
|
8
|
+
-- - messages
|
|
9
|
+
|
|
10
|
+
drop procedure if exists irm173_schema_change;
|
|
11
|
+
|
|
12
|
+
delimiter ';;'
|
|
13
|
+
create procedure irm173_schema_change() begin
|
|
14
|
+
if not exists (select * from information_schema.columns where table_schema = 'iredadmin' and table_name = 'deleted_mailboxes' and column_name = 'bytes') then
|
|
15
|
+
ALTER TABLE deleted_mailboxes ADD COLUMN `bytes` BIGINT NOT NULL DEFAULT 0;
|
|
16
|
+
end if;
|
|
17
|
+
|
|
18
|
+
if not exists (select * from information_schema.columns where table_schema = 'iredadmin' and table_name = 'deleted_mailboxes' and column_name = 'messages') then
|
|
19
|
+
ALTER TABLE deleted_mailboxes ADD COLUMN `messages` BIGINT NOT NULL DEFAULT 0;
|
|
20
|
+
end if;
|
|
21
|
+
end;;
|
|
22
|
+
|
|
23
|
+
delimiter ';'
|
|
24
|
+
call irm173_schema_change();
|
|
25
|
+
|
|
26
|
+
drop procedure if exists irm173_schema_change;
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
--
|
|
2
|
+
-- MariaDB 5.5 on CentOS 7 does not support `ADD COLUMN IF EXISTS`, so here is
|
|
3
|
+
-- an alternative way to add it without error.
|
|
4
|
+
--
|
|
5
|
+
-- Add columns in `vmail.mailbox`:
|
|
6
|
+
--
|
|
7
|
+
-- - first_name
|
|
8
|
+
-- - last_name
|
|
9
|
+
-- - mobile
|
|
10
|
+
-- - telephone
|
|
11
|
+
-- - birthday
|
|
12
|
+
-- - recovery_email
|
|
13
|
+
--
|
|
14
|
+
-- Add columns in `vmail.deleted_mailboxes`:
|
|
15
|
+
--
|
|
16
|
+
-- - bytes
|
|
17
|
+
-- - messages
|
|
18
|
+
--
|
|
19
|
+
-- Old MariaDB may use `COMPAT` row format, it causes error like
|
|
20
|
+
--
|
|
21
|
+
-- "Row size too large. The maximum row size for the used table type, not counting BLOBs,
|
|
22
|
+
-- is 8126. This includes storage overhead, check the manual. You have to change some
|
|
23
|
+
-- columns to TEXT or BLOBs"
|
|
24
|
+
--
|
|
25
|
+
-- DYNAMIC is default innodb row format in MariaDB for years, it is safe to
|
|
26
|
+
-- switch.
|
|
27
|
+
|
|
28
|
+
SET @row_format = (SELECT ROW_FORMAT FROM INFORMATION_SCHEMA.TABLES
|
|
29
|
+
WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'mailbox');
|
|
30
|
+
|
|
31
|
+
SET @sql = IF(@row_format != 'Dynamic',
|
|
32
|
+
CONCAT('ALTER TABLE mailbox ROW_FORMAT=DYNAMIC;'),
|
|
33
|
+
'SELECT "Row format is already Dynamic" AS Message;');
|
|
34
|
+
|
|
35
|
+
PREPARE stmt FROM @sql;
|
|
36
|
+
EXECUTE stmt;
|
|
37
|
+
DEALLOCATE PREPARE stmt;
|
|
38
|
+
|
|
39
|
+
drop procedure if exists irm173_schema_change;
|
|
40
|
+
|
|
41
|
+
delimiter ';;'
|
|
42
|
+
create procedure irm173_schema_change() begin
|
|
43
|
+
if not exists (select * from information_schema.columns where table_schema = 'vmail' and table_name = 'mailbox' and column_name = 'first_name') then
|
|
44
|
+
ALTER TABLE mailbox ADD COLUMN `first_name` VARCHAR(255) NOT NULL DEFAULT '';
|
|
45
|
+
end if;
|
|
46
|
+
|
|
47
|
+
if not exists (select * from information_schema.columns where table_schema = 'vmail' and table_name = 'mailbox' and column_name = 'last_name') then
|
|
48
|
+
ALTER TABLE mailbox ADD COLUMN `last_name` VARCHAR(255) NOT NULL DEFAULT '';
|
|
49
|
+
end if;
|
|
50
|
+
|
|
51
|
+
if not exists (select * from information_schema.columns where table_schema = 'vmail' and table_name = 'mailbox' and column_name = 'mobile') then
|
|
52
|
+
ALTER TABLE mailbox ADD COLUMN `mobile` VARCHAR(255) NOT NULL DEFAULT '';
|
|
53
|
+
end if;
|
|
54
|
+
|
|
55
|
+
if not exists (select * from information_schema.columns where table_schema = 'vmail' and table_name = 'mailbox' and column_name = 'telephone') then
|
|
56
|
+
ALTER TABLE mailbox ADD COLUMN `telephone` VARCHAR(255) NOT NULL DEFAULT '';
|
|
57
|
+
end if;
|
|
58
|
+
|
|
59
|
+
if not exists (select * from information_schema.columns where table_schema = 'vmail' and table_name = 'mailbox' and column_name = 'birthday') then
|
|
60
|
+
ALTER TABLE mailbox ADD COLUMN `birthday` DATE NOT NULL DEFAULT '0001-01-01';
|
|
61
|
+
end if;
|
|
62
|
+
|
|
63
|
+
if not exists (select * from information_schema.columns where table_schema = 'vmail' and table_name = 'mailbox' and column_name = 'recovery_email') then
|
|
64
|
+
ALTER TABLE mailbox ADD COLUMN `recovery_email` VARCHAR(255) NOT NULL DEFAULT '';
|
|
65
|
+
end if;
|
|
66
|
+
|
|
67
|
+
if not exists (select * from information_schema.columns where table_schema = 'vmail' and table_name = 'deleted_mailboxes' and column_name = 'bytes') then
|
|
68
|
+
ALTER TABLE deleted_mailboxes ADD COLUMN `bytes` BIGINT NOT NULL DEFAULT 0;
|
|
69
|
+
end if;
|
|
70
|
+
|
|
71
|
+
if not exists (select * from information_schema.columns where table_schema = 'vmail' and table_name = 'deleted_mailboxes' and column_name = 'messages') then
|
|
72
|
+
ALTER TABLE deleted_mailboxes ADD COLUMN `messages` BIGINT NOT NULL DEFAULT 0;
|
|
73
|
+
end if;
|
|
74
|
+
end;;
|
|
75
|
+
|
|
76
|
+
delimiter ';'
|
|
77
|
+
call irm173_schema_change();
|
|
78
|
+
|
|
79
|
+
drop procedure if exists irm173_schema_change;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
ALTER TABLE mailbox ADD COLUMN IF NOT EXISTS "first_name" VARCHAR(255) NOT NULL DEFAULT '';
|
|
2
|
+
ALTER TABLE mailbox ADD COLUMN IF NOT EXISTS "last_name" VARCHAR(255) NOT NULL DEFAULT '';
|
|
3
|
+
ALTER TABLE mailbox ADD COLUMN IF NOT EXISTS "mobile" VARCHAR(255) NOT NULL DEFAULT '';
|
|
4
|
+
ALTER TABLE mailbox ADD COLUMN IF NOT EXISTS "telephone" VARCHAR(255) NOT NULL DEFAULT '';
|
|
5
|
+
ALTER TABLE mailbox ADD COLUMN IF NOT EXISTS "birthday" DATE NOT NULL DEFAULT '0001-01-01';
|
|
6
|
+
ALTER TABLE mailbox ADD COLUMN IF NOT EXISTS "recovery_email" VARCHAR(255) NOT NULL DEFAULT '';
|
|
7
|
+
|
|
8
|
+
ALTER TABLE deleted_mailboxes ADD COLUMN IF NOT EXISTS "bytes" INT8 NOT NULL DEFAULT 0;
|
|
9
|
+
ALTER TABLE deleted_mailboxes ADD COLUMN IF NOT EXISTS "messages" INT8 NOT NULL DEFAULT 0;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Please follow [iRedMail upgrade tutorials](https://docs.iredmail.org/iredmail.releases.html) to use SQL/Shell/Python scripts in this directory, do not run any of them blindly.
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# Update LDAP data
|
|
2
|
+
|
|
3
|
+
[TOC]
|
|
4
|
+
|
|
5
|
+
## Summary
|
|
6
|
+
|
|
7
|
+
If you're restoring from an old iRedMail release, you need to add missing LDAP
|
|
8
|
+
attribute/values, which are introduced in new iRedMail releases, by running
|
|
9
|
+
Python scripts below: <https://github.com/iredmail/iRedMail/tree/1.3.1/update/ldap/>.
|
|
10
|
+
|
|
11
|
+
For example:
|
|
12
|
+
|
|
13
|
+
* If you're restoring iRedMail from `0.9.1` to `0.9.5`, you must run all update
|
|
14
|
+
scripts for iRedMail-0.9.1 and newer releases. In this case, only file
|
|
15
|
+
`updateLDAPValues_094_to_095.py` listed in above link is required.
|
|
16
|
+
|
|
17
|
+
* If you're restoring iRedMail from `0.8.6` to `0.9.5`, you need 3 files:
|
|
18
|
+
|
|
19
|
+
* `updateLDAPValues_086_to_087.py`
|
|
20
|
+
* `updateLDAPValues_087_to_090.py`
|
|
21
|
+
* `updateLDAPValues_094_to_095.py`
|
|
22
|
+
|
|
23
|
+
## How to use those upgrade scripts
|
|
24
|
+
|
|
25
|
+
Please open the file you need to run, for example, `updateLDAPValues_094_to_095.py`,
|
|
26
|
+
find parameters like below:
|
|
27
|
+
|
|
28
|
+
```
|
|
29
|
+
uri = 'ldap://127.0.0.1:389'
|
|
30
|
+
basedn = 'o=domains,dc=example,dc=com'
|
|
31
|
+
bind_dn = 'cn=Manager,dc=example,dc=com'
|
|
32
|
+
bind_pw = 'passwd'
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
Please update them with the correct LDAP prefix (`dc=xx,dc=xx`) and bind
|
|
36
|
+
password, then run it with `python` command:
|
|
37
|
+
|
|
38
|
+
```
|
|
39
|
+
python2 updateLDAPValues_094_to_095.py
|
|
40
|
+
```
|