From 6faa009faad39be196c28d290ba89ff58d20172a Mon Sep 17 00:00:00 2001 From: Florian Schaal <florian@schaal-24.de> Date: Thu, 23 Oct 2014 04:30:40 -0400 Subject: [PATCH] dkim: fixed issue with php 5.3 --- interface/lib/classes/validate_dkim.inc.php | 8 ++++++-- 1 files changed, 6 insertions(+), 2 deletions(-) diff --git a/interface/lib/classes/validate_dkim.inc.php b/interface/lib/classes/validate_dkim.inc.php index 5a9b8c0..71fd8c5 100644 --- a/interface/lib/classes/validate_dkim.inc.php +++ b/interface/lib/classes/validate_dkim.inc.php @@ -72,13 +72,17 @@ * * @return boolean - true if $POST contains a real key-file */ - function validate_post($key, $value) { + function validate_post($key, $value, $dkim_strength) { + $value=str_replace(array("\n", "-----BEGIN RSA PRIVATE KEY-----", "-----END RSA PRIVATE KEY-----", " "), "", $value); switch ($key) { case 'public': if (preg_match("/(^-----BEGIN PUBLIC KEY-----)[a-zA-Z0-9\r\n\/\+=]{1,221}(-----END PUBLIC KEY-----(\n|\r)?$)/", $value) === 1) { return true; } else { return false; } break; case 'private': - if (preg_match("/(^-----BEGIN RSA PRIVATE KEY-----)[a-zA-Z0-9\r\n\/\+=]{1,850}(-----END RSA PRIVATE KEY-----(\n|\r)?$)/", $value) === 1) { return true; } else { return false; } + if ( $dkim_strength == 1024 ) $range = "{812,816}"; + if ( $dkim_strength == 2048 ) $range = "{1588,1592}"; + if ( $dkim_strength == 4096 ) $range = "{3132,3136}"; + if ( preg_match("/^[a-zA-Z0-9\/\+=]".$range."$/", $value ) === 1) return true; else return false; break; } } -- Gitblit v1.9.1