@@ -52,7 +52,7 @@ private function install_acme() {
5252 }
5353
5454 public function update_acme () {
55- $ acme = explode ("\n" , shell_exec ('which acme.sh /usr/local/ispconfig/server/scripts/acme.sh /root/.acme.sh/acme.sh ' ));
55+ $ acme = explode ("\n" , shell_exec ('which acme.sh /usr/local/ispconfig/server/scripts/acme.sh /root/.acme.sh/acme.sh 2> /dev/null ' ));
5656 $ acme = reset ($ acme );
5757 $ val = 0 ;
5858
@@ -892,6 +892,20 @@ public function configure_jailkit() {
892892 public function configure_mailman ($ status = 'insert ' ) {
893893 global $ conf ;
894894
895+ // Fix for #6314: bug on Debian 11 systems where Mailman3 is not available and broken routes exist in the Mailman config
896+ $ data_dir = '/var/lib/mailman ' ;
897+ if (($ conf ['mailman ' ]['installed ' ] != true ) && is_dir ($ data_dir )) {
898+ rename ($ data_dir , $ data_dir . '-bk ' );
899+ //* Create the mailman files
900+ if (!is_dir ('/var/lib/mailman/data ' )) exec ('mkdir -p /var/lib/mailman/data ' );
901+ if (!is_file ('/var/lib/mailman/data/aliases ' )) touch ('/var/lib/mailman/data/aliases ' );
902+ exec ('postmap /var/lib/mailman/data/aliases ' );
903+ if (!is_file ('/var/lib/mailman/data/virtual-mailman ' )) touch ('/var/lib/mailman/data/virtual-mailman ' );
904+ exec ('postmap /var/lib/mailman/data/virtual-mailman ' );
905+ if (!is_file ('/var/lib/mailman/data/transport-mailman ' )) touch ('/var/lib/mailman/data/transport-mailman ' );
906+ exec ('postmap /var/lib/mailman/data/transport-mailman ' );
907+ }
908+
895909 $ config_dir = $ conf ['mailman ' ]['config_dir ' ].'/ ' ;
896910 $ full_file_name = $ config_dir .'mm_cfg.py ' ;
897911 //* Backup exiting file
@@ -1653,7 +1667,7 @@ public function configure_amavis() {
16531667 //* These postconf commands will be executed on installation and update
16541668 $ server_ini_rec = $ this ->db ->queryOneRecord ("SELECT mail_server, config FROM ?? WHERE server_id = ? " , $ conf ["mysql " ]["database " ] . '.server ' , $ conf ['server_id ' ]);
16551669 $ server_ini_array = ini_to_array (stripslashes ($ server_ini_rec ['config ' ]));
1656- $ mail_server = ( $ server_ini_rec [ ' mail_server ' ]) ? true : false ;
1670+ $ mail_server = $ conf [ ' services ' ][ ' mail ' ] ;
16571671 unset($ server_ini_rec );
16581672
16591673 // amavisd user config file
@@ -1777,7 +1791,7 @@ public function configure_rspamd() {
17771791 //* These postconf commands will be executed on installation and update
17781792 $ server_ini_rec = $ this ->db ->queryOneRecord ("SELECT mail_server, config FROM ?? WHERE server_id = ? " , $ conf ["mysql " ]["database " ] . '.server ' , $ conf ['server_id ' ]);
17791793 $ server_ini_array = ini_to_array (stripslashes ($ server_ini_rec ['config ' ]));
1780- $ mail_server = ( $ server_ini_rec [ ' mail_server ' ]) ? true : false ;
1794+ $ mail_server = $ conf [ ' services ' ][ ' mail ' ] ;
17811795 unset($ server_ini_rec );
17821796
17831797 $ config_dir = $ conf ['postfix ' ]['config_dir ' ];
@@ -1981,8 +1995,13 @@ public function configure_rspamd() {
19811995
19821996 exec ('chmod a+r /etc/rspamd/local.d/* /etc/rspamd/local.d/maps.d/* /etc/rspamd/override.d/* ' );
19831997 # protect passwords in these files
1984- exec ('chgrp _rspamd /etc/rspamd/local.d/redis.conf /etc/rspamd/local.d/classifier-bayes.conf /etc/rspamd/local.d/worker-controller.inc ' );
1985- exec ('chmod 640 /etc/rspamd/local.d/redis.conf /etc/rspamd/local.d/classifier-bayes.conf /etc/rspamd/local.d/worker-controller.inc ' );
1998+ exec ('chgrp _rspamd /etc/rspamd/local.d/redis.conf /etc/rspamd/local.d/classifier-bayes.conf ' );
1999+ exec ('chmod 640 /etc/rspamd/local.d/redis.conf /etc/rspamd/local.d/classifier-bayes.conf ' );
2000+
2001+ if (file_exists ('/etc/rspamd/local.d/worker-controller.inc ' )) {
2002+ exec ('chgrp _rspamd /etc/rspamd/local.d/worker-controller.inc ' );
2003+ exec ('chmod 640 /etc/rspamd/local.d/worker-controller.inc ' );
2004+ }
19862005
19872006 # unneccesary, since this was done above?
19882007 $ command = 'usermod -a -G amavis _rspamd ' ;
0 commit comments