Florian Schaal
2014-08-14 165399547143a2c88d1546a814370ccef79ddfb6
fixed (re)creation of DKIM Path and add some warn-logs
1 files modified
14 ■■■■ changed files
server/plugins-available/mail_plugin_dkim.inc.php 14 ●●●● patch | view | raw | blame | history
server/plugins-available/mail_plugin_dkim.inc.php
@@ -119,8 +119,12 @@
        }
        /* dir for dkim-keys writeable? */
        $mail_config = $app->getconf->get_server_config($conf['server_id'], 'mail');
        if (isset($mail_config['dkim_path']) && (!empty($mail_config['dkim_path'])) && isset($data['new']['dkim_private']) && !empty($data['new']['dkim_private'])) {
        if (    isset($mail_config['dkim_path']) &&
                !empty($mail_config['dkim_path']) &&
                isset($data['new']['dkim_private']) &&
                !empty($data['new']['dkim_private']) &&
                $mail_config['dkim_path'] != '/'
        ) {
            if (!is_dir($mail_config['dkim_path'])) {
                $app->log('DKIM Path '.$mail_config['dkim_path'].' not found - (re)created.', LOGLEVEL_DEBUG);
                if($app->system->is_user('amavis')) { 
@@ -133,10 +137,12 @@
                }
                if(!empty($amavis_user)) {
                    mkdir($mail_config['dkim_path'], 0750, true);
                    exec('chown '.$amavis_user.' /var/lib/amavis/dkim');
                    exec('chown '.$amavis_user.' '.escapeshellarg($mail_config['dkim_path']));
                    unset($amavis_user);
                } else {
                    mkdir($mail_config['dkim_path'], 0755, true);
                    $app->log('No user amavis or vscan found - using root for '.$mail_config['dkim_path']
, LOGLEVEL_WARNING);
                }
            }
@@ -194,6 +200,8 @@
            if (!file_put_contents($key_file.'.public', $public_key) === false)
                $app->log('Saved DKIM Public to '.$key_domain.'.', LOGLEVEL_DEBUG);
            else $app->log('Unable to save DKIM Public to '.$key_domain.'.', LOGLEVEL_DEBUG);
        } else {
            $app->log('Unable to save DKIM Privte-key to '.$key_file.'.private', LOGLEVEL_ERROR);
        }
        return $success;
    }