Marius Burkard
2016-04-20 4569cae57f127afd093794310ccd290d2d9fdf36
interface/lib/classes/validate_dkim.inc.php
@@ -29,7 +29,7 @@
 EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 @author Florian Schaal, info@schaal-24.de
 @copyrighth Florian Schaal, info@schaal-24.de
 @copyright Florian Schaal, info@schaal-24.de
 */
@@ -62,8 +62,10 @@
    */
   function check_template($field_name, $field_value, $validator) {
      $dkim=false;
      foreach($field_value as $field ) { if($field == 'DKIM') $dkim=true; }
      if ($dkim && $field_value[0]!='DOMAIN') return $this->get_error($validator['errmsg']);
      if(is_array($field_value) && !empty($field_value)){
         foreach($field_value as $field ) { if($field == 'DKIM') $dkim=true; }
         if ($dkim && $field_value[0]!='DOMAIN') return $this->get_error($validator['errmsg']);
      }
   }
@@ -73,7 +75,7 @@
    * @return boolean - true if $POST contains a real key-file
    */
   function validate_post($key, $value, $dkim_strength) {
      $value=str_replace("\n", "", $value);
      $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; }
@@ -82,7 +84,7 @@
         if ( $dkim_strength == 1024 ) $range = "{812,816}";
         if ( $dkim_strength == 2048 ) $range = "{1588,1592}";
         if ( $dkim_strength == 4096 ) $range = "{3132,3136}";
         if (preg_match("/^-----BEGIN RSA PRIVATE KEY-----[a-zA-Z0-9\/\+=]".$range."-----END RSA PRIVATE KEY-----$/", $value) === 1) return true; else return false;
         if ( preg_match("/^[a-zA-Z0-9\/\+=]".$range."$/", $value ) === 1) return true; else return false;
         break;
      }
   }