Marius Cramer
2013-10-14 d9bcf68e395d6156645a7974b1a992aa6e6c00aa
install/dist/lib/fedora.lib.php
@@ -163,41 +163,35 @@
      if(!is_group($cf['vmail_groupname'])) caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
      $command = 'useradd -g '.$cf['vmail_groupname'].' -u '.$cf['vmail_userid'].' '.$cf['vmail_username'].' -d '.$cf['vmail_mailbox_base'].' -m';
      if(!is_user($cf['vmail_username'])) caselog("$command &> /dev/null", __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
      if(!is_user($cf['vmail_username'])) caselog("$command &> /dev/null", __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
      //* These postconf commands will be executed on installation and update
      $postconf_commands = array (
         'virtual_alias_domains =',
         'virtual_alias_maps = proxy:mysql:'.$config_dir.'/mysql-virtual_forwardings.cf, mysql:'.$config_dir.'/mysql-virtual_email2email.cf',
         'virtual_mailbox_domains = proxy:mysql:'.$config_dir.'/mysql-virtual_domains.cf',
         'virtual_mailbox_maps = proxy:mysql:'.$config_dir.'/mysql-virtual_mailboxes.cf',
         'virtual_mailbox_base = '.$cf['vmail_mailbox_base'],
         'virtual_uid_maps = static:'.$cf['vmail_userid'],
         'virtual_gid_maps = static:'.$cf['vmail_groupid'],
         'smtpd_sasl_auth_enable = yes',
         'broken_sasl_auth_clients = yes',
         'smtpd_sasl_authenticated_header = yes',
         'smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, check_recipient_access mysql:'.$config_dir.'/mysql-virtual_recipient.cf, reject_unauth_destination',
         'smtpd_use_tls = yes',
         'smtpd_tls_security_level = may',
         'smtpd_tls_cert_file = '.$config_dir.'/smtpd.cert',
         'smtpd_tls_key_file = '.$config_dir.'/smtpd.key',
         'transport_maps = hash:/var/lib/mailman/data/transport-mailman, proxy:mysql:'.$config_dir.'/mysql-virtual_transports.cf',
         'relay_domains = mysql:'.$config_dir.'/mysql-virtual_relaydomains.cf',
         'relay_recipient_maps = mysql:'.$config_dir.'/mysql-virtual_relayrecipientmaps.cf',
         'proxy_read_maps = $local_recipient_maps $mydestination $virtual_alias_maps $virtual_alias_domains $virtual_mailbox_maps $virtual_mailbox_domains $relay_recipient_maps $relay_domains $canonical_maps $sender_canonical_maps $recipient_canonical_maps $relocated_maps $transport_maps $mynetworks $virtual_mailbox_limit_maps',
         'smtpd_sender_restrictions = check_sender_access mysql:'.$config_dir.'/mysql-virtual_sender.cf',
         'smtpd_client_restrictions = check_client_access mysql:'.$config_dir.'/mysql-virtual_client.cf',
         'maildrop_destination_concurrency_limit = 1',
         'maildrop_destination_recipient_limit   = 1',
         'virtual_transport = maildrop',
         'header_checks = regexp:'.$config_dir.'/header_checks',
         'mime_header_checks = regexp:'.$config_dir.'/mime_header_checks',
         'nested_header_checks = regexp:'.$config_dir.'/nested_header_checks',
         'body_checks = regexp:'.$config_dir.'/body_checks',
         'inet_interfaces = all'
      );
      $server_ini_rec = $this->db->queryOneRecord("SELECT config FROM server WHERE server_id = ".$conf['server_id']);
      $server_ini_array = ini_to_array(stripslashes($server_ini_rec['config']));
      unset($server_ini_rec);
      //* If there are RBL's defined, format the list and add them to smtp_recipient_restrictions to prevent removeal after an update
      $rbl_list = '';
      if (@isset($server_ini_array['mail']['realtime_blackhole_list']) && $server_ini_array['mail']['realtime_blackhole_list'] != '') {
         $rbl_hosts = explode(",",str_replace(" ", "", $server_ini_array['mail']['realtime_blackhole_list']));
         foreach ($rbl_hosts as $key => $value) {
            $rbl_list .= ", reject_rbl_client ". $value;
         }
      }
      unset($rbl_hosts);
      unset($server_ini_array);
      //* These postconf commands will be executed on installation and update
        $postconf_placeholders = array('{config_dir}' => $config_dir,
                                       '{vmail_mailbox_base}' => $cf['vmail_mailbox_base'],
                                       '{vmail_userid}' => $cf['vmail_userid'],
                                       '{vmail_groupid}' => $cf['vmail_groupid'],
                                       '{rbl_list}' => $rbl_list);
        $postconf_tpl = rfsel($conf['ispconfig_install_dir'].'/server/conf-custom/install/fedora_postfix.conf.master', 'tpl/fedora_postfix.conf.master');
        $postconf_tpl = strtr($postconf_tpl, $postconf_placeholders);
        $postconf_commands = array_filter(explode("\n", $postconf_tpl)); // read and remove empty lines
      //* These postconf commands will be executed on installation only
      if($this->is_update == false) {
         $postconf_commands = array_merge($postconf_commands,array(
@@ -851,6 +845,7 @@
      $content = str_replace('{language}', $conf['language'], $content);
      $content = str_replace('{timezone}', $conf['timezone'], $content);
      $content = str_replace('{theme}', $conf['theme'], $content);
      $content = str_replace('{language_file_import_enabled}', ($conf['language_file_import_enabled'] == true)?'true':'false', $content);
      
      wf("$install_dir/interface/lib/$configfile", $content);
      
@@ -875,6 +870,7 @@
      $content = str_replace('{language}', $conf['language'], $content);
      $content = str_replace('{timezone}', $conf['timezone'], $content);
      $content = str_replace('{theme}', $conf['theme'], $content);
      $content = str_replace('{language_file_import_enabled}', ($conf['language_file_import_enabled'] == true)?'true':'false', $content);
      wf("$install_dir/server/lib/$configfile", $content);