From f382f091aa97d10056b4c433aa55298fece010d4 Mon Sep 17 00:00:00 2001
From: Marius Cramer <m.cramer@pixcept.de>
Date: Wed, 13 Aug 2014 07:16:30 -0400
Subject: [PATCH] Merge remote-tracking branch 'ispc/master'

---
 server/plugins-available/mail_plugin_dkim.inc.php |   20 +++++++++++++++++---
 1 files changed, 17 insertions(+), 3 deletions(-)

diff --git a/server/plugins-available/mail_plugin_dkim.inc.php b/server/plugins-available/mail_plugin_dkim.inc.php
index 0f0f6ef..a74c4b8 100644
--- a/server/plugins-available/mail_plugin_dkim.inc.php
+++ b/server/plugins-available/mail_plugin_dkim.inc.php
@@ -123,7 +123,21 @@
 
             if (!is_dir($mail_config['dkim_path'])) {
                 $app->log('DKIM Path '.$mail_config['dkim_path'].' not found - (re)created.', LOGLEVEL_DEBUG);
-                mkdir($mail_config['dkim_path'], 0750, true);
+				if($app->system->is_user('amavis')) { 
+					$amavis_user='amavis'; 
+				} elseif ($app->system->is_user('vscan')) { 
+					$amavis_user='vscan'; 
+				}
+				else { 
+					$amavis_user=''; 
+				}
+				if(!empty($amavis_user)) {
+					mkdir($mail_config['dkim_path'], 0750, true);
+					exec('chown '.$amavis_user.' /var/lib/amavis/dkim');
+					unset($amavis_user);
+				} else {
+					mkdir($mail_config['dkim_path'], 0755, true);
+				}
             }
 
 			if (!is_writeable($mail_config['dkim_path'])) {
@@ -132,7 +146,7 @@
 			}
 
 		} else {
-			$app->log('Unable to write DKIM settings; Check your config!', LOGLEVEL_ERROR);
+			$app->log('Unable to write DKIM settings - no DKIM-Path defined', LOGLEVEL_ERROR);
 			$check=false;
 		}
 		return $check;
@@ -173,7 +187,7 @@
 			$app->log('Saved DKIM Private-key to '.$key_file.'.private', LOGLEVEL_DEBUG);
 			$success=true;
 			/* now we get the DKIM Public-key */
-			exec('cat '.escapeshellarg($key_file.'.private').'|openssl rsa -pubout', $pubkey, $result);
+			exec('cat '.escapeshellarg($key_file.'.private').'|openssl rsa -pubout 2> /dev/null', $pubkey, $result);
 			$public_key='';
 			foreach($pubkey as $values) $public_key=$public_key.$values."\n";
 			/* save the DKIM Public-key in dkim-dir */

--
Gitblit v1.9.1