diff --git a/data/web/inc/functions.dkim.inc.php b/data/web/inc/functions.dkim.inc.php index 24f296c8..72220ee1 100644 --- a/data/web/inc/functions.dkim.inc.php +++ b/data/web/inc/functions.dkim.inc.php @@ -1,6 +1,6 @@ 'danger', - 'log' => array(__FUNCTION__, $_action, $_data), + 'log' => array(__FUNCTION__, $_action, $_data, ), 'msg' => 'access_denied' ); return false; @@ -21,7 +21,7 @@ function dkim($_action, $_data = null) { if (!is_valid_domain_name($domain) || !is_numeric($key_length)) { $_SESSION['return'][] = array( 'type' => 'danger', - 'log' => array(__FUNCTION__, $_action, $_data), + 'log' => array(__FUNCTION__, $_action, $_data, $privkey), 'msg' => array('dkim_domain_or_sel_invalid', $domain) ); continue; @@ -29,7 +29,7 @@ function dkim($_action, $_data = null) { if ($redis->hGet('DKIM_PUB_KEYS', $domain)) { $_SESSION['return'][] = array( 'type' => 'danger', - 'log' => array(__FUNCTION__, $_action, $_data), + 'log' => array(__FUNCTION__, $_action, $_data, $privkey), 'msg' => array('dkim_domain_or_sel_invalid', $domain) ); continue; @@ -37,7 +37,7 @@ function dkim($_action, $_data = null) { if (!ctype_alnum($dkim_selector)) { $_SESSION['return'][] = array( 'type' => 'danger', - 'log' => array(__FUNCTION__, $_action, $_data), + 'log' => array(__FUNCTION__, $_action, $_data, $privkey), 'msg' => array('dkim_domain_or_sel_invalid', $domain) ); continue; @@ -62,7 +62,7 @@ function dkim($_action, $_data = null) { catch (RedisException $e) { $_SESSION['return'][] = array( 'type' => 'danger', - 'log' => array(__FUNCTION__, $_action, $_data), + 'log' => array(__FUNCTION__, $_action, $_data, $privkey), 'msg' => array('redis_error', $e) ); continue; @@ -76,7 +76,7 @@ function dkim($_action, $_data = null) { catch (RedisException $e) { $_SESSION['return'][] = array( 'type' => 'danger', - 'log' => array(__FUNCTION__, $_action, $_data), + 'log' => array(__FUNCTION__, $_action, $_data, $privkey), 'msg' => array('redis_error', $e) ); continue; @@ -84,14 +84,14 @@ function dkim($_action, $_data = null) { } $_SESSION['return'][] = array( 'type' => 'success', - 'log' => array(__FUNCTION__, $_action, $_data), + 'log' => array(__FUNCTION__, $_action, $_data, $privkey), 'msg' => array('dkim_added', $domain) ); } else { $_SESSION['return'][] = array( 'type' => 'danger', - 'log' => array(__FUNCTION__, $_action, $_data), + 'log' => array(__FUNCTION__, $_action, $_data, $privkey), 'msg' => array('dkim_domain_or_sel_invalid', $domain) ); continue; @@ -102,17 +102,17 @@ function dkim($_action, $_data = null) { if ($_SESSION['mailcow_cc_role'] != "admin") { $_SESSION['return'][] = array( 'type' => 'danger', - 'log' => array(__FUNCTION__, $_action, $_data), + 'log' => array(__FUNCTION__, $_action, $_data, $privkey), 'msg' => 'access_denied' ); return false; } $from_domain = $_data['from_domain']; - $from_domain_dkim = dkim('details', $from_domain); + $from_domain_dkim = dkim('details', $from_domain, true); if (empty($from_domain_dkim)) { $_SESSION['return'][] = array( 'type' => 'danger', - 'log' => array(__FUNCTION__, $_action, $_data), + 'log' => array(__FUNCTION__, $_action, $_data, $privkey), 'msg' => array('dkim_domain_or_sel_invalid', $from_domain) ); continue; @@ -128,14 +128,14 @@ function dkim($_action, $_data = null) { catch (RedisException $e) { $_SESSION['return'][] = array( 'type' => 'danger', - 'log' => array(__FUNCTION__, $_action, $_data), + 'log' => array(__FUNCTION__, $_action, $_data, $privkey), 'msg' => array('redis_error', $e) ); continue; } $_SESSION['return'][] = array( 'type' => 'success', - 'log' => array(__FUNCTION__, $_action, $_data), + 'log' => array(__FUNCTION__, $_action, $_data, $privkey), 'msg' => array('dkim_duplicated', $from_domain, $to_domain) ); } @@ -144,7 +144,7 @@ function dkim($_action, $_data = null) { if ($_SESSION['mailcow_cc_role'] != "admin") { $_SESSION['return'][] = array( 'type' => 'danger', - 'log' => array(__FUNCTION__, $_action, $_data), + 'log' => array(__FUNCTION__, $_action, $_data, $privkey), 'msg' => 'access_denied' ); return false; @@ -155,7 +155,7 @@ function dkim($_action, $_data = null) { if ($ssl_error = openssl_error_string()) { $_SESSION['return'][] = array( 'type' => 'danger', - 'log' => array(__FUNCTION__, $_action, $_data), + 'log' => array(__FUNCTION__, $_action, $_data, $privkey), 'msg' => array('private_key_error', $ssl_error) ); return false; @@ -172,7 +172,7 @@ function dkim($_action, $_data = null) { if (!is_valid_domain_name($domain)) { $_SESSION['return'][] = array( 'type' => 'danger', - 'log' => array(__FUNCTION__, $_action, $_data), + 'log' => array(__FUNCTION__, $_action, $_data, $privkey), 'msg' => array('dkim_domain_or_sel_invalid', $domain) ); return false; @@ -180,7 +180,7 @@ function dkim($_action, $_data = null) { if ($redis->hGet('DKIM_PUB_KEYS', $domain)) { $_SESSION['return'][] = array( 'type' => 'danger', - 'log' => array(__FUNCTION__, $_action, $_data), + 'log' => array(__FUNCTION__, $_action, $_data, $privkey), 'msg' => array('dkim_domain_or_sel_invalid', $domain) ); return false; @@ -188,7 +188,7 @@ function dkim($_action, $_data = null) { if (!ctype_alnum($dkim_selector)) { $_SESSION['return'][] = array( 'type' => 'danger', - 'log' => array(__FUNCTION__, $_action, $_data), + 'log' => array(__FUNCTION__, $_action, $_data, $privkey), 'msg' => array('dkim_domain_or_sel_invalid', $domain) ); return false; @@ -201,7 +201,7 @@ function dkim($_action, $_data = null) { catch (RedisException $e) { $_SESSION['return'][] = array( 'type' => 'danger', - 'log' => array(__FUNCTION__, $_action, $_data), + 'log' => array(__FUNCTION__, $_action, $_data, $privkey), 'msg' => array('redis_error', $e) ); return false; @@ -214,14 +214,14 @@ function dkim($_action, $_data = null) { catch (RedisException $e) { $_SESSION['return'][] = array( 'type' => 'danger', - 'log' => array(__FUNCTION__, $_action, $_data), + 'log' => array(__FUNCTION__, $_action, $_data, $privkey), 'msg' => array('redis_error', $e) ); return false; } $_SESSION['return'][] = array( 'type' => 'success', - 'log' => array(__FUNCTION__, $_action, $_data), + 'log' => array(__FUNCTION__, $_action, $_data, $privkey), 'msg' => array('dkim_added', $domain) ); return true; @@ -253,7 +253,7 @@ function dkim($_action, $_data = null) { $dkimdata['dkim_txt'] = 'v=DKIM1;k=rsa;t=s;s=email;p=' . $redis_dkim_key_data; } $dkimdata['dkim_selector'] = $redis->hGet('DKIM_SELECTORS', $_data); - if ($GLOBALS['SHOW_DKIM_PRIV_KEYS']) { + if ($GLOBALS['SHOW_DKIM_PRIV_KEYS'] || $privkey == true) { $dkimdata['privkey'] = base64_encode($redis->hGet('DKIM_PRIV_KEYS', $dkimdata['dkim_selector'] . '.' . $_data)); } else { @@ -266,7 +266,7 @@ function dkim($_action, $_data = null) { if ($_SESSION['mailcow_cc_role'] != "admin") { $_SESSION['return'][] = array( 'type' => 'danger', - 'log' => array(__FUNCTION__, $_action, $_data), + 'log' => array(__FUNCTION__, $_action, $_data, $privkey), 'msg' => 'access_denied' ); return false; @@ -282,7 +282,7 @@ function dkim($_action, $_data = null) { if ($_SESSION['mailcow_cc_role'] != "admin") { $_SESSION['return'][] = array( 'type' => 'danger', - 'log' => array(__FUNCTION__, $_action, $_data), + 'log' => array(__FUNCTION__, $_action, $_data, $privkey), 'msg' => 'access_denied' ); return false; @@ -291,7 +291,7 @@ function dkim($_action, $_data = null) { if (!is_valid_domain_name($domain)) { $_SESSION['return'][] = array( 'type' => 'danger', - 'log' => array(__FUNCTION__, $_action, $_data), + 'log' => array(__FUNCTION__, $_action, $_data, $privkey), 'msg' => array('dkim_domain_or_sel_invalid', $domain) ); continue; @@ -305,14 +305,14 @@ function dkim($_action, $_data = null) { catch (RedisException $e) { $_SESSION['return'][] = array( 'type' => 'danger', - 'log' => array(__FUNCTION__, $_action, $_data), + 'log' => array(__FUNCTION__, $_action, $_data, $privkey), 'msg' => array('redis_error', $e) ); continue; } $_SESSION['return'][] = array( 'type' => 'success', - 'log' => array(__FUNCTION__, $_action, $_data), + 'log' => array(__FUNCTION__, $_action, $_data, $privkey), 'msg' => array('dkim_removed', htmlspecialchars($domain)) ); }